]> git.proxmox.com Git - grub2.git/blob - ChangeLog
* grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
[grub2.git] / ChangeLog
1 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
4
5 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6
7 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
8 reserved bytes.
9 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
10 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
11 Handle malloc error correctly.
12
13 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
14
15 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
16 blocks.
17
18 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
19
20 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
21 increment.
22
23 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
24
25 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
26 none is explicitly specified.
27
28 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
29
30 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
31 while reallocating.
32
33 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
34
35 Respect netmask from bootp/dhcp.
36
37 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
38 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
39 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
40 into ...
41 (grub_net_add_ipv4_local): ... this.
42 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
43 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
44 (grub_net_add_ipv4_local): New proto.
45
46 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
47
48 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
49 determining EFI memory map size.
50
51 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
52
53 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
54
55 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
56
57 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
58 when looking for partition separator.
59
60 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
61
62 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
63 Escape commas.
64
65 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
66
67 Restructure FAT driver to avoid hook in label reading as it hits a
68 GCC bug.
69
70 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
71 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
72 (grub_fat_iterate_dir): Split into ...
73 (grub_fat_iterate_init): ... this, ...
74 (grub_fat_iterate_fini): ... this, ...
75 (grub_fat_iterate_dir_next): ... and this. All users updated.
76
77 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
78
79 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
80 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
81 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
82 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
83 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
84 New fields last_key and last_key_time.
85 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
86 extended key-esc into extended key-extended key.
87
88 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
89
90 Avoid unnecessary memcpy of whole video buffer.
91
92 * grub-core/video/fb/video_fb.c (dirty): New struct.
93 (framebuffer): Add members current_dirty and previous_dirty.
94 (dirty): New function.
95 (grub_video_fb_fill_rect): Update dirty.
96 (common_blitter): Likewise.
97 (grub_video_fb_scroll): Likewise.
98 (doublebuf_blit_update_screen): Copy only dirty part.
99 (doublebuf_pageflipping_update_screen): Likewise.
100 (grub_video_fb_doublebuf_blit_init): Init dirty.
101 (doublebuf_pageflipping_init): Likewise.
102 (grub_video_fb_setup): Likewise.
103
104 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
105
106 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
107 poll rate.
108
109 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
110
111 Fix wildcard regexp dot and other special characters handling.
112 Reported by: Robert Mabee.
113
114 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
115 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
116 (split_path): Trigger expansion on '?'.
117 (unescape): New function.
118 (wildcard_expand): Unescape parts copied without globbing.
119 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
120 (grub_script_arglist_to_argv): Don't unescape expansions.
121
122 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
123
124 * include/grub/net.h (grub_net_card): New member txbufsize.
125 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
126 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
127 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
128 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
129 txbufsize.
130 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
131 compatible property to check for macs. Set
132 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
133 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
134 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
135 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
136 (send_card_buffer): Use txbuf.
137 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
138 nested function out of the parent while on it.
139
140 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
141
142 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
143 presence check.
144 (grub_ieee1275_net_config_real): Fix config pointer.
145
146 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
147
148 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
149 filename parsing to non-block devices.
150
151 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
152
153 * grub-core/kern/device.c (grub_device_open): Remove dead code.
154
155 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
156
157 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
158 All users updated.
159
160 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
161
162 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
163 UUID search command even if hints probing failed.
164
165 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
166
167 * po/POTFILES.in: Regenerated.
168
169 2012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
170
171 Speed-up video on fuloong.
172
173 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
174 New function.
175 (grub_pci_device_unmap_range): Handle non-cached address.
176 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
177 add direct_ptr.
178 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
179 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
180 (grub_video_sis315pro_set_active_render_target): Removed.
181 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
182 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
183 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
184 sync caches.
185 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
186 New proto.
187
188 2012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
189
190 * docs/grub.texi (Multi-boot manual config): New section.
191
192 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
193
194 Avoid slow read-back from VRAM.
195
196 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
197 Move from here ...
198 * grub-core/video/fb/video_fb.c
199 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
200 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
201 (front_target): Remove front_target. Add pages.
202 (grub_video_fb_init): Skip setting front_pages.
203 (grub_video_fb_fini): Likewise.
204 (doublebuf_blit_update_screen): Use pages.
205 (grub_video_fb_doublebuf_blit_init): Likewise.
206 (doublebuf_pageflipping_init): Allocate offscreen buffer.
207 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
208 (grub_video_fb_setup): Prefer doublebuffing.
209
210 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
211
212 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
213 gzio.
214
215 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
216
217 Add loongson tests.
218
219 * tests/util/grub-shell.in: Handle loongson.
220 * tests/partmap_test.in: Add loongson to the list of platform using ATA
221 drivers.
222 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
223 Reboot instead of shutdown if REBOOT is defined.
224
225 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
226
227 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
228 sized ports since unlike on real hardware qemu supports only 32-bit
229 regs.
230
231 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
232
233 * Makefile.util.def (grub-mkrescue): Enable on loongson.
234 * util/grub-mkrescue.in: Handle loongson.
235
236 2012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
237
238 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
239 Set is_part appropriately.
240 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
241 names. Canonicalize partition without full disk.
242
243 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
244
245 Revert usb-quiesce since it's wrong.
246
247 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
248 (grub_ofdisk_init): Don't do quiesce.
249
250 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
251
252 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
253 PowerMac workaround to Xserves as well.
254 Information supplied by: Benjamin Herrenschmidt.
255
256 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
257
258 Don't assume that beginning address is also the entry point on ppc.
259
260 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
261 (grub_linux_boot): Use linux_entry.
262 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
263 (grub_linux_load64): Likewise.
264
265 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
266
267 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
268
269 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
270
271 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
272 needlessly lose the console.
273
274 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
275
276 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
277 space.
278
279 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
280
281 Remove non-functional EFI grub_get_rtc. Put a better fatal message
282 than current grub_get_rtc() not implemented when booted with
283 coreboot without TSC.
284
285 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
286 Add machine/time.h to kernel headers on loongson.
287 * grub-core/Makefile.core.def (kernel): Remove
288 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
289 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
290 (grub_get_rtc): Likewise.
291 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
292 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
293 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
294 * grub-core/kern/i386/tsc.c (grub_tsc_init)
295 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
296 rather than installing known non-working time source.
297 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
298 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
299 * include/grub/time.h: Don't include machine/time.h.
300 * include/grub/efi/time.h: Removed.
301 * include/grub/i386/efi/time.h: Likewise.
302 * include/grub/i386/ieee1275/time.h: Likewise.
303 * include/grub/powerpc/ieee1275/time.h: Likewise.
304 * include/grub/sparc64/ieee1275/time.h: Likewise.
305 * include/grub/x86_64/efi/time.h: Likewise.
306
307 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
308
309 Remove dot on i and j when combining with above diacritics.
310
311 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
312 value.
313 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
314 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
315 with dotless variants when any combining above is present.
316
317 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
318
319 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
320 text and not binary.
321
322 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
323
324 Stop polling as soon as we have the packet we were waiting for.
325
326 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
327 All users updated.
328 * grub-core/net/arp.c (have_pending): New var.
329 (pending_req): Likewise.
330 (grub_net_arp_send_request): Fill pending_req and use have_pending as
331 stop indicator.
332 (grub_net_arp_receive): Set have_pending.
333 * grub-core/net/dns.c (recv_data): New field stop.
334 (recv_hook): Set stop.
335 (grub_net_dns_lookup): Init stop and use as stop condition.
336 * grub-core/net/http.c (http_establish): Use headers_recv as stop
337 condition.
338 * grub-core/net/net.c (grub_net_poll_cards): New argument
339 stop_condition. Stop when it goes true.
340 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
341 indicator.
342 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
343
344 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
345
346 Keep TX and RX buffers on EFI rather than always allocate new ones.
347
348 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
349 card. All users updated.
350 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
351 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
352 (get_card_packet): Likewise.
353 (grub_efinet_findcards): Init new fields.
354
355 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
356
357 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
358 compilation error on sparc64.
359
360 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
361
362 Use ITC on IA64 rather than broken routine based on daytime.
363
364 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
365 ia64.
366 (grub_get_rtc) [__ia64__]: Likewise.
367 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
368 (get_itc): New function.
369 (grub_rtc_get_time_ms): Likewise.
370 (grub_machine_init): Calibrate ITC.
371 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
372 Keep only on non-ia64. Don't export since it's broken and used only
373 if TSC is unavailable.
374
375 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
376
377 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
378 even if it's used.
379 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
380 Skip if parent is unused.
381
382 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
383
384 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
385
386 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
387
388 Fix wildcard escaping.
389
390 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
391 * grub-core/script/execute.c (wildcard_escape): .. to here.
392 Don't escape dot.
393 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
394 * grub-core/script/execute.c (wildcard_unescape): .. to here.
395 Don't escape dot.
396 * grub-core/script/execute.c (gettext_append): Always escape.
397 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
398 * grub-core/script/yylex.l: Don't cut away the escaping.
399 * tests/grub_script_echo1.in: Add tests with wildcard.
400
401 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
402
403 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
404 (ftdi_hw_configure): Likewise.
405 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
406 define.
407 (real_config): Handle 1.5 stop bits.
408 (pl2303_hw_configure): Likewise.
409
410 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
411
412 * Makefile.am: Add ppc linux bootcheck.
413 * grub-core/tests/boot/linux-ppc.cfg: New file.
414 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
415
416 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
417
418 * tests/grub_script_expansion.in: Skip network protocols.
419
420 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
421
422 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
423
424 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
425
426 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
427 --rom-directory.
428 Add -graft-points.
429
430 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
431
432 ESCC serial driver for conducting sautomated tests in qemu.
433 Not tested on real hardware.
434
435 * include/grub/serial.h (grub_serial_port): New field escc_desc.
436 * grub-core/term/ieee1275/escc.c: New file.
437 * grub-core/Makefile.core.def (escc): New module.
438
439 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
440
441 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
442 invalid on error.
443 (serial_hw_fetch): Don't read invalid handle.
444 (serial_hw_put): Don't write into invalid handle.
445
446 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
447
448 Add a 1.5 stop bits value.
449
450 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
451 * include/grub/serial.h (grub_serial_stop_bits_t): Add
452 GRUB_SERIAL_STOP_BITS_1_5.
453
454 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
455
456 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
457 value rather than let it uninited.
458
459 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
460
461 * grub-core/commands/wildcard.c (+check_file): New function.
462 (wildcard_expand): Don't expand to non-existing files, expand with
463 suffix and not attempt to expand if not needed.
464
465 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
466
467 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
468 out of partitions containing other partitions.
469
470 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
471
472 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
473 on some qemu versions with GRUB.
474
475 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
476 define.
477 (grub_openbsd_bootarg_pcibios): New struct.
478 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
479 Add PCIINFO.
480
481 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
482
483 * tests/util/grub-shell.in: Trim firmware output on EFI.
484
485 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
486
487 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
488 and coreboot since it's already in kernel.
489
490 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
491
492 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
493 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
494 to here. New return value start. All users updated.
495 Recursively scan linear mappings.
496 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
497 proto.
498 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
499 Use grub_util_get_dm_node_linear_info.
500 * util/getroot.c (convert_system_partition_to_system_disk): Use
501 grub_util_info rather than grub_dprintf.
502 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
503
504 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
505
506 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
507
508 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
509 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
510
511 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
512
513 * include/grub/types.h (grub_set_unaligned64): New function.
514 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
515 (setup): Likewise.
516
517 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
518
519 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
520 (grub_ofdisk_fini): Quiesce USB devices.
521
522 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
523
524 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
525 caches.
526
527 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
528
529 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
530
531 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
532
533 * grub-core/disk/pata.c (grub_pata_pio_read)
534 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
535 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
536
537 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
538
539 Extend automated tests to qemu-mips.
540
541 * Makefile.am: reorganise tests and enable qemu-mips.
542 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
543 * grub-core/tests/boot/linux.init-mips.S: New file.
544 * tests/partmap_test.in: Handle ata0 disks.
545 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
546 non-pc i386.
547
548 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
549
550 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
551 ia64.
552 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
553 quotes while on it.
554
555 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
556
557 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
558 (grub_halt): Likewise.
559 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
560
561 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
562
563 * grub-core/term/serial.c (grub_serial_register)
564 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
565 the behaviour in line with x86 platforms.
566
567 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
568
569 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
570 (grub_ata_strncpy): Likewise.
571 (grub_ata_identify): Add missing byteswaps.
572
573 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
574
575 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
576 byte-swap.
577 (screen_read_char): Likewise.
578 (grub_vga_text_cls): Likewise.
579
580 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
581
582 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
583 filenames.
584 (make_file_path): Likewise.
585
586 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
587
588 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
589 machines.
590 Tested by: Paulo Flabiano Smorigo.
591 Crucial information about API supplied by: Coleen <Last name unknown>.
592 Reviewed by: Coleen <Last name unknown>.
593
594 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
595
596 * util/grub-mkimage.c: Disable -Wcast-align.
597
598 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
599
600 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
601 as they are fatal.
602
603 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
604
605 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
606
607 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
608
609 * util/grub-probe.c (escape_of_path): Fix double free.
610
611 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
612
613 * grub-core/commands/videoinfo.c (hook): Show pitch.
614
615 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
616
617 * util/grub.d/20_linux_xen.in: Skip xen-syms.
618
619 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
620
621 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
622 (probe): Add ieee1275 to OFW devices.
623
624 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
625
626 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
627
628 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
629
630 Handle IBM OFW path.
631
632 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
633 available.
634 (of_path_of_scsi): Handle vdevice.
635
636 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
637
638 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
639 Allocate in multiples of 16 to avoid adding a few bytes free region the
640 windows bugs upon.
641
642 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
643
644 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
645 Allocate in multiples of 16 to avoid adding a few bytes free region the
646 windows bugs upon.
647 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
648
649 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
650
651 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
652 resolutions.
653 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
654 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
655
656 2012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
657
658 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
659
660 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
661
662 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
663 resulted in \\ at the end of the line.
664
665 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
666
667 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
668 (grub_parser_cmdline_state): Likewise.
669 (grub_parser_split_cmdline): Likewise.
670
671 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
672
673 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
674 /dev/root and /dev/dm-*.
675
676 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
677
678 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
679 fix partially stale display.
680
681 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
682
683 * grub-core/normal/menu_entry.c (backward_char): Use right line for
684 substraction.
685
686 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
687
688 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
689 Fix MBR remapping workaround.
690 (grub_util_biosdisk_read) [__linux__]: Likewise.
691
692 2012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
693
694 * util/grub-install.in: Check for ieee1275 and not ieee1276.
695
696 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
697
698 * configure.ac: Bump to beta6.
699
700 2012-05-31 Christer Weinigel <christer@weinigel.se>
701
702 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
703
704 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
705
706 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
707 (grub_cmd_linux): Likewise.
708
709 2012-05-31 Christer Weinigel <christer@weinigel.se>
710
711 Fix EHCI low-speed.
712
713 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
714 (GRUB_EHCI_MULT_TWO): Likewise.
715 (GRUB_EHCI_MULT_THREE): Likewise.
716 (GRUB_EHCI_CMASK_MASK): New enum value.
717 (GRUB_EHCI_SMASK_MASK): Likewise.
718 (GRUB_EHCI_CMASK_OFF): Likewise.
719 (GRUB_EHCI_SMASK_OFF): Likewise.
720 (grub_ehci_pci_iter): Enable periodic schedule.
721 (grub_ehci_parse_notrun): Likewise.
722 (grub_ehci_restore_hw): Likewise.
723 (grub_ehci_setup_qh): Set flags for low speed transfers.
724 (grub_ehci_find_qh): Use periodic list for low speed.
725 (grub_ehci_setup_transfer): Check periodic queue as well.
726 (grub_ehci_check_transfer): Likewise.
727 (grub_ehci_cancel_transfer): Cancel periodic transfer.
728
729 2012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
730
731 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
732 parameter is used.
733
734 2012-05-31 Peter Jones <pjones@redhat.com>
735
736 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
737 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
738 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
739
740 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
741
742 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
743 uninited variable. Allocate at least setup_sects.
744
745 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
746
747 Fix handling of EFI with big memory maps.
748
749 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
750 (real_mode_mem): Likewise.
751 (real_mode_target): Likewise.
752 (real_mode_pages): Likewise.
753 (prot_mode_pages): Likewise.
754 (linux_params): New var.
755 (linux_cmdline): Likewise.
756 (free_pages): Don't set real mode variables.
757 (allocate_pages): Don't allocate real mode memory.
758 (grub_e820_add_region): Remove the limit.
759 (grub_linux_boot): Allocate and copy real mode memory.
760 (grub_linux_unload): Free linux_cmdline.
761 (grub_cmd_linux): Use temporary storage for parameters.
762 (grub_cmd_initrd): Likewise.
763 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
764 (linux_kernel_params): Make it 1K big.
765
766 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
767
768 * Makefile.util.def: Remove -Wno-format.
769 * grub-core/Makefile.core.def: Likewise.
770
771 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
772
773 * tests/cmp_unit_test.c: Add missing failure message.
774 * tests/example_unit_test.c: Likewise.
775 * tests/printf_unit_test.c: Likewise.
776
777 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
778
779 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
780 relaxation of protective MBR requirements.
781
782 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
783
784 * configure.ac: Add condition for COND_HOST_XNU.
785 * Makefile.util.def (10_xnu): New script.
786 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
787
788 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
789
790 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
791 objconv bug.
792
793 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
794
795 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
796 Binary on other platforms stays identical.
797
798 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
799
800 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
801 Apple.
802
803 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
804
805 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
806
807 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
808
809 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
810 rather than defining size_t ourselves to avoid conflict.
811
812 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
813
814 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
815 initialisation to avoid __bzero reference.
816
817 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
818
819 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
820 version.
821 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
822 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
823 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
824 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
825 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
826
827 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
828
829 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
830 * grub-core/kern/misc.c: Likewise.
831 * grub-core/loader/i386/xnu.c: Likewise.
832 * include/grub/i386/tsc.h: Likewise.
833 * include/grub/symbol.h: Likewise.
834
835 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
836
837 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
838 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
839 on older compiler.
840
841 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
842
843 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
844 Implement Apple flavour.
845 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
846
847 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
848
849 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
850 (memmove) [__APPLE__]: Likewise.
851 (memcpy) [__APPLE__]: Likewise.
852 (memset) [__APPLE__]: Likewise.
853 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
854 (memmove) [__APPLE__]: Likewise.
855 (memcpy) [__APPLE__]: Likewise.
856 (memset) [__APPLE__]: Likewise.
857
858 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
859
860 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
861 dependency discard.
862
863 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
864
865 * grub-core/normal/main.c (read_config_file): Provide config_file and
866 config_directory.
867 * util/grub.d/41_custom.in: Use config_directoy when available.
868
869 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
870
871 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
872 (grub_bfs_dir): Likewise.
873
874 2012-05-27 Peter Jones <pjones@redhat.com>
875
876 The old code gives arguments to a printf function which can't work
877 correctly, and the compiler complains.
878
879 * grub-core/tests/example_functional_test.c (example_test): Add
880 missing text.
881 * grub-core/tests/lib/test.c (add_failure): Rewrite.
882 * include/grub/test.h (grub_test_assert_helper): New declaration.
883 (grub_test_assert): Use grub_test_assert_helper.
884
885 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
886
887 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
888 (exfctest): ... this to avoid overlong filenames.
889 All users updated.
890
891 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
892
893 Handle "." and ".." on squashfs.
894
895 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
896 Make inode numbers into stack.
897 (grub_squash_read_symlink): Use stack.
898 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
899 (make_root_node): Fill stack.
900 (grub_squash_open): Use stack.
901
902 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
903
904 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
905 freeing.
906
907 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
908
909 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
910 stderr on test calls.
911
912 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
913
914 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
915
916 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
917
918 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
919
920 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
921
922 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
923 "..".
924
925 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
926
927 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
928 (grub_hfsplus_iterate_dir): Add "." and "..".
929
930 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
931
932 * grub-core/fs/cpio.c (canonicalize): Handle "..".
933 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
934
935 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
936
937 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
938 (find_path): Handle "." and "..".
939
940 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
941
942 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
943 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
944 (grub_affs_iterate_dir): Handle hardlinks.
945
946 2012-05-26 Matthew Garrett <mjg@redhat.com>
947
948 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
949 (grub_efi_console_fini): Likewise.
950 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
951 (grub_video_gop_fill_mode_info): Rename to ...
952 (grub_video_gop_fill_real_mode_info): ... this.
953 (grub_video_gop_fill_mode_info): New function.
954 (grub_video_gop_setup): Setup double framebuffer.
955 (grub_video_gop_get_info_and_fini): Use original framebuffer.
956 Free offscreen.
957 (grub_video_gop_swap_buffers): Copy framebuffer.
958 (grub_video_gop_fini): Free offscreen buffer.
959 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
960 New enum.
961 (grub_efi_gop_blt_pixel): New struct.
962
963 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
964
965 * gentpl.py: Remove error disabling for objconv.
966
967 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
968
969 * configure.ac: Remove -Wunitialized as it's not available on older
970 compilers.
971
972 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
973
974 Fix extent overflow comparator.
975
976 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
977 (grub_hfsplus_read_block): Set type.
978 (grub_hfsplus_cmp_extkey): Compare type.
979
980 2012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
981
982 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
983
984 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
985
986 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
987 than 0.
988
989 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
990
991 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
992 (dejavu_bold_14.pf2): New target.
993
994 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
995
996 * configure.ac: Fix djvu font detection.
997
998 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
1001 ext* instead of ext2.
1002
1003 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1004
1005 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
1006 name with \0.
1007
1008 2012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
1009
1010 * docs/grub-dev.texi: Remove dot from .png.
1011
1012 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1013
1014 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
1015 protective entry in any slot.
1016 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
1017 if protective entry is found in any slot.
1018
1019 Protective entry in non-first slot make no sense but is a widespread
1020 brain damage.
1021
1022 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1023
1024 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
1025
1026 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1027
1028 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
1029 with old reiserfs.
1030 (grub_reiserfs_open): Don't free root.
1031
1032 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1033
1034 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
1035 after freeing for safety.
1036
1037 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1038
1039 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
1040 Reported by: Jordan Uggla.
1041
1042 2012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
1043
1044 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
1045 actual implementation. Specifically, clarify that the grub menu will
1046 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
1047 passed.
1048
1049 2012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
1050
1051 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
1052 of r0.
1053
1054 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1055
1056 Remove unjustified hard dependency of normal.mod on gfxterm.
1057
1058 * include/grub/term.h (grub_term_output): New member fullscreen.
1059 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
1060 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
1061 (grub_gfxterm): Set .fullscreen.
1062 * grub-core/normal/menu.c (menu_init): Use fullscreen.
1063 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
1064
1065 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1066
1067 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
1068 mentioning possible problems with non-ASCII (non-compliant) ISOs.
1069 Mention case-insensitive AFFS, SFS and JFS.
1070
1071 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1072
1073 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
1074
1075 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1076
1077 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
1078 a bad FS.
1079
1080 2012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1081
1082 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
1083 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
1084
1085 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1086
1087 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
1088 (grub_jfs_mount): Fill caseins.
1089 (grub_jfs_find_file): Respect caseins.
1090
1091 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1092
1093 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
1094 through UTF-16.
1095
1096 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1097
1098 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
1099 New argument origpath. All users updated.
1100
1101 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1102
1103 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
1104 (read_attr): Ensure that we read start of possibly compressed block.
1105
1106 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1107
1108 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
1109 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
1110 All users updated.
1111
1112 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1113
1114 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
1115 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
1116 (dejavu.pf2): Replace with ...
1117 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
1118 this.
1119
1120 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1121
1122 * util/grub.d/20_linux_xen.in: Add missing line.
1123
1124 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1125
1126 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
1127 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
1128 (grub_utf16_to_utf8): Likewise.
1129
1130 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1131
1132 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
1133 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
1134 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1135 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
1136 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
1137 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
1138
1139 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1140
1141 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
1142 a bad FS.
1143
1144 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1145
1146 * grub-core/fs/udf.c (read_string): Bail out on size=0.
1147 (grub_udf_read_symlink): Handle read_string failure.
1148
1149 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1150
1151 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
1152 comment.
1153
1154 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1155
1156 Fix handling of UDF symlinks.
1157
1158 * grub-core/fs/udf.c (read_string): New argument outbuf.
1159 All users updated.
1160 (grub_ufs_read_symlink): Rename to ...
1161 (grub_udf_read_symlink): ... this. All users updated.
1162 Handle symlinks with more than one component.
1163
1164 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1165
1166 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
1167 symlinks. Replace leading colon with a slash.
1168
1169 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1170
1171 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
1172 filename.
1173
1174 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1175
1176 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
1177 match in inner node.
1178
1179 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1180
1181 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
1182 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
1183 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
1184 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
1185 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
1186 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
1187 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
1188 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
1189 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
1190
1191 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1192
1193 Use grub-probe and not cmp to check that disk is empty.
1194
1195 * util/grub-install.in: Use grub-probe for zero-check.
1196 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
1197 (probe): Handle PRINT_ZERO_CHECK.
1198 (argp_parser): Handle -t zero_check.
1199
1200 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1201
1202 Flush block cache on adding disk to device map.
1203
1204 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
1205 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
1206 adding.
1207 (read_device_map): Likewise.
1208 (open_device): Flush on opening.
1209
1210 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1211
1212 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
1213 (handle_symlink): Fix off-by-one error.
1214 Canonicalize the target.
1215 (grub_cpio_dir): Canonicalize the name.
1216 Fix memory leak.
1217 Set directory.
1218 (grub_cpio_open): Canonicalize the name.
1219
1220 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1221
1222 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
1223 handling.
1224
1225 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1226
1227 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
1228 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
1229
1230 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1231
1232 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
1233 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
1234 All users updated.
1235
1236 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1237
1238 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
1239 counterpart.
1240
1241 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 Fix UFS1 big file support.
1244
1245 * grub-core/fs/ufs.c (INODE): Removed.
1246 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
1247 64-bit.
1248 (INODE_MODE): Simplify.
1249 (grub_ufs_inode): Use uint64_t for size and not int64_t.
1250 (grub_ufs_lookup_symlink): Don't use INODE.
1251
1252 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1253
1254 Fix minixfs with non-power-of-two blocks since it's supported by minix.
1255
1256 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
1257 (grub_minix_data): Replace log_block_size with block_size.
1258 (grub_minix_read_file): Use block_size but avoid 64-bit division.
1259 (grub_minix_mount): Fill block_size.
1260
1261 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1262
1263 * configure.ac: Bump to beta5.
1264
1265 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1266
1267 Fix wrapped HFS+ handling.
1268
1269 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
1270 blocks_start. All users updated.
1271 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
1272 wrapping offset.
1273 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
1274
1275 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1276
1277 Fix long symlinks on reiserfs.
1278
1279 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
1280 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
1281 (grub_reiserfs_iterate_dir): Save size for non-directories.
1282 (grub_reiserfs_open): Don't reread stat block as we already know the
1283 size.
1284 (grub_reiserfs_read): Split into...
1285 (grub_reiserfs_read_real): ... and ...
1286 (grub_reiserfs_read): ...this.
1287
1288 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1289
1290 Fix non-indexed JFS.
1291
1292 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
1293 (grub_jfs_data): New field namecomponentlen.
1294 (grub_jfs_mount): Fill namecomponentlen.
1295 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
1296
1297 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1298
1299 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
1300 * tests/grub_script_echo1.in: Add tests.
1301
1302 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1303
1304 * util/grub-install.in: Ignore empty devicetree directory.
1305
1306 2012-05-08 Bean <bean123ch@gmail.com>
1307
1308 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
1309 All users updated.
1310 (free_rsm): Free header as well.
1311 (free_old_fragments): Fix memory leak.
1312 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
1313 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
1314 (destroy_pq): Likewise.
1315 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
1316
1317 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1318
1319 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
1320 resulting hash as a precaution.
1321
1322 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1323
1324 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
1325 '_' in variable names.
1326 * grub-core/net/net.c (grub_net_network_level_interface_register):
1327 Likewise.
1328
1329 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1330
1331 Fix AFFS with non-512B blocks.
1332
1333 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
1334 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
1335 (grub_affs_data): Replace blocksize with log_blocksize.
1336 (grub_affs_read_block): Fix non-512B blocks.
1337 (grub_affs_read_symlink): Likewise.
1338 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
1339 (grub_affs_read): Fix non-512B blocks.
1340 (grub_affs_label): Likewise.
1341 (grub_affs_mtime): Likewise.
1342 (grub_affs_mount): Fix block detection routine.
1343
1344 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1345
1346 Add filesystem mtime to AFFS.
1347
1348 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
1349 (aftime2ctime): New function.
1350 (grub_affs_dir): Use aftime2ctime.
1351 (grub_affs_label): Fix return value.
1352 (grub_affs_mtime): New function.
1353 (grub_affs_fs): Add mtime.
1354
1355 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1356
1357 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
1358 UTF-8.
1359
1360 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1361
1362 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
1363 UTF-8.
1364
1365 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1366
1367 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
1368
1369 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1370
1371 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
1372 flags.
1373 (FLAGS_CASE_SENSITIVE): New enum value.
1374 (cache_entry): New struct.
1375 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
1376 cache_size and cache.
1377 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
1378 Add log_blocksize and fshelp_flags.
1379 (grub_sfs_read_extent): Handle non-512 blocks.
1380 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
1381 (grub_sfs_read_file): Handle non-512 blocks.
1382 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
1383 fshelp_flags.
1384 (grub_sfs_read_symlink): Handle non-512 blocks.
1385 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
1386 (grub_sfs_dir): Free cache.
1387 (grub_sfs_close): Likewise.
1388
1389 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1390
1391 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
1392 filesystems.
1393
1394 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1395
1396 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
1397
1398 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1399
1400 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
1401
1402 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1403
1404 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
1405 (grub_sfs_read_extent): Likewise.
1406 (grub_sfs_read_block): Likewise.
1407 (grub_sfs_mount): Likewise.
1408 (grub_sfs_iterate_dir): Likewise.
1409 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
1410 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
1411
1412 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1413
1414 Fix errors on compressed NTFS with 512B clusters.
1415
1416 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
1417 types.
1418 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
1419 not 0.
1420 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
1421 Relax check for inline extents.
1422 (ntfscomp): Return correct -1 on error and not 0.
1423
1424 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1425
1426 * util/grub-install.in: Fix handling of prefix containing spaces.
1427
1428 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1429
1430 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
1431 (grub_squash_read_data): Fix offset byte-swapping.
1432
1433 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1434
1435 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
1436 per common usage and preffered in several parts of code.
1437 (grub_memcmp): Likewise.
1438 (grub_strncmp): Likewise.
1439 * include/grub/misc.h (grub_strcasecmp): Likewise.
1440 (grub_strncasecmp): Likewise.
1441 * Makefile.util.def (cmp_test): New test.
1442 (grub_script_strcmp): Likewise.
1443 * tests/cmp_unit_test.c: New file.
1444 * tests/grub_script_strcmp.in: Likewise.
1445 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
1446
1447 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1448
1449 * include/grub/pci.h: Move enums into no-asm part.
1450
1451 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1452
1453 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
1454
1455 2012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
1456
1457 * util/getroot.c (find_hurd_root_device): Try to make error message
1458 and comments to translators clearer.
1459
1460 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1461
1462 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
1463
1464 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1465
1466 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
1467 btrfs.
1468
1469 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1470
1471 * docs/grub.cfg: Update.
1472
1473 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1474
1475 * docs/grub.texi (PXE): Remove not present variables.
1476
1477 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1478
1479 * grub-core/net/net.c (defserver_set_env): New function.
1480 (defserver_get_env): Likewise.
1481 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
1482
1483 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1484
1485 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
1486 entries.
1487
1488 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1489
1490 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
1491 * grub-core/kern/emu/hostdisk.c: Likewise.
1492
1493 2012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
1494
1495 Handle hurd userspace partitions.
1496
1497 * util/getroot.c (find_hurd_root_device): New function.
1498 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
1499
1500 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1501
1502 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
1503 names.
1504 Reported by: Bastian Blank.
1505
1506 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1507
1508 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
1509 crossing page boundary.
1510
1511 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1512
1513 Fix B-tree search in BFS, especially in presence of non-ASCII
1514 characters.
1515
1516 * grub-core/fs/bfs.c (bfs_strcmp): New function.
1517 (find_in_b_tree): Use standard bsearch + btree algorithm.
1518
1519 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1520
1521 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
1522 and so on.
1523
1524 2012-05-03 Matthew Garrett <mjg@redhat.com>
1525 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1526
1527 Suspend broadcom cards in order to stop their DMA.
1528
1529 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
1530 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
1531 (pci): Don't build on x86 EFI.
1532 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
1533 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
1534 New function.
1535 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
1536 stop_broadcom if running on EFI.
1537 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
1538 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
1539 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
1540 (grub_pci_find_capability): New proto.
1541
1542 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1543
1544 * docs/grub.texi: Remove dot from the extension as it apparently
1545 doesn't work with some makeinfo versions.
1546
1547 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1548
1549 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
1550 with GRUB expectance.
1551
1552 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1553
1554 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
1555
1556 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1557
1558 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
1559 zero after directory block since last entry may be not 0-terminated if
1560 it ends on block boundary. Use continue instead of if spanning whole
1561 loop.
1562
1563 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1564
1565 Support 4K sectors UDF inline files.
1566
1567 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
1568 (grub_udf_extended_file_entry): Likewise.
1569 (grub_fshelp_node): Name the anonymous union. Put block at the end.
1570 All users updated.
1571 (get_fshelp_size): New function.
1572 (grub_udf_read_icb): Read whole block.
1573 (grub_udf_iterate_dir): Likewise.
1574 (grub_udf_dir): Likewise.
1575 (grub_udf_open): Likewise.
1576
1577 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1578
1579 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
1580
1581 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1582
1583 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
1584 inline symlinks in addition to workaround.
1585
1586 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1587
1588 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
1589
1590 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1591
1592 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
1593
1594 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1595
1596 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
1597
1598 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1599
1600 Fix reiserfs big seek times.
1601
1602 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
1603 exact. All users updated.
1604 (grub_reiserfs_read): Use nearest btree search for seeking.
1605 Fix return value on error.
1606
1607 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1608
1609 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
1610 entries.
1611 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
1612 * docs/grub.texi: Update menuentry description.
1613
1614 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1615
1616 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
1617 crash when embedding onto filesystem.
1618
1619 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1620
1621 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
1622 name.
1623
1624 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1625
1626 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
1627
1628 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1629
1630 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
1631 commit.
1632
1633 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1634 2012-05-01 Bean <bean123ch@gmail.com>
1635
1636 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
1637
1638 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1639
1640 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
1641 Special behaviour for len = 0 to read whole file isn't used anywhere and
1642 can cause buffer ovewrflows in several places.
1643
1644 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1645
1646 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
1647
1648 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1649
1650 Handle RAIDZ on non-512B sectors.
1651
1652 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
1653 max_children_ashift.
1654 (fill_vdev_info_real): Fill max_children_ashift.
1655 (read_device): Use max_children_ashift.
1656
1657 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1658
1659 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
1660
1661 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1662
1663 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
1664 disk names.
1665 * docs/grub.texi: Update device.map parts.
1666
1667 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1668
1669 Don't scan into non-diskfilter devices having diskfilter names.
1670
1671 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
1672 (scan_disk): New argument accept_diskfilter. Fix recursion depth
1673 handling.
1674 (scan_disk_hook): New function.
1675
1676 2012-04-29 Bean <bean123ch@gmail.com>
1677
1678 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
1679 allocation.
1680
1681 2012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
1682
1683 * configure.ac: Detect starfield theme font path
1684 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
1685
1686 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1687
1688 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
1689 geometry on serial consoles.
1690
1691 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1692
1693 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
1694 because of network consoles.
1695
1696 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1697
1698 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
1699 handling.
1700
1701 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1702
1703 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
1704 falls on Q syndrom.
1705
1706 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1707
1708 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
1709 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
1710
1711 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1712
1713 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
1714 Allocate at lest 8192 for temporary buffer as required for lzo.
1715
1716 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1717
1718 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
1719 to cluster_bits, since it's already added in.
1720 (grub_fat_read_data): Likewise.
1721
1722 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1723
1724 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
1725 as long as cluster size is multiple of 512 bytes.
1726
1727 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
1728
1729 * util/grub-mkrescue.in: Fix locale directory.
1730
1731 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
1732
1733 * grub-core/kern/emu/hostdisk.c (map): Make static.
1734
1735 2012-04-23 Bean <bean123ch@gmail.com>
1736
1737 * util/grub-fstest.c (fstest): Add missing break.
1738
1739 2012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
1740
1741 Fix hurd build.
1742
1743 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
1744 not define nr variable.
1745 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
1746 find_root_devices_from_poolname, find_root_devices_from_libzfs,
1747 grub_find_device): Do not define.
1748
1749 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1750
1751 Fix kfreebsd compile and behaviour.
1752
1753 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
1754 format-security.
1755 * util/getroot.c: Fix wait.h include.
1756 (grub_guess_root_devices): Error if grub_find_device fails.
1757 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
1758 (grub_util_get_dev_abstraction): Likewise.
1759 (grub_util_pull_device): Likewise.
1760 (grub_util_get_grub_dev): Likewise.
1761 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
1762
1763 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1764
1765 Fix and unify wholedisk detection.
1766
1767 * util/getroot.c (convert_system_partition_to_system_disk): New argument
1768 is_part. All users updated.
1769 (device_is_wholedisk): Removed.
1770 (grub_util_biosdisk_get_grub_dev): Use is_part.
1771
1772 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1773
1774 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
1775 mode.
1776
1777 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1778
1779 * configure.ac: Bump to beta4.
1780
1781 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1782
1783 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
1784 --fs-uuid --set UUID syntax.
1785
1786 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1787
1788 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
1789 disunification.
1790
1791 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1792
1793 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
1794
1795 2012-04-18 Mads Kiilerich <mads@kiilerich.com>
1796
1797 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
1798
1799 2012-04-18 Mike Gilbert <floppym@gentoo.org>
1800
1801 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
1802
1803 2012-04-18 Bean <bean123ch@gmail.com>
1804
1805 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
1806 place.
1807
1808 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1809
1810 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
1811 users updated.
1812 (grub_util_biosdisk_read): Handle Linux partitions not exactly
1813 corresponding to GRUB partitions.
1814 (grub_util_biosdisk_write): Likewise.
1815
1816 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1817
1818 Scan mdraid before LVM.
1819
1820 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
1821 (grub_diskfilter_register_front): ... this.
1822 (grub_diskfilter_register_back): New function.
1823 All users of grub_diskfilter_register updated.
1824
1825 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1826
1827 * util/grub-install.in: Fix an automatic target detection bug.
1828
1829 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1830
1831 * util/grub-install.in: New option --efi-directory.
1832
1833 2012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1834
1835 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
1836 boot services if we have no other choice.
1837
1838 2012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1839
1840 * util/grub-mknetdir.in: Rename --override-directory to --directory and
1841 document it.
1842 * tests/util/grub-shell.in: Update to --directory.
1843
1844 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1845
1846 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
1847
1848 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1849
1850 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
1851 (grub_minix_read_file): Likewise.
1852 (grub_minix_read_inode): Likewise.
1853 (grub_minix_find_file): Likewise.
1854 (grub_minix_dir): Likewise.
1855
1856 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1857
1858 * util/grub-setup.c (setup): Fix partition handling and blocklist
1859 check.
1860
1861 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1862
1863 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
1864 redundant buggy overlap check.
1865
1866 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1867
1868 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
1869 and grub-mknetdir.
1870
1871 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1872
1873 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
1874 kh.loadflags on pre-2.00 kernels.
1875
1876 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1877
1878 Terminate UNDI and PXE before launching the payload to avoid problems
1879 with DMA.
1880
1881 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
1882 (grub_loader_flags): ... this. All users updated.
1883 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
1884 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
1885 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
1886 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
1887 function.
1888 (grub_pxe_restore): Likewise.
1889 (fini_hnd): New var.
1890 (GRUB_MOD_INIT): Register shutdown hook.
1891 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
1892 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
1893 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
1894 (grub_loader_set): Rename second argument to flags.
1895
1896 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1897
1898 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
1899 written bytes.
1900 (grub_get_num_of_utf8_bytes): New function.
1901 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
1902 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
1903 executing it.
1904 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
1905 (grub_ucs4_to_utf8): Change return type.
1906
1907 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1908
1909 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
1910 warning.
1911 * grub-core/fs/bfs.c (hop_level): Likewise.
1912 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
1913
1914 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1915
1916 * grub-core/lib/adler32.c: Recode due to license unclearness.
1917
1918 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1919
1920 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
1921 (test_header): Likewise.
1922
1923 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1924
1925 Fix --help formatting.
1926
1927 * util/grub-mkconfig_lib.in (print_option_help): New function.
1928 (grub_fmt): Likewise.
1929 * util/grub-install.in: Use print_option_help and grub_fmt.
1930 * util/grub-kbdcomp.in: Likewise.
1931 * util/grub-mkconfig.in: Likewise.
1932 * util/grub-mknetdir.in: Likewise.
1933 * util/grub-mkrescue.in: Likewise.
1934 * util/grub-mkstandalone.in: Likewise.
1935 * util/grub-reboot.in: Likewise.
1936 * util/grub-set-default.in: Likewise.
1937 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1938
1939 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1940
1941 * linguas.sh: Remove autogenerated *.po.
1942
1943 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1944
1945 * po/README: Move language fetcing to ...
1946 * linguas.sh: ... here.
1947 * po/README: Point to linguas.sh.
1948
1949 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1950
1951 * po/README: Exclude ko.po due to disclaimer problems.
1952
1953 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1954
1955 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
1956 len = 0.
1957 (grub_gettext_translate_real): Handle 0th string.
1958 (grub_gettext_translate): Ensure that "" isn't translated.
1959
1960 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1961
1962 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
1963 TRANSLATORS comment.
1964 (grub_diskfilter_print_partmap): Propagate changing of error into
1965 warning.
1966
1967 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1968
1969 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
1970 to uint64_t to prevent overflow.
1971 (grub_diskfilter_lv): Increase start_extent and extent_count
1972 to uint64_t to prevent overflow.
1973
1974 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1975
1976 * configure.ac: Increase version.
1977
1978 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1979
1980 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
1981
1982 * po/Rules-translit: New file.
1983 * po/arabic.sed: Likewise.
1984 * po/cyrillic.sed: Likewise.
1985 * po/greek.sed: Likewise.
1986 * po/hebrew.sed: Likewise.
1987 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
1988 * po/Makefile.in.in: Add extra_dist4.
1989
1990 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1991
1992 Handle big-endian minixfs (fixes minixfs tests on bigendian).
1993
1994 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
1995 modify names. Introduce MODE_BIGENDIAN.
1996 * grub-core/fs/minix_be.c: New file.
1997 * grub-core/fs/minix2_be.c: Likewise
1998 * grub-core/fs/minix3_be.c: Likewise.
1999 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
2000 minix3_be.
2001 * grub-core/Makefile.core.def (minix_be): New module.
2002 (minix2_be): Likewise.
2003 (minix3_be): Likewise.
2004
2005 2012-04-01 Felix <email@hamburg.de>
2006
2007 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
2008 (devs): Add MBP 2011.
2009
2010 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2011
2012 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
2013
2014 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2015
2016 * grub-core/normal/cmdline.c (print_completion): New field
2017 prompt_len.
2018 (grub_cmdline_get): Handle width properly.
2019
2020 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2021
2022 * grub-core/commands/lsacpi.c (options): Add missing terminator.
2023
2024 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2025
2026 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
2027 after 29th of February.
2028
2029 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2030
2031 Fix exfat endianness handling.
2032
2033 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
2034 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
2035 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
2036 Byte-swap utf16 when necessary.
2037 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
2038
2039 2012-03-31 Anton Blanchard <anton@samba.org>
2040 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2041
2042 Fix btrfs endianness handling.
2043
2044 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
2045 (lower_bound): Make root uint64_t. Use root in le.
2046 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
2047 (find_path): Fix template key init.
2048 (grub_btrfs_dir): Fix mtime byteswap.
2049 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
2050
2051 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2052
2053 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
2054 recursion_depth. Break infinite resursions. All users updated.
2055
2056 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2057
2058 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
2059 after free.
2060 Reported by: Peter Jones.
2061
2062 2012-03-31 Anton Blanchard <anton@samba.org>
2063
2064 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
2065 8 bit values.
2066
2067 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2068
2069 * util/grub-install.in: Fix nvram call for PreP.
2070
2071 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
2074 the error when some elements are missing into a warning.
2075
2076 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2077
2078 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
2079
2080 2012-03-28 Colin Watson <cjwatson@ubuntu.com>
2081
2082 * docs/grub.texi (Invoking grub-probe): New section.
2083 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
2084
2085 2012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2086
2087 Fix tab and wide character handling in editor and menu.
2088
2089 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
2090 agglomerate control characters with combining marks.
2091 (bidi_line_wrap): Allow break on tab.
2092 (grub_unicode_get_comb_start): New function.
2093 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
2094 and tab correctly.
2095 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
2096 with a space.
2097 * grub-core/normal/term.c (print_ucs4_terminal): New argument
2098 fixed_tab_size. All users updated.
2099 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
2100 (grub_term_getcharwidth): Handle \t.
2101 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
2102 and copy.
2103
2104 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2105
2106 Handle big-endian mdraid.
2107
2108 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
2109 * grub-core/Makefile.core.def (mdraid09_be): New module.
2110 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
2111 rather than grub_le_to_cpu* and grub_cpu_to_le*.
2112 * grub-core/disk/mdraid_linux_be.c: New file.
2113
2114 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2115
2116 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
2117
2118 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2119
2120 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
2121 missing quotes which caused confusion among translators.
2122
2123 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2124
2125 * util/grub-mkconfig_lib.in: Fix typo.
2126
2127 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2128
2129 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
2130 spaces.
2131 * tests/grub_script_leading_whitespace.in: New file.
2132 * Makefile.util.def (grub_script_leading_whitespace): New test.
2133
2134 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2135
2136 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
2137 to work.
2138
2139 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2140
2141 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
2142 starts with control character.
2143
2144 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2145
2146 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
2147 overflow.
2148 (grub_gdb_outbuf): Likewise.
2149
2150 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2151
2152 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
2153 zero terminator. Fixes a crash.
2154
2155 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2156
2157 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
2158 beyond 4 GiB.
2159 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
2160 images independently of preffered adderss field.
2161
2162 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2163
2164 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
2165 * grub-core/commands/regexp.c: Likewise.
2166 * grub-core/loader/i386/linux.c: Likewise.
2167 * grub-core/partmap/msdos.c: Likewise.
2168 * grub-core/script/execute.c: Likewise.
2169 * grub-core/term/gfxterm.c: Likewise.
2170
2171 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2172
2173 Add variable parsing in $"..." and fix several mismatches with bash.
2174
2175 * Makefile.util.def (grub_script_gettext): New test.
2176 * grub-core/script/execute.c (parse_string): New function.
2177 (gettext_append): Likewise.
2178 (grub_script_arglist_to_argv): Use gettext_append.
2179 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
2180 * tests/grub_script_gettext.in: New file.
2181
2182 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2183
2184 Fix handling of leading spaces in scripts.
2185
2186 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
2187 spaces.
2188 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
2189 other than skipping \r. All users updated.
2190 * tests/grub_script_echo1.in: Add space-related tests.
2191 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
2192
2193 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2194
2195 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
2196
2197 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2198
2199 * configure.ac: Bump up the version to beta2.
2200
2201 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2202
2203 Fix gettext reload bugs (e.g. inability to disable gettext
2204 once enabled).
2205
2206 * grub-core/gettext/gettext.c: Encapsulate all static variables in
2207 main_context and secondary_context. All functions updated.
2208 (grub_gettext_translate): Rename to ...
2209 (grub_gettext_translate_real): ... this. Return NULL on failed
2210 translate.
2211 (grub_gettext_translate): Handle secondary context.
2212 (grub_gettext_delete_list): Close file and zero-out the context.
2213 (grub_mofile_open): Don't call grub_gettext_delete_list.
2214 Don't close file.
2215 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
2216 if locale="" to avoid pointless error message.
2217 (grub_gettext_env_write_lang): Update lang even if load fails.
2218 Handle secondary context.
2219 (grub_gettext_reread_prefix): New function.
2220 (read_main): Likewise.
2221 (read_secondary): Likewise.
2222 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
2223 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
2224 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
2225 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
2226
2227 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2228
2229 * configure.ac: Decrease warning level to avoid spurious warnings and
2230 to be able to compile with GCC 4.2.
2231 * Makefile.util.def: Remove -Wno-error=logical-op.
2232
2233 2012-03-10 William Bittner <william.bittner@gmail.com>
2234
2235 * util/import_unicode.py: Add missing brackets around string for
2236 python 3 support.
2237
2238 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2239
2240 Fix efi chainloader on network root.
2241
2242 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
2243 network devices.
2244 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
2245 New function.
2246
2247 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2248
2249 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
2250 unused show_text member.
2251 * docs/grub.texi: Document "text" property.
2252
2253 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2254
2255 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
2256 in dprintf.
2257
2258 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2259
2260 Fix IMSM handling on Fedora.
2261
2262 * util/getroot.c (grub_util_is_imsm): New function.
2263 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
2264
2265 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2266
2267 * Makefile.am: Strip gold section.
2268 * conf/Makefile.common: Likewise.
2269 * gentpl.py: Likewise.
2270 * grub-core/Makefile.core.def: Likewise.
2271 * grub-core/genmod.sh.in: Likewise.
2272
2273 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2274
2275 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
2276 * util/grub.d/20_linux_xen.in: Likewise.
2277 Based on Debian patch.
2278
2279 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2280
2281 * util/grub.d/10_linux.in: Fix syntax error resulting in
2282 Richard Laager's patch.
2283 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
2284
2285 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2286
2287 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
2288 dependencies.
2289
2290 2012-03-10 Richard Laager <rlaager@wiktel.com>
2291
2292 * util/grub.d/10_linux.in: Fix ZFS root passing.
2293
2294 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2295
2296 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
2297 * grub-core/commands/xnu_uuid.c: Likewise.
2298 * grub-core/loader/efi/appleloader.c: Likewise.
2299 * grub-core/script/execute.c: Likewise.
2300 * grub-core/script/main.c: Likewise.
2301 * util/grub-mkfont.c: Likewise.
2302
2303 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2304
2305 * util/grub-mkfont.c (options): Use more appropriate "select" that
2306 "set" for face index.
2307
2308 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2309
2310 * util/grub-editenv.c (options): Gettextize command summaries.
2311
2312 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2313
2314 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
2315 "out of memory" error messagge.
2316
2317 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2318
2319 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
2320 of diskfilter for diskfilter on diskfilter support.
2321
2322 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2323
2324 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
2325
2326 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2327
2328 * util/grub-install.in: Check for themes/starfield/theme.txt and not
2329 themes/starfield.
2330
2331 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2332
2333 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
2334
2335 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2336
2337 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
2338
2339 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2340
2341 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
2342 of error message.
2343
2344 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
2347
2348 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
2349
2350 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
2351 message.
2352 * util/grub-install.in: Fix and gettextize error message.
2353
2354 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2355
2356 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
2357 Gettextize.
2358 * util/grub-mount.c (options): Likewise.
2359
2360 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2361
2362 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
2363 gettextize.
2364 * grub-core/commands/search_wrap.c (options): Likewise.
2365
2366 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2367
2368 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
2369
2370 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2371
2372 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
2373 size calculation.
2374 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
2375 none is known.
2376
2377 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2378
2379 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
2380 "temporary" since it's used in identifier and is limited in space.
2381
2382 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2383
2384 * po/POTFILES.in: Regenerate. Include *.h since they contain
2385 translatable strings as well.
2386
2387 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2388
2389 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
2390 byte-swap on big-endian.
2391 Reported by: Lennart Sorensen
2392
2393 2012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
2394
2395 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
2396 (allocate_pages): Improve dprintf.
2397 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
2398 code32_start. Fill code32_start and kernel_alignment in params.
2399 (grub_cmd_initrd): Use prot_init_space.
2400
2401 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2402
2403 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
2404
2405 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2406
2407 * util/grub-install.in: Add missing dot at the end of sentence.
2408
2409 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2410
2411 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
2412 * grub-core/commands/videotest.c: Likewise.
2413 * grub-core/loader/i386/linux.c: Likewise.
2414
2415 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2416
2417 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
2418 sentence.
2419 Reported by: Milo Casagrande.
2420
2421 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2422
2423 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
2424 * grub-core/commands/gptsync.c: Likewise.
2425 * grub-core/commands/hashsum.c: Likewise.
2426 * grub-core/commands/i386/pc/sendkey.c: Likewise.
2427 * grub-core/commands/legacycfg.c: Likewise.
2428 * grub-core/io/gzio.c: Likewise.
2429 * grub-core/net/net.c: Likewise.
2430 * grub-core/term/gfxterm.c: Likewise.
2431 * grub-core/term/terminfo.c: Likewise.
2432 * grub-core/tests/test_blockarg.c: Likewise.
2433 * grub-core/video/video.c: Likewise.
2434 * util/grub-install.in: Likewise.
2435 * util/grub-mkfont.c: Likewise.
2436
2437 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2438
2439 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
2440
2441 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2442
2443 * grub-core/commands/search_wrap.c (options): Fix a typo.
2444 Reported by: David Prévot.
2445
2446 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2447
2448 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
2449 description.
2450
2451 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2452
2453 * util/grub-script-check.c (main): Fix a syntax error message which was
2454 unclear.
2455
2456 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2457
2458 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
2459
2460 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2461
2462 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
2463 messages.
2464
2465 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2466
2467 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
2468 without argument.
2469 * util/grub-mount.c (options): Likewise.
2470
2471 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2472
2473 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
2474
2475 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2476
2477 * grub-core/net/http.c: Add TRANSLATORS comments.
2478 * grub-core/normal/cmdline.c: Likewise.
2479 * grub-core/normal/misc.c: Likewise.
2480 * grub-core/partmap/msdos.c: Likewise.
2481 * grub-core/parttool/msdospart.c: Likewise.
2482 * grub-core/script/execute.c: Likewise.
2483 * grub-core/script/main.c: Likewise.
2484 * grub-core/term/terminfo.c: Likewise.
2485 * grub-core/video/bitmap.c: Likewise.
2486 * util/grub-install.in: Likewise.
2487 * util/grub-mkimage.c: Likewise.
2488 * util/grub-mklayout.c: Likewise.
2489 * util/grub-setup.c: Likewise.
2490
2491 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2492
2493 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
2494 with similar messages in grub-fstest.
2495
2496 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2497
2498 * util/grub-install.in: Unify "option requires an argument" message
2499 with similar messages in other files.
2500 * util/grub-mkconfig.in: Likewise.
2501
2502 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2503
2504 * util/grub-set-default.in: Replace printf with gettext_printf (the
2505 string in in question is already translated from grub-reboot)
2506
2507 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2508
2509 * configure.ac: Bump up the version to beta1.
2510
2511 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2512
2513 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
2514 case when min_align = 0.
2515
2516 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2517
2518 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
2519 and fix a case when line_start overflows.
2520
2521 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2522
2523 * util/grub-reboot.in (usage): Mention id posibility.
2524 * util/grub-set-default.in (usage): Likewise.
2525
2526 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2527
2528 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
2529 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
2530 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
2531 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
2532 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
2533 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2534 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2535
2536 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2537
2538 * grub-core/commands/menuentry.c (options): Remove
2539 GRUB_ARG_OPTION_REPEATABLE.
2540 Reported by: Andreas Vogel
2541
2542 2012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
2543
2544 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
2545
2546 2012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
2547
2548 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
2549 error.
2550
2551 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2552
2553 Use sort -V by the idea of Georgi Georgiev.
2554
2555 * util/grub-mkconfig_lib.in (version_sort): New function.
2556 (version_test_numeric): Use version_sort.
2557
2558 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2559
2560 Use submenus in grub-mkconfig.
2561
2562 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
2563 * util/grub-mkconfig_lib.in (grub_quote): New function.
2564 (gettext_printf): Use gettext and not gettext_quoted to fix several
2565 messages.
2566 * util/grub.d/10_hurd.in: Use submenus.
2567 * util/grub.d/10_kfreebsd.in: Likewise.
2568 * util/grub.d/10_linux.in: Likewise.
2569 * util/grub.d/10_netbsd.in: Likewise.
2570 * util/grub.d/20_linux_xen.in: Likewise.
2571 * util/grub.d/30_os-prober.in: Likewise.
2572 * util/grub.d/10_illumos.in: Add missing quoting.
2573 * util/grub.d/10_windows.in: Likewise.
2574
2575 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2576
2577 Fix menu title instability bug.
2578
2579 * grub-core/commands/menuentry.c (options): New option --id.
2580 (grub_normal_add_menu_entry): New argument id. All users updated.
2581 (grub_cmd_menuentry): Handle --id.
2582 (grub_menu_init): Accept unknown arguments.
2583 * grub-core/normal/main.c (features): Add feature_menuentry_id and
2584 feature_menuentry_options.
2585 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
2586 saved_entry.
2587 (get_entry_number): Match with id as well.
2588 * include/grub/menu.h (grub_menu_entry): New member id.
2589 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
2590 * util/grub.d/00_header.in: Define menuentry_id_option.
2591 * util/grub.d/10_hurd.in: Define id.
2592 * util/grub.d/10_illumos.in: Likewise.
2593 * util/grub.d/10_kfreebsd.in: Likewise.
2594 * util/grub.d/10_linux.in: Likewise.
2595 * util/grub.d/10_netbsd.in: Likewise.
2596 * util/grub.d/10_windows.in: Likewise.
2597 * util/grub.d/20_linux_xen.in: Likewise.
2598 * util/grub.d/30_os-prober.in: Likewise.
2599
2600 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2601
2602 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
2603 "scope" with "body".
2604
2605 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2606
2607 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
2608 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
2609 prot_size and prot_file_size.
2610
2611 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2612
2613 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
2614 All users updated. If easily=1 require raid-5/-6 to be full.
2615 (is_node_readable): Likewise.
2616 (scan_devices): Scan incomplete but readable LVs at the end.
2617 (grub_diskfilter_memberlist): Pull missing devices.
2618 (insert_array): Skip scanning until device is complete or scan is
2619 done otherwise.
2620 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
2621 check.
2622 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
2623 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
2624
2625 2012-03-03 Matthew Garrett <mjg@redhat.com>
2626 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2627
2628 Avoid EFI boot services when loading Linux.
2629
2630 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
2631 avoid_efi_bootservices. All users updated.
2632 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
2633 argument avoid_efi_bootservices. All users updated.
2634 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
2635 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
2636 align, min_align, relocatable, prefered_address. All users updated.
2637 Allocate avoiding boot services if kernel is relocatable.
2638 (grub_cmd_linux): Check if kernel is relocatable.
2639 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
2640 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
2641 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
2642 avoid_efi_boot_services.
2643 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
2644 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
2645 (linux_kernel_params): Likewise.
2646
2647 2012-03-03 Matthew Garrett <mjg@redhat.com>
2648 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2649
2650 Use EDID on EFI.
2651
2652 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
2653 datasize_out.
2654 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
2655 modes. Set gop_handle.
2656 (grub_video_gop_get_edid): New function.
2657 (grub_gop_get_preferred_mode): Likewise.
2658 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
2659 (grub_video_efi_gop_adapter): Set .get_edid.
2660 * include/grub/efi/edid.h: New file.
2661 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
2662
2663 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2664
2665 * util/grub-install.in: Load efivars unconditionally.
2666
2667 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2668
2669 * po/Rules-piglatin: Change suffix from .po-update-en to
2670 .po-update-en-piglatin.
2671
2672 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2673
2674 Add a pig farm.
2675
2676 * po/piglatin.sed: New file.
2677 * po/en@piglatin.header: Likewise.
2678 * po/Rules-piglatin: Likewise.
2679 * po/README: Add en@piglatin to autogenerated languages.
2680
2681 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2682
2683 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
2684 "Command for ...".
2685 * grub-core/commands/hdparm.c (options): Use "Display" rather than
2686 "Check" since we don't check anything.
2687 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
2688 is 64-bit one.
2689 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
2690 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
2691 (grub_md_sha512_real): Likewise.
2692
2693 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2694
2695 * grub-core/commands/gptsync.c: Fix typographic quoting.
2696 * grub-core/commands/ieee1275/suspend.c: Likewise.
2697 * grub-core/commands/parttool.c: Likewise.
2698 * grub-core/commands/search_wrap.c: Likewise.
2699 * grub-core/commands/videoinfo.c: Likewise.
2700 * grub-core/gfxmenu/gui_label.c: Likewise.
2701 * grub-core/hello/hello.c: Likewise.
2702 * grub-core/kern/emu/main.c: Likewise.
2703 * grub-core/net/net.c: Likewise.
2704 * grub-core/normal/menu.c: Likewise.
2705 * grub-core/normal/menu_text.c: Likewise.
2706 * grub-core/normal/misc.c: Likewise.
2707 * util/grub-editenv.c: Likewise.
2708 * util/grub-install.in: Likewise.
2709 * util/grub-kbdcomp.in: Likewise.
2710 * util/grub-mkconfig.in: Likewise.
2711 * util/grub-mknetdir.in: Likewise.
2712 * util/grub-mkrescue.in: Likewise.
2713 * util/grub-mkstandalone.in: Likewise.
2714 * util/grub-reboot.in: Likewise.
2715 * util/grub-set-default.in: Likewise.
2716 * util/grub-setup.c: Likewise.
2717 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2718
2719 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2720
2721 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
2722 * grub-core/commands/keystatus.c: Likewise.
2723 * grub-core/commands/loadenv.c: Likewise.
2724 * grub-core/commands/probe.c: Likewise.
2725 * grub-core/commands/regexp.c: Likewise.
2726 * grub-core/commands/true.c: Likewise.
2727 * grub-core/commands/videoinfo.c: Likewise.
2728 * grub-core/disk/cryptodisk.c: Likewise.
2729 * grub-core/disk/ldm.c: Likewise.
2730 * grub-core/disk/loopback.c: Likewise.
2731 * grub-core/disk/luks.c: Likewise.
2732 * grub-core/fs/zfs/zfsinfo.c: Likewise.
2733 * grub-core/kern/disk.c: Likewise.
2734 * grub-core/kern/emu/hostdisk.c: Likewise.
2735
2736 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2737
2738 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
2739 * util/grub-install.in: Add missing quote in the comment.
2740
2741 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2742
2743 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
2744 * grub-core/commands/lsmmap.c: Likewise.
2745 * grub-core/commands/minicmd.c: Likewise.
2746 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
2747 * grub-core/commands/regexp.c: Likewise.
2748 * grub-core/gdb/gdb.c: Likewise.
2749 * grub-core/term/gfxterm.c: Likewise.
2750 * util/grub-mkconfig.in: Likewise.
2751 * util/grub-mkfont.c: Likewise.
2752 * util/grub-mklayout.c: Likewise.
2753 * util/grub-mknetdir.in: Likewise.
2754 * util/grub-mkrescue.in: Likewise.
2755 * util/grub.d/30_os-prober.in: Likewise.
2756
2757 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2758
2759 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
2760 with "Direct color" and "Packed" with "Packed pixel".
2761 (grub_cmd_videoinfo): Simplify legend.
2762
2763 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2764
2765 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
2766 absolutely unclear error message.
2767
2768 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2769
2770 * util/grub-mkstandalone.in: Remove confusing leftover print.
2771
2772 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2773
2774 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
2775 comments.
2776 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
2777 (GRUB_MOD_INIT): Likewise.
2778 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
2779 VGA mode.
2780 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
2781 comments.
2782 * util/grub-install.in (usage): Likewise.
2783 Spell ID in whole letters.
2784 Add missing ending dot.
2785 Quote variables.
2786 * util/grub-reboot.in: Fix capitalisation.
2787 * util/grub-set-default.in: Likewise.
2788
2789 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2790
2791 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
2792 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
2793 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
2794 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
2795 Disable -Werror for -Wdeprecated-declarations.
2796 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
2797 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
2798 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
2799 (grub_util_get_grub_dev): Make luks handling dependent on
2800 HAVE_DEVICE_MAPPER and not __linux__.
2801 (get_win32_path): Fix format security.
2802 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
2803 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
2804 Don't try grub_find_zpool_from_dir.
2805 (grub_make_system_path_relative_to_its_root) [!__linux__]:
2806 #ifdef-out paresdir.
2807
2808 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2809
2810 * util/grub-pe2elf.c (usage): Add missing noreturn.
2811 (write_section_data): Rename name to shname to avoid shadowing.
2812 (write_symbol_table): Rename name to symname to avoid shadowing.
2813 Fix write_reloc_section call.
2814
2815 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2816
2817 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
2818 to ensure that it's after the last byte of .text.
2819
2820 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2821
2822 * util/ieee1275/ofpath.c (my_isdigit): New function.
2823 (trailing_digits): Use my_isdigit.
2824 (strip_trailing_digits): Likewise.
2825
2826 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2827
2828 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
2829 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
2830
2831 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2832
2833 * grub-core/kern/i386/pc/startup.S: Define __start.
2834
2835 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2836
2837 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
2838 strip already transforms he format.
2839
2840 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2841
2842 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
2843
2844 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2845
2846 * util/grub-install.in: Add missing gettext init.
2847 * util/grub-kbdcomp.in: Likewise.
2848 * util/grub-mkconfig.in: Likewise.
2849 * util/grub-mknetdir.in: Likewise.
2850 * util/grub-mkrescue.in: Likewise.
2851 * util/grub-mkstandalone.in: Likewise.
2852 * util/grub-reboot.in: Likewise.
2853 * util/grub-set-default.in: Likewise.
2854 * util/grub.d/00_header.in: Likewise.
2855 * util/grub.d/10_hurd.in: Likewise.
2856 * util/grub.d/10_windows.in: Likewise.
2857 * util/grub.d/30_os-prober.in: Likewise.
2858 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2859
2860 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2861
2862 * po/Rules-swiss: Fix header comment.
2863
2864 2012-02-29 Andreas Vogel <anvoit>
2865
2866 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
2867 resulted in leak of arguments.
2868
2869 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2870
2871 * grub-core/boot/i386/pc/startup_raw.S: Use separate
2872 reed_solomon_size const definition instead of computing it since
2873 Apple assembler doesn't support the later.
2874
2875 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2876
2877 * gentpl.py (kernel): Rewrite Apple part.
2878
2879 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2880
2881 * include/grub/kernel.h (FOR_MODULES): Check module magic.
2882
2883 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2884
2885 * util/grub-mkimagexx.c (locate_sections): Support non-standard
2886 ELF section gap.
2887 (load_image): Likewise.
2888
2889 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2890
2891 * configure.ac: Fix a typo in previous commit.
2892
2893 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2894
2895 Don't add -Wl,-N on Apple platform.
2896
2897 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
2898 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
2899
2900 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2901
2902 * grub-core/Makefile.core.def (lzma_decompress): Use
2903 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
2904
2905 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2906
2907 * grub-core/genmod.sh.in: Rewrite the Apple part.
2908
2909 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2910
2911 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
2912 comparison.
2913
2914 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2915
2916 * acinclude.m4 (grub_CHECK_PIC): New test.
2917 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
2918
2919 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2920
2921 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
2922 to avoid the warning.
2923
2924 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2925
2926 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
2927 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
2928 after. All users updated.
2929
2930 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2931
2932 Use the common size routine in hostfs so we can read disks as well.
2933
2934 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
2935 (grub_util_get_fd_size): ... this. Return size in bytes.
2936 All users updated.
2937 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
2938 grub_util_get_fd_size.
2939
2940 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2941
2942 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
2943 Add blocksize retrieval.
2944
2945 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2946
2947 * configure.ac: Restore CFLAGS after efiemu check.
2948
2949 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2950
2951 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
2952 Apple bug.
2953
2954 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2955
2956 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
2957
2958 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2959
2960 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
2961 (grub_cmd_halt): Likewise.
2962
2963 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2964
2965 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
2966 for local arithmetics.
2967 Break %sp init into 2 instructions.
2968 Add 0 byte at the end.
2969
2970 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2971
2972 * grub-core/disk/diskfilter.c (read_segment): Initialise err
2973 before loops.
2974
2975 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2976
2977 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
2978 for context.
2979
2980 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2981
2982 * grub-core/disk/ldm.c (make_vg): Init part.name.
2983 (grub_ldm_detect): Silence spurious warning.
2984 (grub_util_is_ldm): Likewise.
2985
2986 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2987
2988 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
2989 sane value to avoid a spurious warning.
2990
2991 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2992
2993 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
2994 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
2995
2996 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2997
2998 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
2999 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
3000
3001 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3002
3003 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
3004 hardcoding the relevant info.
3005
3006 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3007
3008 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
3009 missing const qualifiers.
3010 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
3011
3012 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3013
3014 * util/getroot.c [__APPLE__]: Add missing includes.
3015 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
3016
3017 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3018
3019 * util/grub-mkimage.c (generate_image): Silence spurious warning.
3020
3021 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3022
3023 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
3024 avoid conflicts.
3025
3026 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3027
3028 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
3029
3030 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3031
3032 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
3033 and grub_file_close call.
3034
3035 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3036
3037 Add LZSS Mach-O support (needed for new xnu kernelcache).
3038
3039 * grub-core/Makefile.core.def (xnu): Add file lzss.c
3040 * grub-core/loader/lzss.c: New file.
3041 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
3042 on Mach-O open failure.
3043 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
3044 Don't free cmdsXX in uncompressedXX is set.
3045 (grub_macho_file): Init new fields.
3046 New argument is_64bit. All users updated.
3047 Handle compressed. Error out if no suitable architecture is found.
3048 Don't close file.
3049 (grub_macho_open): New argument is_64bit. All users updated.
3050 * grub-core/loader/macho32.c: Add defines for new fields.
3051 * grub-core/loader/macho64.c: Likewise.
3052 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
3053 (grub_macho_parse): Handle compressed.
3054 Defer actual processing if compressed.
3055 (grub_macho_cmds_iterate): Decompress if compressed. New argument
3056 "filename". All users updated.
3057 (grub_macho_size): New argument "filename". All users updated.
3058 (grub_macho_get_entry_point): Likewise.
3059 (grub_macho_load): Handle compressed.
3060 * include/grub/macho.h (grub_macho_lzss_header): New struct.
3061 (GRUB_MACHO_LZSS_OFFSET): New define.
3062 (grub_decompress_lzss): New proto.
3063 * include/grub/machoload.h (grub_macho_file): New fields to handle
3064 compressed.
3065 (grub_macho_contains_macho64): Remove proto.
3066 (grub_macho_contains_macho32): Likewise.
3067 * util/grub.d/30_os-prober.in: Use kernel cache if available.
3068
3069 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3070
3071 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
3072
3073 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3074
3075 Fix make dist.
3076
3077 * Makefile.am (starfield_theme_files): New var.
3078 (starfield_DATA): Use starfield_theme_files.
3079 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
3080 Add bootcheck-related files.
3081 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
3082 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
3083 and font_char_metrics.txt.
3084 * grub-core/Makefile.core.def (kernel): Update extra_dist.
3085 (setjmp): Add lib/ia64/longjmp.S.
3086 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
3087 * po/POTFILES.in: Regenerate.
3088 * po/Rules-swiss: use DISTFILES.common.extra2 and not
3089 DISTFILES.common.extra1.
3090 * util/devicemap.c: Removed.
3091 * grub-core/lib/i386/relocator_backward.S: Likewise.
3092 * util/import_gcry.py: Remove unused files. Add extra_dist for
3093 ChangeLog.
3094
3095 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3096
3097 * grub-core/gettext/gettext.c (grub_mofile_open): Call
3098 grub_gettext_delete_list before changing grub_gettext_max to avoid
3099 running out of array bounds.
3100
3101 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3102
3103 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
3104 grub_vga_text_init/grub_vga_text_fini.
3105
3106 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3107
3108 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
3109
3110 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3111
3112 * configure.ac: Bump to 2.00~beta0.
3113
3114 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3115
3116 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
3117 missing initialisation.
3118
3119 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3120
3121 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
3122
3123 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3124
3125 Support v2 xnu boot arguments.
3126
3127 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
3128 New argument fsbfreq_out.
3129 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
3130 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
3131 be used.
3132 * grub-core/loader/machoXX.c (grub_macho_load): New argument
3133 darwin_version.
3134 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
3135 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
3136 (grub_xnu_boot_params): Rename to ...
3137 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
3138 (grub_xnu_boot_params_v2): New struct.
3139
3140 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3141
3142 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
3143 zeroing of CRC field before computing CRC.
3144
3145 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3146
3147 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
3148 Change order of allocations to decrease fragmentation.
3149
3150 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3151
3152 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
3153
3154 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
3155
3156 Use write-combining MTRR to speed up video with buggy BIOSes.
3157
3158 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
3159 (cpuid): New define.
3160 (rdmsr): Likewise.
3161 (wrmsr): Likewise.
3162 (mtrr_base): Likewise.
3163 (mtrr_mask): Likewise.
3164 (grub_vbe_enable_mtrr_entry): New function.
3165 (grub_vbe_enable_mtrr): Likewise.
3166 (grub_vbe_disable_mtrr): Likewise.
3167 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
3168 control off to BIOS.
3169 (grub_video_vbe_init): Fill mtrr.
3170 (grub_video_vbe_fini): Disable mtrr.
3171 (grub_video_vbe_get_info_and_fini): Likewise.
3172 (grub_video_vbe_setup): Enable mtrr.
3173
3174 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
3175
3176 * include/grub/partition.h (grub_partition_map): Change prototype of
3177 embed to take a maximum value for nsectors.
3178 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
3179 * include/grub/fs.h (grub_fs): Likewise.
3180 * grub-core/partmap/msdos.c (embed_signatures): New array.
3181 (pc_partition_map_embed): Check for and avoid sectors matching any
3182 of the signatures in embed_signatures, up to max_nsectors.
3183 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
3184 returned sector map to max_nsectors.
3185 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
3186 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
3187 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
3188 * util/grub-setup.c (setup): Allow for the embedding area being
3189 split into multiple blocklists. Tell dest_partmap->embed the
3190 maximum number of sectors we care about.
3191
3192 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3193
3194 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
3195 Specify blocklist_install and reserver_first_sector for all fs.
3196 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
3197 blocklists.
3198
3199 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3200
3201 * util/grub-install.in: Clarify strings.
3202 Fix source dir check.
3203
3204 2012-02-27 Richard Laager <rlaager@wiktel.com>
3205
3206 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
3207 "zfs" and "fuse.zfs" as synonyms.
3208
3209 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3210
3211 * configure.ac: Put platform and target_cpu substitutions back since
3212 they are used for directories.
3213
3214 2012-02-27 Richard Laager <rlaager@wiktel.com>
3215 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3216
3217 * util/grub.d/10_linux.in: Add ZFS-related arguments.
3218 * util/grub.d/20_linux_xen.in: Likewise.
3219
3220 2012-02-27 Richard Laager <rlaager@wiktel.com>
3221
3222 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
3223 with full paths.
3224
3225 2012-02-27 Richard Laager <rlaager@wiktel.com>
3226
3227 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
3228 unescape.
3229
3230 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3231
3232 Don't use insecure popen in getroot.
3233
3234 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
3235 (exec_pipe): ... here.
3236 (find_root_devices_from_poolname): Use exec_pipe.
3237
3238 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3239
3240 Remove platform and target_cpu replacement.
3241
3242 * configure.ac: Remove platform and target_cpu substitutions.
3243 * tests/util/grub-shell.in: Use modinfo.
3244 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
3245 explicitly.
3246
3247 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3248
3249 Autodetect platform in grub-install but allow override.
3250
3251 * util/grub-install.in: Autodetect platform. Support --target and
3252 --directory. Read platform from modinfo.sh.
3253
3254 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3255
3256 Support btrfs multi-volume probe.
3257
3258 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
3259 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
3260 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
3261 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
3262 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
3263 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
3264 grub_find_root_devices_from_btrfs if on btrfs.
3265
3266 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3267
3268 Remove any awareness of *.c util files about target.
3269
3270 * Makefile.util.def (grub-setup): Split to ...
3271 (grub-bios-setup): ... and this.
3272 (grub-sparc64-setup): ... and this.
3273 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
3274 * docs/man/grub-setup.h2m: Split into ...
3275 * docs/man/grub-sparc64-setup.h2m: ... this.
3276 * docs/man/grub-bios-setup.h2m: ... and this.
3277 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
3278 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
3279 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
3280 (grub_target_addr_t): Remove.
3281 (grub_target_size_t): Remove.
3282 (grub_target_ssize_t): Remove.
3283 * util/grub-install.in: Use new grub-*-setup.
3284 * util/grub-mkimagexx.c (Elf_Word): New define.
3285 (Elf_Half): Likewise.
3286 (Elf_Section): Likewise.
3287 (ELF_ST_TYPE): Likewise.
3288 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
3289 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
3290
3291 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3292
3293 Replace grub_target_addr with more appropriate types.
3294
3295 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
3296 grub_target_addr with grub_addr.
3297 * grub-core/commands/iorw.c (grub_cmd_read): Replace
3298 grub_target_addr with grub_port.
3299 (grub_cmd_write): Likewise.
3300 * grub-core/commands/memrw.c (grub_cmd_read): Replace
3301 grub_target_addr with grub_addr.
3302 (grub_cmd_write): Likewise.
3303 * grub-core/video/efi_uga.c (find_line_len): Likewise.
3304
3305 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3306
3307 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
3308 const qualifier for vendor_guid.
3309
3310 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3311
3312 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
3313 const qualifier.
3314 (efiemu_memequal): Likewise.
3315 (find_variable): Likewise.
3316
3317 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3318
3319 Fix missing console prototype on qemu-mips.
3320
3321 * include/grub/mips/qemu_mips/console.h: New file.
3322
3323 2012-02-27 Matthew Garrett <mjg@redhat.com>
3324 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3325
3326 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
3327 * include/grub/efi/efi.h: Likewise.
3328 * include/grub/efi/api.h: Add guid for EFI-specified variables.
3329 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
3330 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
3331 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
3332 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
3333 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
3334
3335 2012-02-27 Matthew Garrett <mjg@redhat.com>
3336
3337 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
3338
3339 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3340
3341 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
3342 error.
3343
3344 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3345
3346 * configure.ac: Remove inappropriate use of program_transform_name
3347 on grubdir and bootdir but allow explicit specification of those
3348 variables.
3349
3350 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3351
3352 * util/grub-mknetdir.in (grub_prefix): Removed.
3353 (subdir): Use @bootdirname@ and @grubdirname@.
3354
3355 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3356
3357 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
3358
3359 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3360
3361 * po/POTFILES.in: Regenerated.
3362
3363 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3364
3365 Remove improper use of program_transform_name on pkglibrootdir.
3366
3367 * configure.ac (pkglibrootdir): Removed.
3368 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
3369 * util/grub-mkimage.c: Likewise.
3370
3371 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3372
3373 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
3374 warning.
3375
3376 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3377
3378 * util/grub-install.in: Use file identifier if no UUID is available
3379 or user explicitly prompted for it.
3380
3381 2012-02-27 Navdeep Parhar <nparhar@gmail.com>
3382
3383 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
3384 (freebsd_get_zfs): New function.
3385 (grub_freebsd_boot): Pass zfs UUID.
3386 (grub_cmd_freebsd): Set zfs UUID.
3387
3388 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3389
3390 * conf/Makefile.common (platformdir): Base on pkglibdir and not
3391 pkglibrootdir.
3392
3393 2012-02-27 Mike Gilbert <floppym@gentoo.org>
3394
3395 Add configure flag to control libzfs integration.
3396
3397 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
3398
3399 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3400
3401 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
3402 device.
3403 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
3404 small devices.
3405
3406 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3407
3408 Remove grub_{modname}_init and grub_{modname}_fini. They should never
3409 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
3410 be used on non-modules.
3411
3412 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
3413 Rename to grub_boot_init.
3414 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
3415 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
3416 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
3417 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
3418 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
3419 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
3420 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
3421 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
3422 includes.
3423 (grub_machine_init): Remove empty inits.
3424 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
3425 includes.
3426 (grub_machine_init): Remove empty inits.
3427 * grub-core/term/arc/console.c: Remove explicit proto.
3428 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
3429 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
3430 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3431 grub_at_keyboard_fini.
3432 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
3433 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
3434 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3435 grub_gfxterm_fini.
3436 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
3437 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
3438 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3439 grub_vgatext_fini.
3440 * grub-core/term/ieee1275/console.c: Remove explicit proto.
3441 * grub-core/term/serial.c (GRUB_MOD_INIT)
3442 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
3443 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3444 grub_serial_fini.
3445 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
3446 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
3447 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3448 grub_terminfo_fini.
3449 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
3450 (GRUB_MOD_FINI): Likewise.
3451 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
3452 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
3453 (GRUB_MOD_FINI) [LOONGSON]: Rename to
3454 grub_video_radeon_fuloong2e_fini.
3455 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
3456 [LOONGSON]: Rename to grub_video_sis315pro_init.
3457 (GRUB_MOD_FINI) [LOONGSON]: Rename to
3458 grub_video_sis315pro_fini.
3459 * grub-core/video/sm712.c (GRUB_MOD_INIT)
3460 [LOONGSON]: Rename to grub_video_sm712_init.
3461 (GRUB_MOD_FINI) [LOONGSON]: Rename to
3462 grub_video_sm712_fini.
3463 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
3464 (grub_at_keyboard_fini): Likewise.
3465 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
3466 Don't declare grub_{modname}_init.
3467 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
3468 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
3469 New proto.
3470 (grub_keylayouts_fini) [!EMU]: Likewise.
3471 * include/grub/serial.h (grub_serial_init) [!EMU]:
3472 New proto.
3473 (grub_serial_fini) [!EMU]: Likewise.
3474 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
3475 New proto.
3476 (grub_terminfo_fini) [!EMU]: Likewise.
3477 * include/grub/video.h (grub_font_init) [!EMU]:
3478 New proto.
3479 (grub_font_fini) [!EMU]: Likewise.
3480 (grub_gfxterm_init) [!EMU]: Likewise.
3481 (grub_gfxterm_fini) [!EMU]: Likewise.
3482 (grub_video_sm712_init) [!EMU]: Likewise.
3483 (grub_video_sm712_fini) [!EMU]: Likewise.
3484 (grub_video_sis315pro_init) [!EMU]: Likewise.
3485 (grub_video_sis315pro_fini) [!EMU]: Likewise.
3486 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
3487 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
3488
3489 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3490
3491 Make nand a prefix for nand devices.
3492
3493 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
3494
3495 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3496
3497 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
3498 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
3499
3500 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3501
3502 * include/grub/env.h (grub_env_find): Remove prototype.
3503 * grub-core/kern/env.c (grub_env_find): Make static.
3504 (grub_env_set): Remove useless set.
3505
3506 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3507
3508 * grub-core/kern/i386/realmode.S: Remove useless align.
3509
3510 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3511
3512 * include/grub/dl.h (grub_dl_load_file): Don't export.
3513
3514 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3515
3516 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
3517 grub_dprintf.
3518
3519 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3520
3521 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
3522 grub_errors.
3523 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
3524 not reloading whole superblock but only the part which is really needed.
3525 Remove useless grub_errors.
3526 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
3527 grub_errors.
3528
3529 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3530
3531 Don't export grub_get_rtc.
3532
3533 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
3534 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
3535
3536 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3537
3538 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
3539
3540 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3541
3542 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
3543 argument since it can be deduced from diskfilter. All users updated.
3544
3545 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3546
3547 Remove prio_list.
3548
3549 * include/grub/list.h (grub_prio_list): Removed.
3550 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
3551 GRUB_COMMAND_PRIO_MASK.
3552 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
3553 GRUB_COMMAND_FLAG_ACTIVE.
3554 (grub_prio_list_insert): Removed.
3555 (grub_prio_list_remove): Likewise.
3556 (GRUB_AS_PRIO_LIST): Likewise.
3557 (GRUB_AS_PRIO_LIST_P): Likewise.
3558 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
3559 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
3560 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
3561 * grub-core/kern/command.c (grub_register_command_prio): Inline
3562 the prio_list code.
3563 (grub_unregister_command): Likewise.
3564
3565 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3566
3567 Fix interrupt mixup from previous commit.
3568
3569 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
3570 (grub_realidt): New var.
3571 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
3572 Load idt.
3573 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
3574 New declaration.
3575 (grub_relocator16_boot): Set grub_relocator16_idt.
3576 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
3577 (LOCAL(realidt)): ... this.
3578 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
3579 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
3580 (grub_realidt): New variable.
3581
3582 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3583
3584 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
3585 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
3586 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
3587 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
3588 Gettextize.
3589 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
3590 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
3591 * po/POTFILES.in: Regenerate.
3592
3593 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3594
3595 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
3596 errors.
3597
3598 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3599
3600 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
3601 \0.
3602 (add_length): Likewise.
3603
3604 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3605 2012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
3606
3607 GDB serial and backtrace support.
3608
3609 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
3610 (prot_to_real): Likewise.
3611 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
3612 * grub-core/Makefile.core.def (backtrace): New module.
3613 (gdb): Likewise.
3614 * grub-core/gdb/cstub.c: New file.
3615 * grub-core/gdb/gdb.c: Likewise.
3616 * grub-core/gdb/i386/idt.c: Likewise.
3617 * grub-core/gdb/i386/machdep.S: Likewise.
3618 * grub-core/gdb/i386/signal.c: Likewise.
3619 * grub-core/lib/i386/backtrace.c: Likewise.
3620 * grub-core/lib/backtrace.c: Likewise.
3621 * include/grub/backtrace.h: Likewise.
3622 * include/grub/gdb.h: Likewise.
3623 * include/grub/i386/gdb.h: Likewise.
3624
3625 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3626
3627 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
3628 New function.
3629 (add_length): Likewise.
3630 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
3631 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
3632 proto.
3633 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
3634 __argp_get_display_len.
3635
3636 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3637
3638 $"..." support in scripts.
3639
3640 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
3641 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
3642 * grub-core/script/yylex.l: Likewise.
3643 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
3644 value.
3645
3646 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3647
3648 * gentpl.py: Remove obsolete pkglib_DATA handling.
3649
3650 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3651
3652 Don't transform PACKAGE_TARNAME following a discussion on autoconf
3653 mailing list.
3654
3655 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
3656 * util/grub-kbdcomp.in: Likewise.
3657 * util/grub-mkconfig.in: Likewise.
3658 * util/grub-mkconfig_lib.in: Likewise.
3659 * util/grub-mknetdir.in: Likewise.
3660 * util/grub-mkrescue.in: Likewise.
3661 * util/grub-mkstandalone.in: Likewise.
3662 * util/grub-reboot.in: Likewise.
3663 * util/grub-set-default.in: Likewise.
3664 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3665
3666 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3667
3668 Remove GRUB_PREFIX.
3669
3670 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
3671 * util/grub.d/00_header.in: Compute prefix in the only place it's still
3672 used for backward compatibility.
3673
3674 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3675
3676 Add new all_video module.
3677
3678 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
3679 * grub-core/Makefile.core.def (all_video): New module.
3680 * grub-core/genmoddep.awk: Generate dependency of all_video from
3681 video.lst.
3682 * grub-core/lib/fake_module.c: New file.
3683 * grub-core/normal/main.c (features): Add feature_all_video_module.
3684 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
3685 don't do explicit search again.
3686 insmod all_video in load_video if available.
3687
3688 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3689
3690 Another round of string clarification and adding TRANSLATORS comments.
3691
3692 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3693
3694 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
3695
3696 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3697
3698 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
3699 to grub_ssize_t.
3700 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
3701 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
3702
3703 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3704
3705 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
3706 trailing newline implicitly. All users updated.
3707
3708 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3709
3710 Implement serial on IEEE1275 and EFI.
3711
3712 * docs/grub.texi (Platform-specific limitations): Fix the columen video
3713 on emu. Mention arc and emu as the only platforms without serial
3714 support.
3715 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
3716 ieee1275 platforms.
3717 * grub-core/term/efi/serial.c: New file.
3718 * grub-core/term/ieee1275/serial.c: Likewise.
3719 * grub-core/term/serial.c (grub_serial_find): Disable direct port
3720 specification if no ns8250 driver is available.
3721 (grub_cmd_serial): Likewise.
3722 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
3723 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
3724 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
3725 (grub_efi_parity_type_t): New type.
3726 (grub_efi_stop_bits_t): Likewise.
3727 (grub_efi_serial_io_interface): New struct.
3728 * include/grub/serial.h (grub_serial_port): Make 'broken' field
3729 available for all interfaces.
3730 Add EFI and IEEE1275 fields.
3731 (grub_ofserial_init): New proto.
3732 (grub_efiserial_init): Likeiwse.
3733 * util/grub.d/00_header.in: Don't check for the presence of serial
3734 module.
3735
3736 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3737
3738 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
3739 name as if it was an alias.
3740
3741 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3742
3743 * grub-core/commands/lsacpi.c (options): Fix typo.
3744
3745 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3746
3747 Convert grub-emu to argp.
3748
3749 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
3750 emu.
3751 * util/argp_common.c: Rename to ...
3752 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
3753 Add missing includes.
3754 * grub-core/kern/emu/main.c: Convert to argp.
3755 * po/POTFILES.in: Regenerate.
3756 * util/grub-install.in (usage): Make first letter lowcase in messages
3757 for uniformity.
3758 * util/grub-setup.c (options): Likewise.
3759
3760 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3761
3762 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
3763 Put back accidently commented-out code.
3764
3765 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3766
3767 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
3768 loop check using Brent algorithm.
3769 (grub_hfsplus_btree_search): Likewise.
3770
3771 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3772
3773 * util/grub-install.in: Fix usage of wrong device for PreP install.
3774
3775 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3776
3777 * conf/Makefile.common (CFLAGS_GNULIB): Add
3778 -Wno-unsafe-loop-optimizations.
3779 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
3780 on tools.
3781 * grub-core/commands/legacycfg.c: Add pragma to skip
3782 -Wunsafe-loop-optimizations.
3783 (check_password_md5_real): Fix loop counter type.
3784 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
3785 reading.
3786 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
3787 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
3788 loop condition.
3789 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
3790 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
3791 * grub-core/net/net.c (grub_net_route_address): Add safety loop
3792 condition.
3793 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
3794 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
3795 avoid possible infinite loops.
3796 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
3797 and -Wunsafe-loop-optimizations.
3798 * grub-core/script/yylex.l: Likewise.
3799 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
3800 (print_glyphs): Avoid infinite loops.
3801 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
3802
3803 2012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
3804
3805 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
3806 to avoid infinite loop.
3807 (disp_acpi_rsdt_table): Likewise.
3808
3809 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3810
3811 * grub-core/font/font.c (grub_font_load): Add support for default
3812 path for fonts ($prefix/fonts).
3813 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
3814 for checking if string is a path.
3815 * grub-core/normal/main.c (features): Add feature_default_font_path.
3816 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
3817 * util/grub.d/00_header.in: Use default directory if possible.
3818 * util/grub-install.in: Install unicode.pf2.
3819
3820 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3821
3822 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
3823 * po/Rules-swiss: New file.
3824 * po/swiss.sed: Likewise.
3825
3826 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
3827
3828 * grub-core/fs/btrfs.c (find_device): Fix typos.
3829 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
3830 * util/grub-mkrelpath.c (argp_parser): Likewise.
3831 Reported by: Yuri Chornoivan.
3832
3833 2012-02-23 Dalet Omega <daletomega@gmail.com>
3834
3835 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
3836 for usual informative messages.
3837
3838 2012-02-23 Dalet Omega <daletomega@gmail.com>
3839
3840 Starfield theme.
3841
3842 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
3843 * conf/Makefile.common: Define starfielddir.
3844 * configure.ac: Configure starfield.
3845 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
3846 * themes/starfield/README: Likewise.
3847 * themes/starfield/blob_w.png: Likewise.
3848 * themes/starfield/boot_menu_c.png: Likewise.
3849 * themes/starfield/boot_menu_e.png: Likewise.
3850 * themes/starfield/boot_menu_n.png: Likewise.
3851 * themes/starfield/boot_menu_ne.png: Likewise.
3852 * themes/starfield/boot_menu_nw.png: Likewise.
3853 * themes/starfield/boot_menu_s.png: Likewise.
3854 * themes/starfield/boot_menu_se.png: Likewise.
3855 * themes/starfield/boot_menu_sw.png: Likewise.
3856 * themes/starfield/boot_menu_w.png: Likewise.
3857 * themes/starfield/slider_c.png: Likewise.
3858 * themes/starfield/slider_n.png: Likewise.
3859 * themes/starfield/slider_s.png: Likewise.
3860 * themes/starfield/src/blob_nw.xcf: Likewise.
3861 * themes/starfield/src/bootmenu/: Likewise.
3862 * themes/starfield/src/bootmenu/center.xcf: Likewise.
3863 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
3864 * themes/starfield/src/bootmenu/side.xcf: Likewise.
3865 * themes/starfield/src/slider_c.xcf: Likewise.
3866 * themes/starfield/src/slider_n.xcf: Likewise.
3867 * themes/starfield/src/slider_s.xcf: Likewise.
3868 * themes/starfield/src/terminalbox/: Likewise.
3869 * themes/starfield/src/terminalbox/center.xcf: Likewise.
3870 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
3871 * themes/starfield/src/terminalbox/side.xcf: Likewise.
3872 * themes/starfield/starfield.png: Likewise.
3873 * themes/starfield/terminal_box_c.png: Likewise.
3874 * themes/starfield/terminal_box_e.png: Likewise.
3875 * themes/starfield/terminal_box_n.png: Likewise.
3876 * themes/starfield/terminal_box_ne.png: Likewise.
3877 * themes/starfield/terminal_box_nw.png: Likewise.
3878 * themes/starfield/terminal_box_s.png: Likewise.
3879 * themes/starfield/terminal_box_se.png: Likewise.
3880 * themes/starfield/terminal_box_sw.png: Likewise.
3881 * themes/starfield/terminal_box_w.png: Likewise.
3882 * themes/starfield/theme.txt: Likewise.
3883
3884 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
3885
3886 * util/grub.d/00_header.in: Add missing export theme.
3887
3888 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3889
3890 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
3891 already included.
3892 Reported by: Eren D.
3893
3894 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3895
3896 * conf/Makefile.common (grubdatadir): Removed.
3897 (Makefile.am): Move eveything grubdata to pkgdata.
3898
3899 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3900
3901 * grub-core/commands/acpihalt.c (get_sleep_type):
3902 Remove unused variable.
3903
3904 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3905
3906 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
3907 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
3908 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
3909 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
3910 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
3911 i18n with gettext no-op.
3912 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
3913 GRUB_ACPI_OPCODE_STRING_CONST.
3914 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
3915 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
3916
3917 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3918
3919 * po/POTFILES.in: Regenerate.
3920
3921 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
3924 -Wno-error=missing-noreturn.
3925
3926 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3927
3928 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
3929 condition to avoid possibly infinite loops.
3930 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
3931 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
3932
3933 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3934
3935 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
3936 condition to avoid possibly infinite loops.
3937
3938 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3939
3940 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
3941 on show_error.
3942
3943 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3944
3945 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
3946
3947 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3948
3949 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
3950
3951 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3952
3953 * util/bin2h.c (usage): Add missing attribute noreturn.
3954
3955 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3956
3957 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
3958 if the size isn't divisible by 512.
3959
3960 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3961
3962 Make list_push and list_remove functions rather than inline functions
3963 to decrease size and avoid aliasing violations.
3964
3965 * include/grub/list.h (grub_list_push): Move to ...
3966 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
3967 * include/grub/list.h (grub_list_remove): Move to ...
3968 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
3969
3970 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3971
3972 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
3973 and -Wunused-result.
3974
3975 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
3976
3977 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
3978 Reported by: Seth Goldberg
3979
3980 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
3981
3982 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
3983
3984 2012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
3985
3986 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
3987 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
3988 command line.
3989 * docs/grub.texi (Simple configuration): Document
3990 GRUB_CMDLINE_GNUMACH.
3991
3992 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
3993
3994 * conf/Makefile.common (platform_SCRIPTS): New variable.
3995 (platform_PROGRAMS): Likewise.
3996 * gentpl.py: Mark *,module and *.image for install.
3997 * grub-core/gdb_grub.in: Add a notice of expected environment.
3998 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
3999 (gmodule.pl): Likewise.
4000
4001 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
4002
4003 Replace grub_checkkey with grub_getkey_noblock.
4004
4005 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
4006 (grub_getkey_noblock): ... this. All users updated.
4007
4008 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
4009
4010 * grub-core/kern/emu/console.c: Move to ...
4011 * grub-core/term/emu/console.c: ...here.
4012 (grub_ncurses_getkey): Fix return value if no key is detected.
4013
4014 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4015
4016 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
4017 (grub_unit_test_fini): Likewise.
4018 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
4019
4020 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4021
4022 * include/grub/test.h (GRUB_UNIT_TEST)
4023
4024 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4025
4026 * grub-core/script/execute.c (grub_script_break): Clarify logic.
4027 Better error handling.
4028 (grub_script_return): Likewise.
4029 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
4030
4031 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4032
4033 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
4034 rimplicit redifinition.
4035
4036 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4037
4038 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
4039 GRUB.
4040
4041 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4042
4043 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
4044 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
4045 prompt here.
4046
4047 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4048
4049 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
4050 as GRUB_ERR_BUG. Don't malloc if no device is available.
4051
4052 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4053
4054 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
4055 Mark calling with invalid term as GRUB_ERR_BUG.
4056
4057 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4058
4059 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
4060 packets rather than raising an error.
4061
4062 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4063
4064 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
4065 in if.
4066
4067 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4068
4069 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
4070 diagnostic to dprintf.
4071 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4072
4073 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4074
4075 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
4076 device name.
4077
4078 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4079
4080 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
4081 (grub_ntfs_iterate_dir): Likewise.
4082
4083 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4084
4085 Efiemu stylistic fixes and gettext.
4086
4087 * grub-core/efiemu/i386/loadcore32.c
4088 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
4089 * grub-core/efiemu/i386/loadcore64.c
4090 (grub_arch_efiemu_relocate_symbols64): Likewise.
4091 * grub-core/efiemu/i386/pc/cfgtables.c
4092 (grub_machine_efiemu_init_tables): Likewise.
4093 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
4094 (grub_efiemu_loadcore_initXX): Add a filename argument.
4095 All users updated.
4096 Improved error message.
4097 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
4098 Add a filename argument.
4099 All users updated.
4100 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
4101 Reclassify double relocation as GRUB_ERR_BUG.
4102
4103 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4104
4105 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
4106 handling.
4107
4108 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4109
4110 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
4111 on partition.
4112
4113 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4114
4115 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
4116
4117 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4118
4119 Improve string. Gettextize.
4120
4121 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4122
4123 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
4124 utils.
4125 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
4126
4127 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4128
4129 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
4130 [GRUB_UTIL]: New function.
4131 (insert_array) [GRUB_UTIL]: Store partmaps.
4132 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
4133 partmaps.
4134 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
4135 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
4136 (probe_abstraction): Print diskfilter and not raid.
4137 Reported by: Lennart Sorensen
4138
4139 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4140
4141 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
4142 * util/grub-mkimagexx.c (MASK3): New define.
4143 (add_value_to_slot_20b): Use MASK3.
4144 (add_value_to_slot_21): Likewise.
4145 (relocate_addresses): Fix format specification.
4146 (load_image): Explicitly init symtab_section.
4147
4148 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4149
4150 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
4151 (grub_util_biosdisk_get_grub_dev): Fix format specification.
4152
4153 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4154
4155 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
4156 on powerpc.
4157 Reported by: Lennart Sorensen
4158
4159 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4160
4161 * gentpl.py: Add missing license header.
4162 * docs/grub.texi: Update copyright year.
4163
4164 2012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
4165
4166 Source grub-mkconfig_lib from the build directory at build time.
4167 Suggested by: Vladimir Serbinenko.
4168
4169 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
4170 * util/grub-install.in: Define pkgdatadir if not already set, and source
4171 grub-mkconfig_lib from there.
4172 * util/grub-kbdcomp.in: Likewise.
4173 * util/grub-mkconfig.in: Likewise.
4174 * util/grub-mknetdir.in: Likewise.
4175 * util/grub-mkrescue.in: Likewise.
4176 * util/grub-mkstandalone.in: Likewise.
4177 * util/grub-reboot.in: Likewise.
4178 * util/grub-set-default.in: Likewise.
4179 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4180
4181 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4182
4183 Increase warning level.
4184
4185 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
4186 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
4187 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
4188 (TARGET_CFLAGS): Likewise.
4189 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
4190 * grub-core/Makefile.core.def (decompressor_xz): Add
4191 -Wno-unreachable-code.
4192 (normal): Add -Wno-redundant-decls.
4193 (xzio): Add -Wno-unreachable-code.
4194 (lzopio): Add -Wno-redundant-decls -Wno-error.
4195 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
4196 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
4197 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
4198 * grub-core/kern/dl.c: Add exception to -Wcast-align.
4199 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
4200 * grub-core/kern/i386/coreboot/init.c: Add exception to
4201 -Wsuggest-attribute=noreturn.
4202 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
4203 * grub-core/kern/ia64/dl_helper.c: Likewise.
4204 * grub-core/kern/mips/dl.c: Likewise.
4205 * grub-core/kern/sparc64/dl.c: Likewise.
4206 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
4207 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
4208 (memcmp): Likewise.
4209 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
4210 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
4211 * grub-core/loader/mips/linux.c: Likewise.
4212 * grub-core/loader/multiboot_elfxx.c: Likewise.
4213 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
4214 * grub-core/video/sm712.c: Add exception to -Wcast-align.
4215 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
4216 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
4217 fixme.
4218 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
4219 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
4220 Fix prototype.
4221
4222 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4223
4224 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
4225 address.
4226
4227 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4228
4229 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
4230 Avoid improper use of strings.
4231 (grub_cmd_legacy_initrdnounzip): Likewise.
4232
4233 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4234
4235 * include/grub/emu/misc.h (grub_util_warn): Add missing format
4236 attribute.
4237 (grub_util_info): Likewise.
4238 (grub_util_error): Likewise.
4239
4240 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4241
4242 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
4243 * util/grub-fstest.c (fstest): Likewise.
4244
4245 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4246
4247 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
4248 (grub_md_sha512_real): Likewise.
4249 (grub_util_get_geli_uuid): Likewise.
4250 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
4251 (grub_util_biosdisk_open): Fix format specification.
4252 Respect format security.
4253 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
4254 (xrealloc): Likewise.
4255 (xasprintf): Likewise.
4256
4257 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4258
4259 * util/import_gcry.py: Include grub/crypto.h in init.c.
4260
4261 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4262
4263 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
4264 (generate_image): Make prefix a const char *.
4265 Fix format specifications. Respect format security.
4266 Avoid void * arithmetics.
4267 Avoid shadowing.
4268 (argp_parser): Remove unused variable. Respect format security.
4269 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
4270 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
4271 (count_funcs): Remove unused variable.
4272 (relocate_addresses): Fix format specification.
4273 Disable x86-64 with elf32. Remove unused variables.
4274 (add_fixup_entry): Avoid shadowing.
4275 (make_reloc_section): Fix format specification.
4276 Use assert.
4277 (locate_sections): Fix format specifications.
4278 (load_image): Avoid shadowing.
4279
4280 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4281
4282 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
4283 Fix format specifications. Respect format security.
4284 Don't translate already translated grub_errmsg.
4285 (argp_parser): Remove unused variable
4286
4287 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4288
4289 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
4290
4291 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4292
4293 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
4294 (main): Likewise. Use xmalloc. Respect format security.
4295
4296 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4297
4298 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
4299 a const char *.
4300 (argp_parser): Remove unused variable.
4301
4302 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4303
4304 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
4305 (add_pixel): Make static.
4306 (add_font): Likewise.
4307 (write_string_section): Make name and str a const char *.
4308 (write_be16_section): Make name a const char *.
4309 (print_glyphs): Make static.
4310 (write_font_ascii_bitmap): Likewise.
4311 (write_font_width_spec): Likewise.
4312 (write_font_pf2): Likewise.
4313 (argp_parser): Remove unused variable.
4314 Respect format security.
4315 (main): Avoid shadowing. Respect format security.
4316
4317 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4318
4319 * util/grub-editenv.c (argp_parser): Make static.
4320 (create_envblk_file): Use xmalloc.
4321 (open_envblk_file): Likewise.
4322 Resepect format security.
4323 (set_variables): Respect format security.
4324
4325 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4326
4327 * util/getroot.c (grub_find_device): Respect format security.
4328 (get_mdadm_uuid): Remove unused variable.
4329 (grub_util_pull_device): Dont call gettext on already translated
4330 grub_errmsg.
4331 (find_system_device): Remove unused variable.
4332 (grub_util_get_grub_dev): Likewise.
4333 (grub_make_system_path_relative_to_its_root): Respect format security.
4334
4335 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4336
4337 * util/grub-fstest.c (execute_command): Make first argument
4338 a const char *.
4339 (read_file): Avoid shadowing.
4340 Reuse underlying error message if device open fails.
4341 (cmd_cmp): Respect format security.
4342 (root): Make const char *.
4343 (fstest): Remove args argument and use global copy.
4344 Respect format security.
4345 (argp_parser): Make static.
4346 (main): Make default_root const char *.
4347
4348 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4349
4350 * util/grub-mount.c (root): Make const char *.
4351 (execute_command): Make first argument a const char *.
4352 (fuse_init): Respect format security.
4353 (argp_parser): Make static. Remove unused variable.
4354 (main): Make default_root a const char *.
4355 Respect format security.
4356
4357 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4358
4359 * util/grub-probe.c (probe): Don't call gettext on already translated
4360 grub_errmsg.
4361 Remove unused variables.
4362 (argp_parser): Remove unused variable.
4363
4364 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4365
4366 * util/grub-script-check.c (argp_parser): Remove unused variable.
4367 (main): Rename read to curread to avoid shadowing.
4368
4369 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4370
4371 * util/misc.c (grub_util_write_image_at): Fix format specification.
4372 (grub_util_write_image): Likewise.
4373 (grub_script_execute_argument_to_string): Removed (unused).
4374 (grub_script_execute_menuentry): Likewise.
4375 (grub_putchar): Likewise.
4376
4377 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4378
4379 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
4380 (FUNCTION) [GRUB_UTIL]: Likewise.
4381 (VARIABLE) [GRUB_UTIL]: Likewise.
4382
4383 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4384
4385 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
4386 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
4387
4388 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4389
4390 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
4391 buffer.
4392
4393 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4394
4395 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
4396 (LzmaEnc_SaveState): Removed (unused).
4397 (LzmaEnc_RestoreState): Likewise.
4398 (LzmaEnc_InitPriceTables): Made static.
4399 (LzmaEnc_Construct): Likewise.
4400 (LzmaEnc_FreeLits): Likewise.
4401 (LzmaEnc_Destruct): Likewise.
4402 (LzmaEnc_Init): Likewise.
4403 (LzmaEnc_InitPrices): Likewise.
4404 (LzmaEnc_Finish): Likewise.
4405 (LzmaEnc_PrepareForLzma2): Removed (unused).
4406 (LzmaEnc_MemPrepare): Likewise.
4407 (LzmaEnc_GetNumAvailableBytes): Likewise.
4408 (LzmaEnc_GetCurBuf): Likewise.
4409 (LzmaEnc_CodeOneMemBlock): Likewise.
4410
4411 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4412
4413 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
4414 (grub_util_ldm_embed): Likewise.
4415
4416 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4417
4418 * util/grub-editenv.c (print_var): Rename name to varname to
4419 avoid shadowing.
4420 (main): Rename index to curindex to avoid shadowing.
4421 Make filename a const char *.
4422
4423 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4424
4425 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
4426 to arg_getline to avoid shadowing.
4427
4428 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4429
4430 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
4431 disk_ to avoid shadowing.
4432
4433 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4434
4435 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
4436 curindex to avoid shadowing.
4437 Make static.
4438 (MatchFinder_GetNumAvailableBytes): Make static.
4439
4440 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4441
4442 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
4443 avoid shadowing.
4444
4445 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4446
4447 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
4448 argument from encrypt to do_encrypt to avoid shadowing.
4449
4450 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4451
4452 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
4453 incorrect nesting of #if's.
4454
4455 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4456
4457 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
4458 checks which are always false on some platforms.
4459 (grub_cmd_lsacpi): Likewise.
4460 * grub-core/kern/misc.c (grub_strtoul): Likewise.
4461 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
4462 Likewise.
4463
4464 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4465
4466 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
4467 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
4468
4469 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4470
4471 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
4472 re_dfa_t to avoid breaking alignment invariants.
4473 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
4474 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
4475
4476 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4477
4478 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
4479 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
4480
4481 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4482
4483 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
4484 Fix declaration.
4485
4486 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4487
4488 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
4489 conserve alignment invariants.
4490 (grub_ehci_ehcc_read16): Likewise.
4491 (grub_ehci_oper_read32): Likewise.
4492 (grub_ehci_oper_write32): Likewise.
4493 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
4494 Conserve alignment invariants.
4495
4496 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4497
4498 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
4499 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
4500 declarations.
4501
4502 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4503
4504 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
4505 Remove unused variable.
4506
4507 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4508
4509 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
4510 Remove set in if.
4511
4512 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4513
4514 * include/grub/net.h: Remove double declarations.
4515
4516 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4517
4518 Remove "payload" command in ia64 Linux loader since I couldn't
4519 find any evidence of it being used for anything.
4520 Replace "relocate" command with an environment variable
4521
4522 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
4523 fields.
4524 (ia64_boot_payload): Removed.
4525 (last_payload): Likewise.
4526 (RELOCATE_OFF): Likewise.
4527 (RELOCATE_ON): Likewise.
4528 (RELOCATE_FORCE): Likewise.
4529 (relocate): Likewise.
4530 (free_pages): Don't free payloads.
4531 (grub_load_elf64): Use common error messages.
4532 Use "linux_relocate" variable.
4533 Increase the space after boot_params.
4534 (grub_cmd_payload): Removed.
4535 (grub_cmd_relocate): Likewise.
4536 (grub_cmd_fpswa): Improve messages.
4537 (cmd_payload): Removed.
4538 (cmd_relocate): Likewise.
4539 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
4540 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
4541
4542 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4543
4544 Convert UHCI to DMA framework.
4545
4546 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
4547 (grub_uhci_pci_iter): Fill new members
4548 (grub_alloc_td): Use P2V and V2P functions.
4549 (grub_free_queue): Likewise.
4550 (grub_alloc_qh): Likewise.
4551 (grub_uhci_setup_transfer): Likewise.
4552 (grub_uhci_check_transfer): Likewise.
4553
4554 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4555
4556 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
4557 Remove assignment in if while on it.
4558
4559 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4560
4561 * util/grub-mkstandalone.in: Fix modules directory.
4562
4563 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4564
4565 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
4566 on i386-pc target.
4567 (argp_parser): Accept "auto" as compression specification.
4568
4569 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4570
4571 Fix `help' with unloaded modules.
4572
4573 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
4574 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
4575 (grub_dyncmd_dispatcher): Small stylistic fix.
4576 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
4577 explicit help is requested.
4578
4579 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4580
4581 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
4582 Explicitly init restart while on it.
4583
4584 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4585
4586 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
4587 uninited variable.
4588
4589 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4590
4591 * util/grub-mknetdir.in: Use . rather than source for POSIX
4592 compatibility.
4593
4594 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4595
4596 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
4597
4598 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4599
4600 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
4601 variable.
4602
4603 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4604
4605 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
4606 without quotes.
4607
4608 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4609
4610 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
4611
4612 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4613
4614 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
4615 iteration of partitions.
4616
4617 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4618
4619 Improve gettext support. Stylistic fixes and error handling fixes while
4620 on it.
4621
4622 2012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4623
4624 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
4625 part. Instead setup the correct stack in RM.
4626 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
4627 for stack.
4628 * include/grub/i386/relocator_private.h: New file.
4629
4630 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4631
4632 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
4633 argument.
4634 * util/grub-fstest.c (options): Add missing DEVICE part.
4635
4636 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4637
4638 Clarify and unify messages.
4639
4640 * grub-core/commands/hashsum.c (options): Unify messages.
4641 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
4642 literal-only message as translatable.
4643 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
4644 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
4645 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
4646 commands.
4647 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
4648 key, not the key used to unlock. Clarify what it's used for.
4649 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
4650 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
4651 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
4652 * util/grub-editenv.c (options): Unify "verbose" message.
4653 * util/grub-fstest.c (read_file): Unify error message.
4654 (fstest): Add quotes around commands.
4655 (options): Unify "verbose" message.
4656 * util/grub-install.in: Add quotes around variable name.
4657 * util/grub-kbdcomp.in: Unify error message.
4658 * util/grub-mkfont.c (main): Likewise.
4659 * util/grub-mkrescue.in: Likewise.
4660 * util/grub-mklayout.c (options): Unify "verbose" message.
4661 * util/grub-mkstandalone.in: Unify help and verbose messages.
4662 * util/grub-mount.c (options): Unify "verbose" message.
4663 * util/grub-probe.c (options): Likewise.
4664 * util/grub-script-check.c (options): Likewise.
4665 * util/grub-setup.c (setup): Unify no-terminator message.
4666 (options): Use DEVICE and not DEV.
4667 Unify "verbose" message.
4668 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
4669
4670 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4671
4672 Improve and unify messages.
4673
4674 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
4675 name. All users updated.
4676 Print filename in error.
4677 (read_device_map): Print filename in error.
4678 * util/getroot.c (grub_guess_root_devices): Print filename in error.
4679 (grub_util_get_os_disk): Likewise.
4680 (grub_util_biosdisk_get_grub_dev): Likewise.
4681 (grub_util_check_block_device): Likewise.
4682 (grub_util_check_char_device): Likewise.
4683 (grub_make_system_path_relative_to_its_root): Likewise.
4684 * util/grub-editenv.c (create_envblk_file): Likewise.
4685 (open_envblk_file): Likewise.
4686 (write_envblk): Likewise.
4687 * util/grub-fstest.c (cmd_cp): Likewise.
4688 (cmd_cat): Likewise.
4689 (cmd_cmp): Likewise.
4690 * util/grub-menulst2cfg.c (main): Likewise.
4691 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
4692 (write_font_width_spec): Likewise.
4693 (write_font_pf2): Likewise.
4694 * util/grub-mkimage.c (generate_image): New argument outname.
4695 All users updated.
4696 Remove unreacheable message.
4697 (options): Unify messages.
4698 (help_filter): Likewise.
4699 * util/grub-mklayout.c (usage): Removed (unused).
4700 (main): Print filename in error.
4701 * util/grub-mkrescue.in: Fix wrong quoting.
4702 * util/grub-setup.c (setup): Print filename in error.
4703 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
4704 (check_sas): Likewise.
4705 * util/misc.c (grub_util_get_fp_size): Removed.
4706 (grub_util_get_image_size): Print filename in error.
4707 (grub_util_read_at): Removed.
4708 (grub_util_read_image): Print filename in error.
4709 (grub_util_load_image): Likewise.
4710 (grub_util_write_image_at): New argument filename. All users updated.
4711 Print filename in error.
4712 (grub_util_write_image): New argument filename. All users updated.
4713 Print filename in error.
4714 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
4715 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
4716
4717 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4718
4719 * grub-core/Makefile.core.def (pxechain): New module.
4720 * grub-core/loader/i386/pc/pxechainloader.c: New file.
4721 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
4722 function.
4723 (grub_pc_net_config_real): Use grub_pxe_get_cached.
4724 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
4725
4726 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4727
4728 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
4729 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
4730 * include/grub/err.h (grub_error_saved): New struct.
4731 (grub_errmsg): Make array size explicit.
4732 * include/grub/misc.h (grub_error_save): New function.
4733 (grub_error_load): Likewise.
4734 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
4735 (grub_error_push): Update `errno' member name.
4736 (grub_error_pop): Likewise
4737 * grub-core/net/tftp.c (tftp_data): New member save_err.
4738 (tftp_receive): Save error.
4739 (tftp_open): Restore error.
4740
4741 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4742
4743 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
4744 to real mode down to execute A20-related code in protected mode as
4745 intended.
4746
4747 2012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
4748
4749 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
4750 NULL when the argument `level' has an unexpected value.
4751
4752 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4753
4754 Move platform-dependent files from $prefix to $prefix/$platform.
4755
4756 * config.h.in (GRUB_TARGET_CPU): New definition.
4757 (GRUB_PLATFORM): Likewise.
4758 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
4759 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
4760 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
4761 * grub-core/kern/dl.c (grub_dl_load): Likewise.
4762 * grub-core/normal/autofs.c (read_fs_list): Likewise.
4763 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
4764 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
4765 * grub-core/normal/term.c (read_terminal_list): Likewise.
4766 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
4767 $prefix/locale.
4768 (grub_gettext_init_ext): Likewise.
4769 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
4770 grub_platform.
4771 * util/grub-install.in: Update directories.
4772 * util/grub-mknetdir.in: Likewise.
4773 * util/grub-mkrescue.in: Likewise.
4774
4775 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4776
4777 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
4778 grub_error framework. All users updated.
4779
4780 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4781
4782 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
4783 lists (by always binsearching), improve caching (cache strings
4784 used for binsearch, not only results), improve
4785 maintainability (by using more structured binary search) and correct
4786 error handling.
4787
4788 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4789
4790 * grub-core/script/execute.c (grub_script_return): Fix warning.
4791
4792 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4793
4794 * grub-core/script/execute.c (grub_script_return): Fix potential
4795 NULL-dereference.
4796 Reported by: Jim Meyering.
4797
4798 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4799
4800 * po/POTFILES.in: Regenerate.
4801 * util/grub-install.in: Gettextize the strings missed in first pass.
4802
4803 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4804
4805 * Makefile.util.def (grub-mkdevicemap): Removed.
4806 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
4807 * include/grub/util/deviceiter.h: Removed.
4808 * util/deviceiter.c: Likewise.
4809 * util/getroot.c (grub_util_get_os_disk): New function.
4810 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
4811 replacement for EFI.
4812 * util/grub-mkdevicemap.c: Removed.
4813 * util/grub-probe.c (probe): Handle PRINT_DISK.
4814 (argp_parser): Handle -t disk.
4815
4816 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4817
4818 * util/grub-mkfont.c: Migrate to argp.
4819 * util/grub-mklayout.c: Likewise.
4820 * util/grub-mkpasswd-pbkdf2.c: Likewise.
4821 * util/grub-mkrelpath.c: Likewise.
4822 * util/grub-probe.c: Likewise.
4823 * util/grub-script-check.c: Likewise.
4824
4825 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4826
4827 * util/grub-reboot.in: Add missing datarootdir.
4828 Add missing newline.
4829 * util/grub-set-default.in: Add missing datarootdir.
4830 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
4831 * util/grub-mkrescue.in: Likewise.
4832
4833 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
4836
4837 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4838
4839 * util/grub-kbdcomp.in: Add decent help and gettextize.
4840 * docs/man/grub-kbdcomp.h2m: New file.
4841
4842 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4843
4844 Migrate grub-mkimage.c to argp.
4845
4846 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
4847 (grub-setup): Likewise.
4848 * util/grub-setup.c (print_version): Move to ...
4849 * util/argp_common.c (print_version): ... here.
4850 * util/grub-setup.c (argp_program_version_hook): Move to ...
4851 * util/argp_common.c (argp_program_version_hook): ... here.
4852 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
4853 safety.
4854 * util/grub-mkimage.c (main): Migrate to argp.
4855
4856 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4857
4858 * util/grub-mkrescue.in: Use same message as
4859 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
4860 for better translations.
4861
4862 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4863
4864 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
4865 options with generic grub-mkrescue.in with the goal of future
4866 merge.
4867
4868 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4869
4870 * grub-core/kern/mm.c: Add missing include of i18n.h
4871 * grub-core/lib/relocator.c: Likewise.
4872
4873 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4874
4875 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
4876 error.
4877 (allocate_pages): Check return value.
4878 Replace fatal with error.
4879 (grub_linux_boot): Replace printf with dprintf.
4880 Check find_mmap_size return value.
4881 Replace fatal with error.
4882 Don't call grub_machine_fini.
4883 (grub_load_elf64): Replace printf with dprintf.
4884 (grub_cmd_linux): Likewise.
4885 (grub_cmd_initrd): Likewise.
4886 (grub_cmd_payload): Likewise.
4887
4888 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4889
4890 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
4891 message.
4892 * grub-core/video/radeon_fuloong2e.c
4893 (grub_video_radeon_fuloong2e_setup): Likewise.
4894 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
4895 * grub-core/video/video.c (grub_video_set_mode): Don't override
4896 standard out of memory message.
4897
4898 2012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
4899
4900 NetBSD disk wedge support.
4901
4902 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
4903 [__NetBSD__]: Handle NetBSD disk wedges.
4904 * util/getroot.c (convert_system_partition_to_system_disk)
4905 [__NetBSD__]: Likewise.
4906
4907 2012-02-03 Mark Wooding <mdw@distorted.org.uk>
4908
4909 * util/grub-mkconfig.in: Use umask rather than chmod to create
4910 grub.cfg.new to avoid insecure grub.cfg.
4911
4912 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4913
4914 * grub-core/commands/ls.c: Gettextize.
4915 * grub-core/commands/setpci.c: Likewise.
4916 * grub-core/commands/videotest.c: Likewise.
4917 * grub-core/disk/geli.c: Likewise.
4918 * grub-core/kern/mm.c: Likewise.
4919 * grub-core/lib/relocator.c: Likewise.
4920 * grub-core/loader/efi/appleloader.c: Likewise.
4921 * grub-core/loader/i386/xnu.c: Likewise.
4922 * grub-core/loader/ia64/efi/linux.c: Likewise.
4923 * grub-core/loader/xnu.c: Likewise.
4924 * grub-core/net/dns.c: Likewise.
4925 * grub-core/net/net.c: Likewise.
4926 * grub-core/script/lexer.c: Likewise.
4927 * grub-core/script/parser.y: Likewise.
4928 * grub-core/script/yylex.l: Likewise.
4929 * util/getroot.c: Likewise.
4930 * util/grub-setup.c: Likewise.
4931
4932 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4933
4934 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
4935 number.
4936
4937 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4938
4939 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
4940
4941 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4942
4943 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
4944 macro.
4945 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
4946 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
4947
4948 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4949
4950 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
4951 * util/grub-install.in: Gettextize.
4952 * util/grub-mkconfig.in: Likewise.
4953 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
4954 if not available.
4955 (grub_warn): Gettextize.
4956 * util/grub-mknetdir.in: Gettextize.
4957 * util/grub-mkrescue.in: Likewise.
4958 * util/grub-mkstandalone.in: Likewise.
4959 * util/grub-reboot.in: Likewise.
4960 * util/grub-set-default.in: Likewise.
4961 * util/grub.d/00_header.in: Likewise.
4962 * util/grub.d/10_hurd.in: Likewise.
4963 * util/grub.d/10_kfreebsd.in: Likewise.
4964 * util/grub.d/10_linux.in: Likewise.
4965 * util/grub.d/10_netbsd.in: Likewise.
4966 * util/grub.d/10_windows.in: Likewise.
4967 * util/grub.d/20_linux_xen.in: Likewise.
4968 * util/grub.d/30_os-prober.in: Likewise.
4969 * po/POTFILES-shell.in: Regenerate.
4970
4971 2012-02-03 Richard Laager <rlaager@wiktel.com>
4972
4973 * util/grub-mkimage.c (main): Fix format-security warning.
4974 * util/grub-mkrelpath.c (main): Likewise.
4975 * util/grub-probe.c (main): Likewise.
4976
4977 2012-02-03 Richard Laager <rlaager@wiktel.com>
4978
4979 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
4980 failure.
4981 Put back lost PRINT_DRIVE.
4982
4983 2012-02-03 Richard Laager <rlaager@wiktel.com>
4984
4985 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
4986 (grub_guess_root_devices): Replace strlen with sizeof.
4987 Avoid crash.
4988 (find_root_devices_from_poolname): Remove unused variable.
4989 Handle raidzN.
4990
4991 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4992
4993 Support install on multi-device filesystems.
4994
4995 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
4996 (grub_guess_root_devices): ...this. Return char **. All users updated.
4997 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
4998 Removed.
4999 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
5000 (find_root_devices_from_poolname): ... here.
5001 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
5002 Support zfs-fuse.
5003 (grub_guess_root_device): Rename to ...
5004 (grub_guess_root_devices): ... this. Return char **. All users updated.
5005 * util/grub-install.in: Handle multi-device filesystems.
5006 * util/grub-probe.c (probe). Make device_names a char **. Add delim
5007 argument. All users updated.
5008 Handle multi-device filesystems.
5009 Use 'delim' as separator.
5010 Remove device check to allow filesystems on file.
5011 (main): Support -0 argument. Handle multi-device.
5012 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
5013 Fix a cross-device check while on it.
5014 (arguments): Remove root_dev.
5015 (argp_parser): Remove -r.
5016 (main): Remove root_dev.
5017
5018 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5019
5020 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
5021
5022 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5023
5024 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
5025 symbol.
5026 Reported by: NODA, Kai <nodakai>.
5027
5028 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5029
5030 Fix ehci on amd64.
5031
5032 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
5033 pointers.
5034 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
5035 (grub_ehci_setup_qh): Likewise.
5036 (grub_ehci_find_qh): Likewise.
5037 (grub_ehci_transaction): Likewise.
5038 (grub_ehci_setup_transfer): Likewise.
5039 (grub_ehci_check_transfer): Likewise.
5040 (grub_ehci_portstatus): Likewise.
5041 (grub_ehci_detect_dev): Likewise.
5042 (grub_ehci_transfer_controller_data): New field td_last_phys.
5043 (grub_ehci_setup_transfer): Fill td_last_phys.
5044 (grub_ehci_check_transfer): Use td_last_phys.
5045
5046 2012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
5047
5048 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
5049 if no submenu is present.
5050
5051 2012-02-01 Aleš Nesrsta <starous@volny.cz>
5052
5053 CBI support.
5054
5055 * include/grub/usb.h (grub_usbms_protocol_t): New values
5056 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
5057 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
5058 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
5059 (grub_usbms_dev): Add subclass, protocol and intrpt.
5060 Remove in_maxsz and out_maxsz.
5061 (grub_usbms_reset): Rename to ...
5062 (grub_usbms_bo_reset): .. this.
5063 (grub_usbms_cbi_cmd): New function.
5064 (grub_usbms_cbi_reset): Likewise.
5065 (grub_usbms_reset): Likewise.
5066 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
5067 (grub_usbms_transfer): Rename to ...
5068 (grub_usbms_transfer_bo): ... this.
5069 (grub_usbms_transfer_cbi): Likewise.
5070 (grub_usbms_transfer): Likewise.
5071
5072 2012-02-01 Aleš Nesrsta <starous@volny.cz>
5073 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5074
5075 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
5076 the support for the CS5536 modification thereos and few bugfixes.
5077
5078 * grub-core/Makefile.core.def (ehci): New module.
5079 * grub-core/bus/usb/ehci.c: New file.
5080 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
5081 port and hubaddr. All users updated.
5082 Save port and hubaddr into dev structure.
5083 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
5084 define.
5085 * include/grub/pci.h (grub_dma_phys2virt): New function.
5086 (grub_dma_virt2phys): Likewise.
5087 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
5088
5089 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5090
5091 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
5092 check as some mkfs implementations omit it.
5093
5094 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5095
5096 * docs/grub.texi (Unicode): Mention identifier and space limitations.
5097
5098 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5099
5100 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
5101 Add new member volname2.
5102 (grub_jfs_label): Use volname2 if available.
5103
5104 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5105
5106 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
5107 over last_mounted as seen in image generated by mkfs.nilfs2.
5108 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
5109
5110 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5111
5112 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
5113 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
5114 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
5115
5116 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5117
5118 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
5119 over the sector.
5120
5121 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5122
5123 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
5124 subvolume name (by removing a bogus and useless check).
5125
5126 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5127
5128 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
5129 sizeof while on it.
5130
5131 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5132
5133 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
5134 (grub_scsi_read_capacity10): ... this.
5135 (grub_scsi_read_capacity16): New function.
5136 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
5137 0xffffffff.
5138 Fix off-by-one error.
5139 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
5140 64-bit unsigned.
5141 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
5142 (grub_scsi_read_capacity10): ... this.
5143 (grub_scsi_read_capacity_data): Rename to ...
5144 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
5145 (grub_scsi_read_capacity16): New struct.
5146 (grub_scsi_read_capacity16_data): Likewise.
5147 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
5148 grub_scsi_cmd_read_capacity10.
5149 New command grub_scsi_cmd_read_capacity16.
5150
5151 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5152
5153 SCSI >2TiB support.
5154
5155 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
5156 (grub_scsi_write16): Likewise.
5157 (grub_scsi_read): Use read16 when necessary.
5158 (grub_scsi_write): Likewise.
5159 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
5160 (grub_scsi_write16): Likewise.
5161 (grub_scsi_cmd_t): Add READ16 and WRITE16.
5162
5163 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5164
5165 SCSI write support (for usbms mainly).
5166
5167 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
5168 a const pointer.
5169 (grub_scsi_write): Implement.
5170 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
5171
5172 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5173
5174 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
5175 variable.
5176
5177 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5178
5179 * grub-core/lib/posix_wrap/string.h (memchr): New function.
5180
5181 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5182
5183 * po/POTFILES.in: Regenerate.
5184
5185 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5186
5187 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
5188 with grub_printf to avoid unnecessary fatal failure.
5189
5190 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5191
5192 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
5193 (INT_MAX): Likewise.
5194 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
5195 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
5196 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
5197 (strcpy): Likewise.
5198 (strstr): Likewise.
5199 (strchr): Likewise.
5200 (strncpy): Likewise.
5201 (strcat): Likewise.
5202 (strncat): Likewise.
5203 (strcoll): Likewise.
5204 * include/grub/types.h (GRUB_SHRT_MAX): New define.
5205 (GRUB_INT_MAX): Likewise.
5206
5207 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5208
5209 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
5210 unexpected error.
5211 (optimize_utf8): Likewise.
5212 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
5213
5214 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5215
5216 * grub-core/boot/i386/pc/lnxboot.S: Use
5217 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
5218 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
5219 location.
5220 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
5221 definition.
5222 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
5223
5224 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5225
5226 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
5227 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
5228 now to avoid double free.
5229 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
5230 hostdisk.
5231 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
5232 * util/grub-probe.c (escape_of_path): Always return a new copy.
5233 (print_full_name): Escape path.
5234 (probe): Don't call grub_util_devname_to_ofpath on NULL.
5235 Fix hints on abstractions.
5236
5237 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5238
5239 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
5240 Don't add "root" line if no compatibility hont is available.
5241 Suggested by: Seth Goldberg.
5242
5243 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5244
5245 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
5246 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
5247 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
5248 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
5249
5250 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5251
5252 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
5253
5254 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5255
5256 * util/grub-pe2elf.c (ehdr): Make static.
5257 (shdr): Likewise.
5258 (num_sections): Likewise.
5259 (offset): Likewise.
5260
5261 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5262
5263 Eliminate ofpath limits and possible overflows.
5264
5265 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
5266 (OF_PATH_MAX): Removed.
5267 (MAX_DISK_CAT): New const.
5268 (find_obppath): Use allocated rather than preallocated buffer.
5269 Return result. Argument of_path removed. All users updated.
5270 Add missing fdstat.
5271 (xrealpath): New function.
5272 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
5273 Allocate rather than use preallocated buffer. All users updated.
5274 (__of_path_common): Use allocated rather than preallocatecd buffer.
5275 Return result. Argument of_path removed. All users updated.
5276 (vendor_is_ATA): Read only needed part form the file.
5277 (check_sas): Allocate depending on contents rather than fixed.
5278 (main) [STANDALONE]: Handle NULL result.
5279
5280 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5281
5282 * grub-core/normal/completion.c (iterate_dev): Close the disk.
5283
5284 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5285
5286 Cryptodisk write support.
5287
5288 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
5289 (grub_cryptodisk_decrypt): Moved logic to ...
5290 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
5291 (grub_cryptodisk_write): Implement.
5292 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
5293 (grub_util_fd_write): ... this. Make global.
5294 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
5295
5296 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5297
5298 * include/grub/list.h (grub_list_remove): Don't crash if element is
5299 removed twice.
5300
5301 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5302
5303 Rename ofconsole to console.
5304
5305 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
5306 as sysnonym to console.
5307 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
5308 * grub-core/term/ieee1275/console.c: ... this. All users updated.
5309 Rename grub_ofconsole_ to grub_console_. All users updated
5310 (grub_console_term_output): Rename "ofconsole" to "console".
5311 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
5312 as "console".
5313
5314 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5315
5316 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
5317 handling.
5318 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
5319 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
5320 GRUB_DISK_DEVICE_FILE_ID.
5321
5322 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5323
5324 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
5325 and improve performance.
5326
5327 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5328
5329 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
5330 missing ieee1275/ prefix on whole disk.
5331
5332 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5333
5334 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
5335 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
5336
5337 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5338
5339 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
5340
5341 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5342
5343 Merge common RAID and LVM logic to an abstract diskfilter.
5344 Add LDM support using the same framework.
5345
5346 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
5347 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
5348 (libgrubmods): Remove grub-core/disk/raid.c and
5349 grub-core/partmap/gpt.c.
5350 * grub-core/Makefile.core.def (ldm): New module.
5351 (raid): Renamed to diskfilter. All users updated.
5352 * grub-core/disk/raid.c: Moved to ...
5353 * grub-core/disk/diskfilter.c: ... here.
5354 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
5355 (lv_num): New var.
5356 (find_array): Renamed to ...
5357 (find_lv): ... this. Support multi-LV. Skip nameless LVs
5358 (grub_is_array_readable): Renamed to ...
5359 (grub_is_lv_readable): ... this. Support multinode hierarchy.
5360 (insert_array): New argument id.
5361 (is_node_readable): New function.
5362 (scan_device): Rename to ...
5363 (scan_disk): .. this. Restrict to one disk.
5364 (scan_devices): New function.
5365 (grub_diskfilter_iterate): Support multi-LV.
5366 Skip invisible and nameless LVs.
5367 (grub_diskfilter_memberlist): Support multi-LV.
5368 (grub_diskfilter_read_node): New function.
5369 (grub_raid_read): Most of logic moved to ...
5370 (read_segment): ... here
5371 (read_lv): New function.
5372 (grub_diskfilter_get_vg_by_uuid): New function.
5373 (grub_diskfilter_make_raid): Likewise.
5374 * grub-core/disk/ldm.c: New file.
5375 * grub-core/disk/lvm.c (vg_list): Removed.
5376 (lv_count): Likewise.
5377 (scan_depth): Likewise.
5378 (is_lv_readable): Likewise.
5379 (grub_lvm_getvalue): Advance pointer past the number.
5380 (find_lv): Removed.
5381 (do_lvm_scan): Refactored into ...
5382 (grub_lvm_detect): ... this. Support raid.
5383 (grub_lvm_iterate): Removed.
5384 (grub_lvm_memberlist): Likewise.
5385 (grub_lvm_open): Likewise.
5386 (grub_lvm_close): Likewise.
5387 (read_lv): Likewise.
5388 (read_node): Likewise.
5389 (is_node_readable): Likewise.
5390 (is_lv_readable): Likewise.
5391 (grub_lvm_read): Likewise.
5392 (grub_lvm_write): Likewise.
5393 (grub_lvm_dev): Use diskfilter
5394 (GRUB_MOD_INIT): Likewise.
5395 (GRUB_MOD_FINI): Likewise.
5396 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
5397 new interface.
5398 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
5399 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5400 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
5401 grub_diskfilter_read_node.
5402 Fix a bug with xor.
5403 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
5404 grub_diskfilter_read_node.
5405 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
5406 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
5407 (grub_disk_dev_iterate): Move from here...
5408 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
5409 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
5410 Make global.
5411 (grub_hostdisk_find_partition_start): Likewise.
5412 (grub_hostdisk_os_dev_to_grub_drive): New function.
5413 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
5414 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
5415 * util/getroot.c (make_device_name): ... here.
5416 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
5417 Move to ...
5418 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
5419 * grub-core/kern/emu/hostdisk.c
5420 (convert_system_partition_to_system_disk): Move to ...
5421 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
5422 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
5423 * util/getroot.c (device_is_wholedisk): ... here.
5424 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
5425 * util/getroot.c (find_system_device): ... here.
5426 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
5427 Move to ...
5428 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
5429 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
5430 Move to ...
5431 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
5432 Handle LDM.
5433 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
5434 Move to ...
5435 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
5436 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
5437 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
5438 DISKFILTER.
5439 * include/grub/raid.h: Renamed to ...
5440 * include/grub/diskfilter.h: ... this.
5441 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
5442 (GRUB_RAID_LAYOUT_*): Make into array.
5443 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
5444 (grub_diskfilter_vg): New struct.
5445 (grub_diskfilter_pv_id): Likewise.
5446 (grub_raid_member): Removed.
5447 (grub_raid_array): Likewise.
5448 (grub_diskfilter_pv): New struct.
5449 (grub_diskfilter_lv): Likewise.
5450 (grub_diskfilter_segment): Likewise.
5451 (grub_diskfilter_node): Likewise.
5452 (grub_diskfilter_get_vg_by_uuid): New proto.
5453 (grub_raid_register): Inline.
5454 (grub_diskfilter_unregister): Likewise.
5455 (grub_diskfilter_make_raid): New proto.
5456 (grub_diskfilter_vg_register): Likewise.
5457 (grub_diskfilter_read_node): Likewise.
5458 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
5459 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
5460 (grub_util_is_ldm): Likewise.
5461 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
5462 (grub_hostdisk_find_partition_start): Likewise.
5463 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
5464 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
5465 New definition.
5466 (grub_gpt_partition_map_iterate): New proto.
5467 * include/grub/lvm.h (grub_lvm_vg): Removed.
5468 (grub_lvm_pv): Likewise.
5469 (grub_lvm_lv): Likewise.
5470 (grub_lvm_segment): Likewise.
5471 (grub_lvm_node): Likewise.
5472 * util/getroot.c [...]
5473 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
5474 (probe_abstraction): Likewise.
5475 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
5476 (main): Remove dead logic.
5477
5478 2012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
5479
5480 Simplify root device discover and don't fail when trying to open
5481 incorrect devices.
5482
5483 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
5484 function.
5485 (get_diskname_from_path): Likewise.
5486 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
5487 of iterating.
5488
5489 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5490
5491 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
5492
5493 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5494
5495 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
5496 pastthe end.
5497
5498 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5499
5500 * util/grub-install.in: Add missing \.
5501 Reported by: gentoofan
5502
5503 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
5504
5505 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
5506 (direct_read): Use correct compressed size.
5507 (grub_squash_read_data): Likewise.
5508
5509 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
5510
5511 * docs/grub.texi (Platform limitations): New section.
5512 (Platform-specific operations): Likewise.
5513 * docs/grub-dev.texi (Porting): Likewise.
5514
5515 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5516
5517 IEEE1275 disk write support.
5518
5519 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
5520 const void *.
5521 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
5522 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
5523 and seek loginc to ...
5524 (grub_ofdisk_prepare): ... here.
5525 (grub_ofdisk_write): Implement.
5526
5527 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5528
5529 ARC disk write support.
5530
5531 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
5532 (reopen): New argument writable. All users updated.
5533 Handle required access mode.
5534 (grub_arcdisk_write): Implement.
5535 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
5536 (grub_arc_firmware_vector): Make buffer to write a const buffer.
5537
5538 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5539
5540 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
5541 (read_sblock): Don't attempt to read superblocks outside the disk size.
5542
5543 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5544
5545 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
5546 first superblock to find the second one when possible.
5547
5548 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5549
5550 * util/grub-install.in: Fix an ARC bug.
5551 Print a warning if no platform-specific setup is available.
5552
5553 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5554
5555 Use static allocation rather than scratch pointer in reed_solomon.
5556 It decreases its size significantly and avoids a variable in .text.
5557
5558 * grub-core/lib/reed_solomon.c (scratch): Removed.
5559 (chosenstat): New const or static array.
5560 (sigma): Likewise.
5561 (errpot): Likewise.
5562 (errpos): Likewise.
5563 (sy): Likewise.
5564 (mstat): Likewise.
5565 (errvals): Likewise.
5566 (eqstat): Likewise.
5567 (pol_evaluate): Replace x with log_x argument. All users updated.
5568 (syndroms): Removed.
5569 (gauss_solve): Use statically allocated arrays.
5570 (rs_recover): Likewise.
5571 Calculate syndroms directly.
5572 (decode_block): Use statically allocated arrays.
5573 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
5574 (main) [TEST]: Allow -DTEST -DSTANDALONE.
5575
5576 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5577
5578 Eliminate fixed limit on reed solomon decoder length.
5579
5580 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
5581 rather than hardcoding the address.
5582 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
5583 no_reed_solomon_length.
5584 Move gate_a20 to no-reed-solomon part.
5585 Don't force a particular size of no reed-solomon part.
5586 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
5587 Removed.
5588 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
5589 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
5590
5591 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5592
5593 * grub-core/commands/wildcard.c (match_files): Handle filenames
5594 without explicit device.
5595 (wildcard_expand): Don't add explicit device if not already present.
5596 * tests/grub_script_echo1.in: Add a new expansion test.
5597
5598 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5599
5600 Replace single-linked with double-linked lists. It results in more
5601 compact and more efficient code.
5602
5603 * grub-core/kern/list.c (grub_list_push): Moved from here ...
5604 * include/grub/list.h (grub_list_push): ... to here. Set prev.
5605 (grub_list_remove): Moved from here ...
5606 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
5607 (grub_prio_list_insert): Set prev.
5608 * include/grub/list.h (grub_list): Add prev. All users updated.
5609
5610 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5611
5612 Handle newer autotools. Add some missing quotes while on it.
5613
5614 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
5615 (pkglib_DATA): Move grub-mkconfig_lib from here ...
5616 (pkgdata_DATA): ... here.
5617 * Makefile.util.def (update-grub_lib): Removed.
5618 * conf/Makefile.common (pkglib_DATA): Removed.
5619 (pkglib_SCRIPTS): Likewise.
5620 (pkgdata_DATA): New variable.
5621 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
5622 needed.
5623 Add missing quotes.
5624 Remove unused variable while on it.
5625 * tests/util/grub-shell.in: Likewise.
5626 * util/grub-install.in: Likewise.
5627 * util/grub-mkconfig.in: Likewise.
5628 * util/grub-mknetdir.in: Likewise.
5629 * util/grub-mkrescue.in: Likewise.
5630 * util/grub-mkstandalone.in: Likewise.
5631 * util/grub.d/00_header.in: Likewise.
5632 * util/grub.d/10_hurd.in: Likewise.
5633 * util/grub.d/10_illumos.in: Likewise.
5634 * util/grub.d/10_kfreebsd.in: Likewise.
5635 * util/grub.d/10_linux.in: Likewise.
5636 * util/grub.d/10_netbsd.in: Likewise.
5637 * util/grub.d/10_windows.in: Likewise.
5638 * util/grub.d/20_linux_xen.in: Likewise.
5639 * util/grub.d/30_os-prober.in: Likewise.
5640 * util/update-grub_lib.in: Removed.
5641
5642 2012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
5643
5644 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
5645 a workaround for intel problem.
5646
5647 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
5648 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
5649 2012-01-23 pfsmorigo
5650
5651 * util/grub-install.in: Support dd'in into PreP partition.
5652 * util/grub-probe.c (probe): Support discovering partition type.
5653 (main): Support -t msdos_parttype.
5654
5655 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
5656
5657 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
5658 infinite recursion using counter.
5659 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
5660 init to skip it if the magic check fails.
5661 (dec_stream_header): Init s->crc32.
5662
5663 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5664 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
5665 2012-01-22 Richard Laager <rlaager@wiktel.com>
5666
5667 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
5668 All users updated.
5669 (find_bestub): Determine correct size.
5670 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
5671 (scan_disk): Align the size down.
5672 Call check pool before find_bestub to have ashift.
5673
5674 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5675
5676 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
5677 dprintf in no-malloc zone.
5678
5679 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
5680
5681 * configure.ac: Add back in test for limits.h.
5682
5683 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5684
5685 Support 4K-sector NTFS.
5686
5687 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
5688 (grub_ntfs_data): Remove blocksize.
5689 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
5690 Remove data argument. All users updated.
5691
5692 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5693
5694 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
5695 being in .text to avoid dprel references.
5696 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
5697 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
5698 (grub_arch_highmemsize): Likewise.
5699 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
5700 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
5701 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
5702
5703 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5704
5705 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
5706
5707 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
5708 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
5709
5710 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5711
5712 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
5713 GRUB_UTIL.
5714 (grub_set_datetime_cmos): Likewise.
5715
5716 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5717
5718 Make XZ compression parameters dependent on target and not host CPU.
5719
5720 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
5721 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
5722
5723 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5724
5725 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
5726 set but not used variable.
5727
5728 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5729
5730 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
5731 created when no uuid support is compiled into mkfs.reiser.
5732
5733 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5734
5735 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
5736 (utf8_to_macroman): Do the opposite.
5737 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
5738
5739 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5740
5741 * configure.ac: Refise build qemu_mips w/o unifont.
5742
5743 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5744
5745 Eliminate grub_min/grub_max prone to overflow usage.
5746
5747 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
5748 (poll_nonroot_hub): Likewise.
5749 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
5750 (grub_affs_label): Likewise.
5751 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
5752 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
5753 (grub_hfs_label): Likewise.
5754 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
5755 * grub-core/fs/zfs/zfs.c (MIN): Remove.
5756 (zap_leaf_array_equal): Use grub_size. Remove MIN.
5757 (zap_leaf_array_get): Likewise.
5758 (dnode_get_path): Likewise.
5759 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
5760 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
5761 * grub-core/script/execute.c (grub_script_break): Likewise.
5762 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
5763 grub_max.
5764 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
5765 * include/grub/misc.h (grub_min): Removed.
5766 (grub_max): Likewise.
5767
5768 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
5769
5770 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
5771 direct.inode = 0.
5772
5773 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5774
5775 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
5776
5777 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5778
5779 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
5780
5781 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5782
5783 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
5784 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
5785
5786 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5787
5788 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
5789 rather than a hack for grub_strncasemap.
5790
5791 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5792
5793 Support multiple initrds
5794 Note: part of this was accidently committed in r3739.
5795
5796 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
5797 initrd.
5798 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
5799 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
5800 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
5801 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5802 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5803
5804 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5805
5806 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
5807 disks with unknown size.
5808 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
5809
5810 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5811
5812 Remove defines pertaining to arbitrary limits not affecting GRUB
5813 anymore.
5814
5815 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
5816 (EXT2_MAX_SYMLINKCNT): Likewise.
5817 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
5818 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
5819 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
5820 (GRUB_PXE_MAX_BLKSIZE): Likewise.
5821 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
5822 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
5823 (DN_MAX_OBJECT_SHIFT): Likewise.
5824 (DN_MAX_OFFSET_SHIFT): Likewise.
5825 (DN_MAX_OBJECT): Likewise.
5826 (DNODES_PER_LEVEL_SHIFT): Likewise.
5827 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
5828 (SPA_MAXBLOCKSIZE): Likewise.
5829 (SPA_BLOCKSIZES): Likewise.
5830 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
5831 (MZAP_MAX_BLKSZ): Likewise.
5832
5833 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5834
5835 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
5836 handle NULL appropriately.
5837 Remove MIN.
5838
5839 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5840
5841 Fix efiemu.
5842
5843 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
5844 cpu/types.h.
5845 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
5846 * configure.ac: Fix efiemu check.
5847
5848 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5849
5850 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
5851 grub_probe.
5852 Reported by: adamwill
5853
5854 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
5855
5856 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
5857
5858 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5859
5860 Fix handling of wide characters in gfxterm.
5861
5862 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
5863 (clear_char): Likewise.
5864 (paint_char): Skip code == NULL chars.
5865 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
5866
5867 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5868
5869 * grub-core/normal/charset.c: Move comment to right place.
5870
5871 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5872
5873 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
5874 (GRUB_AFFS_FLAG_FFS): Put back where it was.
5875 (grub_affs_mount): Revert the correct version checking.
5876
5877 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5878
5879 * docs/grub.texi (Unicode): Mention several other unsupported features.
5880
5881 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
5882
5883 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
5884 case statements as compile-time one.
5885 (direct_read): Prevent spurious warnings.
5886 (grub_squash_read_data): Likewise.
5887
5888 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
5889
5890 Various squash4 fixes and LZO and XZ support.
5891
5892 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
5893 Add xzembed source files.
5894 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
5895 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
5896 (grub_squash_inode): New subtype long_dir.
5897 (SQUASH_TYPE_LONG_DIR): New inode type.
5898 (COMPRESSION): New enum.
5899 (XZBUFSIZ): New const.
5900 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
5901 (read_chunk): Use data->decompress.
5902 (zlib_decompress): New function.
5903 (lzo_decompress): Likewise.
5904 (xz_decompress): Likewise.
5905 (squash_mount): Set new data fields.
5906 (grub_squash_iterate_dir): Handle long dir.
5907 (squash_unmount): Free xzdec and xzbuf.
5908 (grub_squash_open): Check ino type.
5909 (direct_read): Stylistic fixes. Use data->decompress.
5910 (grub_squash_read_data): Likewise.
5911 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
5912 (get_byte): Likewise.
5913 (grub_zlib_disk_read): Removed.
5914 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
5915 (GRUB_POSIX_BOOL_DEFINED): New define.
5916 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
5917 * grub-core/lib/xzembed/xz.h: Addmissing includes.
5918 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
5919 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
5920
5921 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
5922
5923 Don't override more informative errors.
5924
5925 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
5926 * grub-core/font/font.c (open_section): Likewise.
5927 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
5928 filename. Don't override errors.
5929 (grub_cmd_openbsd_ramdisk): Don't override errors.
5930 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
5931 (grub_cmd_initrd): Likewise.
5932 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
5933 (grub_cmd_initrd): Likewise.
5934 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
5935 (grub_cmd_linux): Likewise.
5936 (grub_cmd_initrd): Likewise.
5937 (grub_cmd_payload): Likewise.
5938 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
5939 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
5940 (grub_cmd_module): Likewise.
5941 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5942 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5943 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
5944 (grub_cmd_xnu_mkext): Likewise.
5945 (grub_cmd_xnu_ramdisk): Likewise.
5946 (grub_xnu_check_os_bundle_required): Likewise.
5947 (grub_xnu_load_kext_from_dir): Likewise.
5948 (grub_cmd_xnu_kextdir): Likewise.
5949 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
5950
5951 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5952
5953 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
5954 as 1024 in block size field. Found on one of my test images.
5955 Small optimisation while on it.
5956
5957 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5958
5959 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
5960 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
5961 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
5962 performance fixes while on it.
5963 (grub_sfs_close): Fix memory leak while on it.
5964 (grub_sfs_label): Convert Latin1 to UTF-8.
5965
5966 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5967
5968 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
5969 space to avoid overflows.
5970 (grub_hfs_label): Convert from macroman to UTF-8.
5971
5972 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5973
5974 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
5975
5976 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5977
5978 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
5979
5980 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5981
5982 * unicode: Import Unicode 6.0 data.
5983
5984 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5985
5986 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
5987 outside of range.
5988
5989 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5990
5991 Avoid cutting in the middle of UTF-8 character.
5992
5993 * include/grub/charset.h (grub_getend): New function.
5994 * grub-core/script/function.c (grub_script_function_find): Use
5995 grub_getend.
5996 * grub-core/normal/completion.c (add_completion): Likewise.
5997
5998 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5999
6000 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
6001 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
6002 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
6003 (GRUB_UNICODE_TAG_END): Likewise.
6004 (GRUB_UNICODE_LAST_VALID): Likewise.
6005
6006 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6007
6008 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
6009 len and make it smaller. All users updated.
6010 * util/import_unicode.py: Put length and not end character.
6011 Check length.
6012
6013 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6014
6015 Make better Unicode-compliant and unify some UTF-8 code pathes.
6016
6017 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
6018 valid character.
6019 (grub_is_valid_utf8): Use grub_utf8_process.
6020 Check resulting code range.
6021 (grub_utf8_to_ucs4): Use grub_utf8_process.
6022 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
6023 valid character.
6024
6025 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6026
6027 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
6028
6029 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6030
6031 * docs/grub.texi (Filesystems): Mention AFS.
6032
6033 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6034
6035 * docs/grub.texi (Filesystems): Clarify restrictions.
6036 (Regexp): Mention non-Unicode regexp behaviour.
6037 (Other): Mention non-Unicode matching behaviour.
6038
6039 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6040
6041 Make HFS implementation use MacRoman.
6042
6043 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
6044 (macroman): New const array.
6045 (macroman_to_utf8): New function.
6046 (utf8_to_macroman): Likewise.
6047 (grub_hfs_find_dir): Use utf8_to_macroman.
6048 (grub_hfs_dir): Use macroman_to_utf8.
6049 Set case_insensitive.
6050
6051 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6052
6053 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
6054
6055 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6056
6057 Integrate hints into autogeneration scripts.
6058
6059 * docs/grub.texi (Filesystems): Add a hostdisk example.
6060 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
6061 (grub-probe): Add ofpath.
6062 * gentpl.py: Remove group nosparc64.
6063 * grub-core/commands/search.c (cache_entry): New struct.
6064 (cache): New var.
6065 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
6066 * grub-core/commands/search_wrap.c (options): Add platform-specific
6067 hint options.
6068 (grub_cmd_search): Handle platform-specific hints.
6069 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
6070 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
6071 (grub_util_biosdisk_data): Likewise.
6072 (grub_util_biosdisk_open): Set device_map.
6073 (read_device_map): Handle "" as indication of no map.
6074 Set device_map.
6075 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
6076 (grub_util_biosdisk_get_compatibility_hint): New function.
6077 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
6078 * include/grub/emu/hostdisk.h
6079 (grub_util_biosdisk_get_compatibility_hint): New proto.
6080 * util/grub-install.in: Don't call grub-mkdevicemap.
6081 Add platform-specific hint to load.cfg.
6082 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
6083 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
6084 hints. Set root preliminary to compatibility hint, not to OS name.
6085 * util/grub-probe.c (PRINT_*): Add hints.
6086 (print): Make static.
6087 (escape_of_path): New function.
6088 (guess_bios_drive): Likewise.
6089 (guess_efi_drive): Likewise.
6090 (guess_baremetal_drive): Likewise.
6091 (print_full_name): Likewise.
6092 (probe): Handle hints.
6093 (main): Likewise.
6094 * util/ieee1275/devicemap.c: Removed.
6095 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
6096 updated.
6097 (grub_util_devname_to_ofpath): Return NULL on failure.
6098
6099 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
6100 resource leak.
6101 * util/getroot.c (grub_util_pull_device): Fix memory leak.
6102
6103 * po/POTFILES.in: Regenerated.
6104
6105 Allow purely long options
6106
6107 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
6108 (SHORT_ARG_USAGE): Likewise.
6109 (grub_arg_show_help): Compare opt with help_options.
6110 (parse_option): Receive opt as argument. If makes big simplificatons.
6111 All users updated
6112
6113 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6114
6115 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
6116 Restructure to avoid warning.
6117
6118 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6119
6120 * util/grub-install.in: Account for possible escaped comma in device
6121 name.
6122
6123 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6124
6125 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
6126 channel.
6127
6128 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6129
6130 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
6131 allocation and zero-setting.
6132 (grub_ieee1275_get_devname): Check that alias is complete.
6133
6134 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6135
6136 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
6137 unaligned segments.
6138
6139 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6140
6141 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
6142 prefix.
6143 (grub_ofdisk_open): Check and discard ieee1275 prefix.
6144 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6145 Add ieee1275 prefix.
6146
6147 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6148
6149 * docs/grub.texi (Filesystems): Update.
6150
6151 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6152
6153 Support odc, newc and bigendian cpio formats.
6154
6155 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
6156 * grub-core/Makefile.core.def (newc): New module.
6157 (odc): Likewise.
6158 (cpio_be): Likewise.
6159 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
6160 (MAGIC): Likewise.
6161 (MAGIC2): Likewise.
6162 (head) [MODE_ODC]: Adapt for the format.
6163 (head) [MODE_NEWC]: Likewise.
6164 (head) [!MODE_*]: Write fields of interest as arrays.
6165 (MAGIC_USTAR): Removed.
6166 (read_number) [MODE_NEWC]: Change to hex.
6167 (read_number) [!MODE_*]: Parse binary arrays.
6168 (grub_cpio_find_file): Factor out the code for better structure and
6169 always use read_number.
6170 (grub_cpio_mount): Use MAGIC and MAGIC2.
6171 (grub_cpio_dir): Exit on first hook non-0 return.
6172 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
6173 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
6174 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
6175 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
6176 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
6177 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
6178 * grub-core/fs/newc.c: New file.
6179 * grub-core/fs/odc.c: Likewise.
6180 * grub-core/fs/cpio_be.c: Likewise.
6181
6182 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6183
6184 Fix handling of tar numbers occupying the whole field.
6185
6186 * grub-core/fs/cpio.c (read_number): New function.
6187 (grub_cpio_find_file): Use read_number instead of strtoull.
6188
6189 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6190
6191 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
6192 occupying the whole field size.
6193
6194 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
6195
6196 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
6197
6198 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6199
6200 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
6201
6202 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
6203
6204 * grub-core/Makefile.core.def (lzma_decompress): Add missing
6205 TARGET_IMG_LDFLAGS.
6206
6207 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6208
6209 * util/getroot.c (ESCAPED_PATH_MAX): New define.
6210 (mountinfo_entry): Increase the field size to take escaping into
6211 account.
6212 (find_root_device_from_libzfs): Add one byte to size of strings for
6213 security.
6214
6215 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6216
6217 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
6218 an assert.
6219 * util/grub-setup.c (setup): Likewise.
6220
6221 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6222
6223 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
6224 _LzmaDecodeA.
6225
6226 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6227
6228 * docs/grub.texi (Internationalisation): New section.
6229
6230 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6231
6232 * docs/grub.texi (Loopback booting): New section.
6233
6234 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
6235
6236 * util/grub-mkstandalone.in: Fix minor typo errors.
6237
6238 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6239
6240 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
6241
6242 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
6243 net/icmp.c and net/icmp6.c.
6244 (http): New module.
6245 (priority_queue): Likewise.
6246 * grub-core/io/bufio.c: Rewritten.
6247 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
6248 TYPE_WITH_CONFIGFILE_OPTION.
6249 (legacy_commands): Add bootp and dhcp.
6250 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
6251 (grub_legacy_parse): Likewise.
6252 * grub-core/lib/priority_queue.c: New file.
6253 * grub-core/net/arp.c: Add missing license header.
6254 (arp_find_entry): Removed.
6255 (arp_find_entry): Likewise.
6256 (grub_net_arp_resolve): Rename to ...
6257 (grub_net_arp_send_request): ...this.
6258 (grub_net_arp_receive): New card argument.
6259 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
6260 Set router and DNS server.
6261 (grub_net_configure_by_dhcp_ack): Handle routing information.
6262 (grub_cmd_bootp): Set checksum.
6263 (grub_bootp_init): Remove net_dhcp.
6264 * grub-core/net/dns.c: New file.
6265 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
6266 completion.
6267 (get_card_packet): Handle allocation.
6268 (grub_efinet_findcards): Set mtu.
6269 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
6270 (get_card_packet): Handle allocation.
6271 (emucard): Set mtu.
6272 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
6273 (GRUB_MOD_INIT): Set mtu.
6274 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
6275 mtu.
6276 (get_card_packet): Handle allocation.
6277 (grub_ofnet_findcards): Set mtu.
6278 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
6279 assert.
6280 (grub_net_recv_ethernet_packet): Handle IPv6.
6281 * grub-core/net/http.c: New file.
6282 * grub-core/net/icmp.c: Likewise.
6283 * grub-core/net/icmp6.c: Likewise.
6284 * grub-core/net/ip.c (ip6addr): New type.
6285 (ip6hdr): Likewise.
6286 (reassemble): Likewise.
6287 (cmp): New function.
6288 (reassembles): New variable.
6289 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
6290 (id): New variable.
6291 (send_fragmented): New function.
6292 (grub_net_send_ip_packet): Rename to ...
6293 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
6294 Handle non-UDP.
6295 (grub_net_recv_ip_packets): Rename to ...
6296 (handle_dgram): ... this. Check checksum. Handle non-UDP.
6297 (free_rsm): New function.
6298 (free_old_fragments): Likewise.
6299 (grub_net_recv_ip4_packets): New function.
6300 (grub_net_send_ip6_packet): Likewise.
6301 (grub_net_send_ip_packet): Likewise.
6302 (grub_net_recv_ip6_packets): Likewise.
6303 (grub_net_recv_ip_packets): Likewise.
6304 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
6305 (LINK_LAYER_CACHE_SIZE): New const.
6306 (link_layer_find_entry): New function.
6307 (grub_net_link_layer_add_address): Likewise.
6308 (grub_net_link_layer_resolve_check): Likewise.
6309 (grub_net_link_layer_resolve): Likewise.
6310 (grub_net_ipv6_get_slaac): Likewise.
6311 (grub_net_ipv6_get_link_local): Likewise.
6312 (grub_cmd_ipv6_autoconf): Likewise.
6313 (parse_ip): Handle one number representation.
6314 (parse_ip6): New functoion.
6315 (match_net): Handle IPv6.
6316 (grub_net_resolve_address): Handle IPv6 and DNS.
6317 (grub_net_resolve_net_address): Handle IPv6.
6318 (route_cmp): New function.
6319 (grub_net_route_address): Find best route.
6320 (grub_net_addr_to_str): Handle IPv6.
6321 (grub_net_addr_cmp): New function.
6322 (grub_net_add_addr): Register local route.
6323 (print_net_address): Handle net address.
6324 (grub_net_poll_cards): Retransmit TCP.
6325 (grub_net_poll_cards_idle_real): Likewise.
6326 (have_ahead): New function.
6327 (grub_net_seek_real): Use underlying seek.
6328 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
6329 * grub-core/net/tcp.c: New file.
6330 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
6331 (cmp): New function.
6332 (ack): Likewise.
6333 (tftp_receive): Handle unordered input.
6334 (destroy_pq): New function.
6335 (tftp_close): Close pq.
6336 * grub-core/net/udp.c: Put missing license header.
6337 (grub_net_udp_socket): New function.
6338 (udp_socket_register): Likewise.
6339 (grub_net_udp_close): Likewise.
6340 (grub_net_recv_udp_packet): Check checksum.
6341 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
6342 * include/grub/misc.h (grub_memchr): New function.
6343 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
6344 (grub_net_card_driver): Return buf in recv.
6345 (grub_net_slaac_mac_list): New struct.
6346 (grub_network_level_protocol_id): Add ipv6.
6347 (grub_net_network_level_addr): Likewise.
6348 (grub_net_network_level_net_addr): Likewise.
6349 (grub_net_app_protocol): Add seek.
6350 (grub_net_socket): Removed.
6351 (grub_net_sockets): Likewise.
6352 (grub_net_socket_register): Likewise.
6353 (grub_net_socket_unregister): Likewise.
6354 (FOR_NET_SOCKETS): Likewise.
6355 (grub_net_add_addr): Add const.
6356 (GRUB_NET_BOOTP_*): New enum.
6357 (grub_net_addr_cmp): New proto.
6358 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
6359 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
6360 (grub_net_hwaddr_to_str): NEw proto.
6361 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
6362 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
6363 (grub_dns_init): New proto.
6364 (grub_dns_fini): Likewise.
6365 (grub_net_tcp_retransmit): Likewise.
6366 (grub_net_link_layer_add_address): Likewise.
6367 (grub_net_link_layer_resolve_check): Likewise.
6368 (grub_net_link_layer_resolve): Likewise.
6369 (grub_net_dns_lookup): Likewise.
6370 (grub_net_add_dns_server): Likewise.
6371 (grub_net_remove_dns_server): Likewise.
6372 (GRUB_NET_TRIES): New const.
6373 (GRUB_NET_INTERVAL): Likewise.
6374 * include/grub/net/arp.h: Mostly rewritten.
6375 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
6376 * include/grub/net/ip.h: Mostly rewritten.
6377 * include/grub/net/netbuff.h: Indent.
6378 * include/grub/net/tcp.h: New file.
6379 * include/grub/net/udp.h: Mostly rewritten.
6380 * include/grub/priority_queue.h: New file.
6381 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
6382 (grub_swap_bytes64_compile_time): Likewise.
6383 (grub_cpu_to_be16_compile_time): Likewise.
6384 (grub_cpu_to_be32_compile_time): Likewise.
6385 (grub_cpu_to_be64_compile_time): Likewise.
6386 (grub_be_to_cpu64_compile_time): Likewise.
6387
6388 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
6389
6390 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
6391 UINT_TO_PTR with cast.
6392
6393 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6394
6395 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
6396 don't use them.
6397
6398 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6399
6400 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
6401 already there.
6402
6403 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6404
6405 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
6406 confusing ipxe.
6407
6408 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6409
6410 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
6411 Add missing const attribute.
6412 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
6413 Likewise.
6414 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
6415 Likewise.
6416
6417 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6418
6419 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
6420 misaligned access.
6421 (serpent_setkey): Likewise.
6422 (serpent_encrypt_internal): Likewise.
6423 (serpent_decrypt_internal): Likewise.
6424 (serpent_encrypt): Don't put an alignment-increasing cast.
6425 (serpent_decrypt): Likewise.
6426 (serpent_test): Likewise.
6427
6428 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6429
6430 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
6431
6432 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6433
6434 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
6435
6436 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
6437 grub_addr_t casts.
6438 (PTR_TO_UINT64): Likewise.
6439 (PTR_TO_UINT32): Likewise.
6440
6441 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6442
6443 * util/grub-mkimage.c (generate_image): Decrease the higher limit
6444 because of stack.
6445 * util/grub-setup.c (setup): Don't add redundancy past the higher load
6446 limit.
6447
6448 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6449
6450 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
6451 text_width > available width a bit more gracefully.
6452
6453 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6454
6455 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
6456 current address calculation.
6457
6458 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6459
6460 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
6461 stack.
6462 (encode_block): Likewise.
6463
6464 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6465
6466 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
6467 certainety.
6468
6469 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6470
6471 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
6472 non-RS part to avoid RS messing with GDT.
6473 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
6474 Increase to suit in realmode routines.
6475
6476 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6477
6478 * grub-core/kern/i386/realmode.S: Increase alignment.
6479 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
6480
6481 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6482
6483 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
6484 be deterministic.
6485 (syndroms): Compute 0 syndrom.
6486 (rs_recover): Use 0 syndrom.
6487
6488 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6489
6490 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
6491
6492 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6493
6494 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
6495 brackets.
6496
6497 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6498
6499 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
6500 account.
6501 (get_top_pad): Likewise.
6502 (get_right_pad): Likewise.
6503 (get_bottom_pad): Likewise.
6504
6505 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6506
6507 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
6508
6509 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6510
6511 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
6512 attribute as the structure isn't guaranteed to be properly aligned.
6513 (grub_efi_pci_device_path): Likewise.
6514 (grub_efi_pccard_device_path): Likewise.
6515 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
6516 specify the size of `memory_type'.
6517 (grub_efi_vendor_device_path): Likewise.
6518 (grub_efi_controller_device_path): Likewise.
6519 (grub_efi_acpi_device_path): Likewise.
6520 (grub_efi_expanded_acpi_device_path): Likewise.
6521 (grub_efi_atapi_device_path): Likewise.
6522 (grub_efi_scsi_device_path): Likewise.
6523 (grub_efi_fibre_channel_device_path): Likewise.
6524 (grub_efi_1394_device_path): Likewise.
6525 (grub_efi_usb_device_path): Likewise.
6526 (grub_efi_usb_class_device_path): Likewise.
6527 (grub_efi_i2o_device_path): Likewise.
6528 (grub_efi_mac_address_device_path): Likewise.
6529 (grub_efi_ipv4_device_path): Likewise.
6530 (grub_efi_ipv6_device_path): Likewise.
6531 (grub_efi_infiniband_device_path): Likewise.
6532 (grub_efi_uart_device_path): Likewise.
6533 (grub_efi_vendor_messaging_device_path): Likewise.
6534 (grub_efi_hard_drive_device_path): Likewise.
6535 (grub_efi_cdrom_device_path): Likewise.
6536 (grub_efi_vendor_media_device_path): Likewise.
6537 (grub_efi_file_path_device_path): Likewise.
6538 (grub_efi_protocol_device_path): Likewise.
6539 (grub_efi_piwg_device_path): Likewise.
6540 (grub_efi_bios_device_path): Likewise.
6541
6542 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6543
6544 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
6545 (grub_ucs4_to_utf8_alloc): Likewise.
6546 (grub_ucs4_to_utf8): Likewise.
6547 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
6548 (grub_ucs4_to_utf8_alloc): Likewise.
6549
6550 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6551
6552 AFFS never uses unicode.
6553
6554 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
6555 (grub_latin1_to_utf8): New inline function.
6556 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
6557
6558 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6559
6560 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
6561 overflow.
6562
6563 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6564
6565 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
6566 (grub_squash_dirent_header): Likewise.
6567 (read_chunk): Don't double swap.
6568 (grub_squash_iterate_dir): Fix swap sizes.
6569
6570 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6571
6572 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
6573
6574 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6575
6576 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
6577 (grub_hfs_iterate_dir): Likewise.
6578
6579 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6580
6581 Fix video on platforms where unaligned access is forbidden.
6582 Make several optimisations while on it.
6583
6584 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
6585 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
6586 (grub_video_fbblit_replace_32bit_1bit): Likewise.
6587 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
6588 Disable.
6589 (grub_video_fbblit_replace_16bit_1bit):
6590 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
6591 (grub_video_fbblit_replace_8bit_1bit): Likewise.
6592 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
6593 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
6594 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
6595 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
6596 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
6597 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
6598 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
6599 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
6600 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
6601 (grub_video_fbblit_replace_index_RGB888): Likewise.
6602 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
6603 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
6604 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
6605 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
6606 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
6607 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
6608 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
6609 Disable.
6610 (grub_video_fbblit_blend_XXX565_1bit):
6611 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
6612 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
6613 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
6614 void *.
6615 * grub-core/video/fb/video_fb.c (common_blitter)
6616 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
6617 (grub_video_fb_create_render_target_from_pointer)
6618 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
6619 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
6620 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
6621 definition.
6622 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
6623
6624 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6625
6626 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
6627 HH22 and HM10 relocations.
6628
6629 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6630
6631 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
6632
6633 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6634
6635 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
6636 allocation succeeded.
6637
6638 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6639
6640 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
6641 argument a u8 pointer. All users updated.
6642 Handle unaligned buffers.
6643
6644 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6645
6646 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
6647 add_part to workaround compiler bug.
6648
6649 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6650
6651 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
6652
6653 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6654
6655 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
6656 Reserve alignment invariants.
6657 (grub_multiboot_load): Likewise.
6658 (retrieve_video_parameters): Likewise.
6659 (grub_multiboot_make_mbi): Likewise.
6660
6661 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6662
6663 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
6664 incorrect pointer.
6665
6666 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6667
6668 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
6669 (grub_pata_pio_write): Likewise.
6670
6671 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6672
6673 Add noreturn attributes and remove unreachable code.
6674
6675 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
6676 code.
6677 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
6678 code. Mark as noreturn.
6679 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
6680 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
6681 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
6682 unreachable code.
6683 * grub-core/kern/main.c (grub_main): Mark as noreturn.
6684 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
6685 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
6686 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
6687 * include/grub/kernel.h (grub_main): Mark as noreturn.
6688 * include/grub/reader.h (grub_rescue_run): Likewise.
6689
6690 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6691
6692 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
6693 redundant declaration.
6694
6695 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6696
6697 * include/grub/net.h (grub_net_network_level_interfaces): Remove
6698 redundant declaration.
6699 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
6700
6701 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6702
6703 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
6704 to ensure alignment.
6705 (grub_hdparm_print_identify): Make argument uint16 * to ensure
6706 alignment. Ensure tmp alignment.
6707 (grub_cmd_hdparm): Ensure buf alignment.
6708 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
6709 to ensure alignment.
6710 (grub_ata_dumpinfo): Ensure text alignment.
6711 (grub_atapi_identify): Preserve alignment invariant.
6712 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
6713
6714 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6715
6716 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
6717 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
6718 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
6719 * include/grub/misc.h (grub_reboot)
6720 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
6721 (grub_halt) [__mips__]: Likewise.
6722
6723 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6724
6725 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
6726 Remove redundant declaration.
6727 (grub_mmap_get_post64): Likewise.
6728 (grub_mmap_get_upper): Likewise.
6729 (grub_mmap_get_lower): Likewise.
6730
6731 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6732
6733 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
6734 uint32_t * to ensure alignment.
6735 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
6736
6737 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6738
6739 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
6740 uint16_t * to ensure alignment.
6741 (sun_pc_partition_map_iterate): Make `block' a union to ensure
6742 alignment.
6743
6744 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6745
6746 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
6747 to ensure alignment.
6748 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
6749
6750 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6751
6752 * grub-core/fs/ntfs.c (u16at): Make into inline function.
6753 Handle unaligned pointers.
6754 (u32at): Likewise.
6755 (u64at): Likewise.
6756 (fixup): Use byte access instead of v16at.
6757 (find_attr): Fix imporper usage of v32at.
6758 (read_data): Likewise.
6759 (list_file): Handle byte-swapping and unaligned strings.
6760 (grub_ntfs_label): Likewise.
6761
6762 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6763
6764 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
6765 as it's not necessarily aligned.
6766
6767 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6768
6769 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
6770 redundant declaration.
6771 (grub_serial_init): Likewise.
6772 (grub_terminfo_init): Likewise.
6773
6774 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6775
6776 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
6777 function.
6778 (ZAP_HASH_IDX): Likewise.
6779 (ZAP_LEAF_HASH_SHIFT): Likewise.
6780 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
6781 (LEAF_HASH): Likewise.
6782 (ZAP_LEAF_NUMCHUNKS): Likewise.
6783 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
6784 alignment invariants. Return pointer. All users updated.
6785 (ZAP_LEAF_ENTRY): Make into inline function.
6786 (NBBY): Removed.
6787 (xor): LIkewise.
6788 (xor_out): Use grub_crypto_xor.
6789 (dnode_get_path): Use grub_get_unaligned.
6790 (nvlist_find_value): Likewise.
6791 (grub_zfs_nvlist_lookup_uint64): Likewise.
6792 (grub_zfs_nvlist_lookup_string): Likewise.
6793 (get_nvlist_size): Likewise.
6794 (grub_zfs_open): Likewise.
6795 (fill_fs_info): Likewise.
6796 (grub_zfs_dir): Likewise.
6797 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
6798 alignment invariants.
6799 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
6800 necessarily aligned.
6801
6802 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6803
6804 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
6805
6806 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6807
6808 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
6809 arithmetic to conserve alignment invariants.
6810
6811 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6812
6813 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
6814 redundant declaration.
6815 (grub_efiemu_mm_obtain_request): Likewise.
6816 (grub_efiemu_prepare): Likewise.
6817
6818 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6819
6820 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
6821 to match types.
6822
6823 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6824
6825 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
6826 case of aunaligned recptr.
6827 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
6828 alignment.
6829 (grub_hfsplus_btree_search): Handle unaligned index.
6830
6831 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6832
6833 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
6834 to get freetag and skip.
6835
6836 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6837
6838 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
6839 array.
6840 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
6841 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
6842
6843 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6844
6845 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
6846 name for checksum and fix allocation algorithm.
6847
6848 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6849
6850 * include/grub/types.h (grub_properly_aligned_t): New type.
6851 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
6852 (grub_get_unaligned16): Add explicit casts.
6853 (grub_get_unaligned32): Likewise.
6854 (grub_get_unaligned64): Likewise.
6855 (grub_set_unaligned16): New function.
6856 (grub_set_unaligned32): Likewise.
6857
6858 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6859
6860 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
6861
6862 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6863
6864 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
6865 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
6866 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
6867
6868 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6869
6870 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
6871 conditionals.
6872
6873 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6874
6875 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
6876 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
6877
6878 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6879
6880 Unify and improve RAID and crypto xor.
6881
6882 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
6883 changed to grub_crypto_xor
6884 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
6885 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
6886 Use bigger types when possible.
6887
6888 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6889
6890 * grub-core/disk/raid.c (scan_devices): Fix condition.
6891
6892 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6893
6894 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
6895 Make name a const ptr.
6896
6897 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6898
6899 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
6900 first argument a const pointer.
6901 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
6902 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
6903 proto.
6904 (grub_children_iterate): Likewise.
6905 (grub_machine_mmap_iterate): Remove redundant declaration.
6906
6907 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6908
6909 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
6910 (grub_cmd_acpi) [!x86]: Disable EBDA.
6911
6912 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6913
6914 Enable UTF8 in gnulib regexp.
6915
6916 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
6917 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
6918 (isupper): Use grub_isupper.
6919 (isascii): New inline function.
6920 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
6921 * grub-core/lib/posix_wrap/wctype.h: Likewise.
6922 * grub-core/normal/charset.c (grub_utf8_process): New function.
6923 (grub_utf8_to_utf16): Use grub_utf8_process.
6924 (grub_encode_utf8_character): New function.
6925 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
6926 * include/grub/charset.h (grub_utf8_process): New declaration.
6927 (grub_encode_utf8_character): Likewise.
6928 * include/grub/misc.h (grub_islower): New inline function.
6929 (grub_isupper): Likewise.
6930 (grub_strchrsub): Moved down to fix the definitions.
6931
6932 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6933
6934 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
6935 specification.
6936
6937 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6938
6939 * include/grub/loader.h (grub_loader_register_preboot_hook):
6940 Use struct preboot * and not void * for handle. All users updated.
6941 (grub_loader_unregister_preboot_hook): Likewise.
6942
6943 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
6944
6945 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
6946 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
6947 UTF-16-BE. All users updated.
6948 (grub_hfsplus_cmp_catkey): Fix unicode handling.
6949 (grub_hfsplus_iterate_dir): Likewise.
6950 (grub_hfsplus_label): Likewise.
6951
6952 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
6953
6954 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
6955
6956 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
6957
6958 Add missing const qualifiers.
6959
6960 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
6961 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
6962 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
6963 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
6964 (grub_lvm_check_flag): Likewise.
6965 * grub-core/efiemu/i386/coredetect.c
6966 (grub_efiemu_get_default_core_name): Likewise
6967 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
6968 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
6969 * grub-core/fs/ntfs.c (fixup): Likewise.
6970 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
6971 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
6972 (fzap_lookup): Likewise.
6973 (zap_lookup): Likewise.
6974 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
6975 * grub-core/lib/legacy_parse.c (check_option): Likewise.
6976 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
6977 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
6978 (grub_freebsd_add_meta_module): Likewise.
6979 (grub_cmd_freebsd_module): Likewise.
6980 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
6981 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
6982 (grub_xnu_writetree_get_size): Likewise.
6983 (grub_xnu_writetree_toheap_real): Likewise.
6984 (grub_xnu_find_key): Likewise.
6985 (grub_xnu_create_key): Likewise.
6986 (grub_xnu_create_value): Likewise.
6987 (grub_xnu_register_memory): Likewise.
6988 (grub_xnu_check_os_bundle_required): Likewise.
6989 (grub_xnu_scan_dir_for_kexts): Likewise.
6990 (grub_xnu_load_kext_from_dir): Likewise.
6991 * grub-core/normal/color.c (color_list): Likewise.
6992 * grub-core/normal/completion.c (current_word): Likewise.
6993 * grub-core/normal/menu_entry.c (insert_string): Likewise.
6994 * grub-core/term/serial.c (grub_serial_find): Likewise.
6995 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
6996 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
6997 Likewise.
6998 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
6999 (grub_freebsd_add_meta_module): Likewise.
7000 * include/grub/lib/arg.h (grub_arg_option): Likewise.
7001 * include/grub/net.h (grub_net_card_driver): Likewise.
7002 (grub_net_card): Likewise.
7003 (grub_net_app_protocol): Likewise.
7004 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
7005 * include/grub/serial.h (grub_serial_find): Likewise.
7006 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
7007 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
7008 (grub_xnu_create_value): Likewise.
7009 (grub_xnu_find_key): Likewise.
7010 (grub_xnu_scan_dir_for_kexts): Likewise.
7011 (grub_xnu_load_kext_from_dir): Likewise.
7012
7013 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
7014 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
7015 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
7016 Moved from here ...
7017 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
7018
7019 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
7020
7021 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
7022
7023 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
7024
7025 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
7026 (read_device): Fix size calculation.
7027
7028 2011-11-25 Robert Millan <rmh@gnu.org>
7029
7030 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
7031 (find_root_device_from_libzfs): Add zpool output parser to be used
7032 as fallback when libzfs isn't available.
7033
7034 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
7035
7036 * po/Makefile.in.in: Add missing escape-continuation.
7037
7038 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
7039
7040 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
7041
7042 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7043
7044 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
7045
7046 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7047
7048 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
7049
7050 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7051
7052 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
7053
7054 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7055
7056 * grub-core/lib/adler32.c: Add missing license specification.
7057 * grub-core/lib/crc64.c: Likewise.
7058 * grub-core/loader/i386/pc/plan9.c: Likewise.
7059 * grub-core/partmap/plan.c: Likewise.
7060
7061 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
7062
7063 Add facility to debug GRUB with gdb under qemu.
7064
7065 * grub-core/gdb_grub.in: New file.
7066 * grub-core/gmodule.pl.in: Likewise.
7067 * grub-core/Makefile.core.def (gmodule.pl): New script.
7068 (gdb_grub): Likewise.
7069
7070 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7071
7072 * util/grub-mount.c (argp_parser): Accept relative pathes.
7073 * util/grub-fstest.c (argp_parser): Likewise.
7074
7075 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7076
7077 Plan9 support.
7078
7079 * Makefile.util.def (libgrubmods): Add
7080 grub-core/partmap/plan.c.
7081 * docs/grub.texi: Notice Plan9 support.
7082 * grub-core/Makefile.core.def (plan9): New module.
7083 (part_plan): Likewise.
7084 * grub-core/loader/i386/pc/plan9.c: New file.
7085 * grub-core/partmap/plan.c: Likewise.
7086 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
7087 define.
7088 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
7089 * include/grub/mm.h (grub_extend_alloc): New inline function.
7090
7091 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7092
7093 Make Reed-Solomon faster by using power of generator representation of
7094 GF(256)*.
7095
7096 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
7097 (gf_double_t): Likewise.
7098 (gf_invert): Removed.
7099 (gf_powx): New array.
7100 (gf_powx_inv): Likewise.
7101 (scratch): Move higher.
7102 (gf_reduce): Removed.
7103 (gf_mul): Use powx.
7104 (gf_invert): Likewise.
7105 (init_inverts): Replaced with ...
7106 (init_powx): ...this. All users updated.
7107 (pol_evaluate): Replace multiplications with additions.
7108 (rs_encode): Likewise.
7109 (gauss_eliminate): Call gf_invert.
7110 (grub_reed_solomon_add_redundancy): Call init_powx.
7111 (grub_reed_solomon_recover): Call init_powx unconditionally.
7112
7113 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7114
7115 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
7116
7117 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7118
7119 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
7120 disk->partiton for safety.
7121
7122 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7123
7124 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
7125 Fix a memory leak.
7126 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
7127
7128 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7129
7130 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
7131
7132 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7133
7134 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
7135
7136 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7137
7138 Fix spaces handling in proc/self/mountinfo.
7139
7140 * util/getroot.c (unescape): New function.
7141 (grub_find_root_device_from_mountinfo): Use unescape.
7142
7143 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7144
7145 Support ZFS embedding.
7146
7147 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
7148 (grub_zfs_fs): Register grub_zfs_embed.
7149
7150 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7151
7152 Fix MIPS compilation.
7153
7154 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
7155 * include/grub/offsets.h: Rename decompressor fields from
7156 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
7157 * util/grub-mkimage.c (image_targets): Use new names.
7158
7159 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7160
7161 Defer multiboot device parsing until we're in compressed part.
7162
7163 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
7164 bsd_part. setdevice has fallen into disuse.
7165 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
7166 (bsd_part): Likewise.
7167 (boot_dev): New variable.
7168 (multiboot_trampoline): Don't parse multiboot device.
7169 Pass multiboot device in %edx.
7170 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
7171 grub_boot_device.
7172 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
7173 Likewise.
7174 * grub-core/kern/i386/pc/startup.S: Save edx.
7175 (grub_boot_drive): Removed.
7176 (grub_install_dos_part): Likewise.
7177 (grub_install_bsd_part): Likewise.
7178 (grub_boot_device): New variable.
7179 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
7180 (grub_install_bsd_part): Likewise.
7181 (grub_boot_drive): Likewise.
7182 (grub_boot_device): New variable.
7183 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
7184 Removed.
7185 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
7186 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
7187 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
7188 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
7189 * util/grub-install.in: Remove redundant condition.
7190
7191 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7192
7193 Fix bug introduced by previous commit.
7194
7195 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
7196
7197 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7198
7199 Use decompressors framework on i386-pc. It increases core size
7200 by 46 bytes but improves compatibility and maintainability.
7201
7202 * grub-core/Makefile.core.def (lzma_decompress): New image.
7203 (kernel): Add i386_pc_ldflags.
7204 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
7205 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
7206 to real_to_prot, prot_to_real and device info.
7207 * include/grub/offsets.h: Renamed decompressor offsets.
7208 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
7209 (image_target_desc): Remove raw_size and rename decompressor fields.
7210 (compress_kernel): Handle lzma.
7211 (generate_image): Handle decompressors on i386-pc.
7212
7213 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7214
7215 * configure.ac: Add -fno-asynchronous-unwind-tables.
7216
7217 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7218
7219 Move assembly code to C by using intwrap. It increases core size
7220 by 88 bytes but improves compatibility and maintainability.
7221
7222 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
7223 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
7224 ... here. Translated to C.
7225 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
7226 * grub-core/term/i386/pc/console.c (grub_console_getkey):
7227 ... here. Translated to C.
7228 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
7229 * grub-core/term/i386/pc/console.c (grub_console_getxy):
7230 ... here. Translated to C.
7231 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
7232 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
7233 ... here. Translated to C.
7234 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
7235 * grub-core/term/i386/pc/console.c (grub_console_cls):
7236 ... here. Translated to C.
7237 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
7238 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
7239 ... here. Translated to C.
7240 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
7241 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
7242 Translated to C.
7243 * grub-core/term/i386/pc/console.c (int10_9): New function.
7244 (grub_console_putchar): Likewise.
7245 * include/grub/i386/pc/console.h: Removed the not anymore shared
7246 functions.
7247
7248 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7249
7250 Move grub_chainloader_real_boot out of the kernel.
7251
7252 * grub-core/Makefile.am: Remove machine/loader.h.
7253 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
7254 Removed.
7255 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
7256 variable.
7257 (grub_relocator16_keep_a20_enabled): Likewise.
7258 (grub_relocator16_boot): Fill new variables.
7259 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
7260 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
7261 relocator.
7262 (grub_chainloader_unload): Likewise.
7263 (grub_chainloader_cmd): Likewise.
7264 * include/grub/i386/pc/loader.h: Removed.
7265 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
7266 and esi. All initialisers updated.
7267
7268 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7269 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
7270
7271 * Makefile.util.def (grub-mount): New util.
7272 * .bzrignore: Add grub-mount.
7273 * configure.ac: Check for fuse and enable grub-mount if available.
7274 * docs/man/grub-mount.h2m: New file.
7275 * util/grub-mount.c: Likewise.
7276
7277 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7278
7279 * grub-core/commands/efi/fixvideo.c: Gettextize.
7280 * grub-core/commands/hashsum.c: Likewise.
7281 * grub-core/commands/i386/cmostest.c: Likewise.
7282 * grub-core/commands/i386/pc/drivemap.c: Likewise.
7283 * grub-core/commands/i386/pc/lsapm.c: Likewise.
7284 * grub-core/commands/i386/pc/sendkey.c: Likewise.
7285 * grub-core/commands/lsmmap.c: Likewise.
7286 * grub-core/commands/menuentry.c: Likewise.
7287 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
7288 * grub-core/commands/setpci.c: Likewise.
7289 * grub-core/loader/i386/bsd.c: Likewise.
7290 * grub-core/loader/i386/linux.c: Likewise.
7291 * util/getroot.c: Likewise.
7292 * util/grub-editenv.c: Likewise.
7293 * util/grub-fstest.c: Likewise.
7294 * util/grub-mkfont.c: Likewise.
7295 * util/grub-mkimage.c: Likewise.
7296 * util/grub-mkpasswd-pbkdf2.c: Likewise.
7297 * util/grub-pe2elf.c: Likewise.
7298 * util/grub-probe.c: Likewise.
7299 * util/grub-setup.c: Likewise.
7300 * util/ieee1275/ofpath.c: Likewise.
7301 * util/misc.c: Likewise.
7302 * util/raid.c: Likewise.
7303
7304 2011-11-11 Robert Millan <rmh@gnu.org>
7305
7306 * util/getroot.c (grub_util_get_geom_abstraction): Remove
7307 __attribute__((unused)) from `os_dev', which *is* being used.
7308
7309 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7310
7311 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
7312 forgotten define.
7313 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
7314 GRUB_IA64_DL_GOT_ALIGN.
7315 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
7316 GRUB_IA64_DL_TRAMP_ALIGN.
7317
7318 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7319
7320 Replace grub_fatal with normal errors in i386 linux loader.
7321
7322 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
7323 (allocate_pages): Check find_efi_mmap_size return value.
7324 (grub_e820_add_region): Return error.
7325 (grub_linux_boot): Check mmap return value.
7326
7327 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7328
7329 * grub-core/commands/acpihalt.c: Gettextized.
7330 * grub-core/commands/cacheinfo.c: Likewise.
7331 * grub-core/commands/cmp.c: Likewise.
7332 * grub-core/commands/efi/loadbios.c: Likewise.
7333 * grub-core/commands/gptsync.c: Likewise.
7334 * grub-core/commands/ieee1275/suspend.c: Likewise.
7335 * grub-core/commands/legacycfg.c: Likewise.
7336 * grub-core/commands/memrw.c: Likewise.
7337 * grub-core/commands/minicmd.c: Likewise.
7338 * grub-core/commands/parttool.c: Likewise.
7339 * grub-core/commands/time.c: Likewise.
7340 * grub-core/commands/videoinfo.c: Likewise.
7341 * grub-core/disk/geli.c: Likewise.
7342 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
7343 * grub-core/disk/luks.c: Likewise.
7344 * grub-core/disk/lvm.c: Likewise.
7345 * grub-core/font/font_cmd.c: Likewise.
7346 * grub-core/fs/zfs/zfscrypt.c: Likewise.
7347 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7348 * grub-core/gfxmenu/view.c: Likewise.
7349 * grub-core/kern/emu/hostdisk.c: Likewise.
7350 * grub-core/kern/emu/main.c: Likewise.
7351 * grub-core/kern/emu/misc.c: Likewise.
7352 * grub-core/kern/emu/mm.c: Likewise.
7353 * grub-core/kern/mips/arc/init.c: Likewise.
7354 * grub-core/kern/mips/loongson/init.c: Likewise.
7355 * grub-core/kern/partition.c: Likewise.
7356 * grub-core/lib/i386/halt.c: Likewise.
7357 * grub-core/lib/mips/arc/reboot.c: Likewise.
7358 * grub-core/lib/mips/loongson/reboot.c: Likewise.
7359 * grub-core/loader/i386/pc/chainloader.c: Likewise.
7360 * grub-core/loader/i386/xnu.c: Likewise.
7361 * grub-core/loader/multiboot.c: Likewise.
7362 * grub-core/net/bootp.c: Likewise.
7363 * grub-core/net/net.c: Likewise.
7364 * grub-core/normal/term.c: Likewise.
7365 * grub-core/partmap/bsdlabel.c: Likewise.
7366 * grub-core/parttool/msdospart.c: Likewise.
7367 * grub-core/term/gfxterm.c: Likewise.
7368 * grub-core/term/terminfo.c: Likewise.
7369 * grub-core/video/i386/pc/vbe.c: Likewise.
7370 * util/grub-menulst2cfg.c: Likewise.
7371 * util/grub-mkdevicemap.c: Likewise.
7372 * util/grub-mklayout.c: Likewise.
7373 * util/grub-mkrelpath.c: Likewise.
7374 * util/grub-script-check.c: Likewise.
7375 * util/ieee1275/grub-ofpathname.c: Likewise.
7376 * util/resolve.c: Likewise.
7377
7378 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7379
7380 Support %1$d syntax.
7381
7382 * tests/printf_unit_test.c: New file.
7383 * Makefile.util.def (printf_test): New test.
7384 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
7385
7386 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7387
7388 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
7389 fix.
7390
7391 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7392
7393 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
7394 dprintf.
7395 * grub-core/font/font.c (grub_font_load): Likewise.
7396
7397 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7398
7399 * util/grub-macho2img.c: Add comment concerning gettext.
7400 * grub-core/lib/legacy_parse.c: Likewise.
7401
7402 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7403
7404 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
7405 (grub_xvasprintf): Likewise.
7406
7407 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7408
7409 Add const keyword to grub_env_get and gettextize week days.
7410
7411 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
7412 (grub_read_hook_datetime): Return const char *.
7413 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
7414 updated.
7415 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
7416 Mark for gettext.
7417 (grub_get_weekday_name): Return const char *. Call gettext.
7418 * grub-core/script/argv.c (grub_script_argv_append): Receive const
7419 char * and len as the argument. All users updated.
7420 (grub_script_argv_split_append): Receive const char *.
7421 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
7422 * include/grub/env.h (grub_env_get): Likewise.
7423 (grub_env_read_hook_t): Return const char *.
7424 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
7425 (grub_script_argv_split_append): Likewise.
7426
7427 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7428
7429 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
7430
7431 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7432
7433 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
7434 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
7435
7436 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7437
7438 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
7439 Fix prototype.
7440
7441 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7442
7443 Fix mips compilation.
7444
7445 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
7446 normal decoder.
7447 (hashes): Use in embed decoder as well (for sizes).
7448 (dec_stream_header): Fix embed decompressor logic.
7449 (dec_stream_footer): Likewise.
7450
7451 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7452
7453 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
7454 an error and not a fatal on unrecognised relocation types.
7455
7456 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7457
7458 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
7459 Issue error rather than printf on unknown arguments.
7460
7461 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7462
7463 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
7464 Make buf a const.
7465
7466 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7467
7468 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
7469 Fix module name.
7470
7471 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7472
7473 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
7474 leftover debug printf.
7475
7476 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7477
7478 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
7479
7480 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7481
7482 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
7483 A stylistic fix.
7484
7485 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7486
7487 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
7488
7489 2011-11-10 Shea Levy <slevy@tieronedesign.com>
7490
7491 Allow all modules to perform serial IO
7492
7493 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
7494 * include/grub/serial.h (grub_serial_port_configure): New inline
7495 function.
7496 (grub_serial_port_fetch): Likewise.
7497 (grub_serial_port_put): Likewise.
7498 (grub_serial_port_fini): Likewise.
7499 (grub_serial_find): New proto.
7500
7501 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7502
7503 Put symlink at the end of the node and fix a potential
7504 memory corruption.
7505
7506 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
7507 Make symlink into an array.
7508 (set_rockridge): Set have_symlink and alloc_dirents.
7509 (grub_iso9660_read_symlink): Use new layout.
7510 (grub_iso9660_iterate_dir): Fix memory corruption.
7511 Use new layout.
7512 (grub_iso9660_dir): Set have_symlink.
7513 (grub_iso9660_open): Likewise.
7514
7515 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7516
7517 Remove local keyword.
7518
7519 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
7520 (version_test_gt): Likewise.
7521 (version_find_latest): Likewise.
7522 (gettext_printf): Likewise.
7523 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
7524
7525 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7526
7527 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
7528
7529 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7530
7531 Fix ZFS memory and resource leaks.
7532
7533 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
7534 All users updated.
7535 Free type on exit.
7536 (fill_vdev_info): New parameter inserted. All users updated.
7537 (check_pool_label): Likewise.
7538 (scan_disk): Likewise.
7539 (scan_devices): Close non-inserted disks.
7540 (fzap_iterate): Free l.
7541 (unmount_device): Free children descripto memory.
7542
7543 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7544
7545 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
7546 argument (access out of bounds).
7547
7548 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7549
7550 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
7551 >= 6 drives.
7552
7553 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7554
7555 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
7556 Fix declaration.
7557
7558 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7559
7560 Fix several memory leaks.
7561
7562 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
7563 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
7564 (grub_cpio_dir): Likewise.
7565 * grub-core/fs/fat.c (grub_fat_label): Likewise.
7566 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
7567 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
7568 (grub_romfs_label): Likewise.
7569 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
7570 (squash_unmount): New function.
7571 (grub_squash_dir): Fix memory leak.
7572 (grub_squash_open): Likewise.
7573 (grub_squash_read): Likewise.
7574 (grub_squash_mtime): Likewise.
7575 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
7576 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
7577 * util/grub-fstest.c (fstest): Likewise.
7578
7579 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7580
7581 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
7582 avoid accessing beyond the array.
7583
7584 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7585
7586 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
7587
7588 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7589
7590 Several AFFS fixes.
7591
7592 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
7593 (GRUB_AFFS_FLAG_FFS): Removed.
7594 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
7595 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
7596 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
7597 (grub_fshelp_node): Make block 32-bit.
7598 Add block_cache and last_block_cache.
7599 (grub_affs_read_block): Fill and use block cache.
7600 (grub_affs_read_file): Removed.
7601 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
7602 boot block.
7603 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
7604 safety.
7605 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
7606 space.
7607 (grub_affs_close): Free block cache.
7608 (grub_affs_read): Use grub_fshelp_read_file directly.
7609
7610 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7611
7612 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
7613 with no error set.
7614
7615 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7616
7617 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
7618 used variable.
7619 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
7620 Likewise.
7621
7622 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7623
7624 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
7625
7626 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
7627 byteswap when needed.
7628
7629 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7630
7631 Fix FreeBSD compilation.
7632
7633 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
7634 to avoid circular dependency.
7635 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
7636 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
7637 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
7638
7639 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7640
7641 Fix ZFS crypto error types.
7642
7643 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
7644 (grub_gcm_decrypt): Likewise.
7645 (grub_zfs_load_key_real): Fix error code type. Handle possible error
7646 from PBKDF2.
7647
7648 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7649
7650 Illumos support.
7651
7652 * Makefile.util.def (10_illumos): New script.
7653 * configure.ac: Set COND_HOST_ILLUMOS.
7654 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
7655 Support Illumos calls.
7656 (find_partition_start) [__sun__]: Likewise.
7657 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
7658 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
7659 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
7660 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
7661 device.
7662 * util/grub-probe.c (probe) [__sun__]: Do character check.
7663 * util/grub.d/10_illumos.in: New file.
7664
7665 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7666
7667 Support escaped commas in hostdisk.
7668
7669 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
7670 (find_grub_drive): Use unescape_cmp.
7671 (make_device_name): Escape commas.
7672
7673 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7674
7675 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
7676
7677 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7678
7679 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
7680 variable.
7681
7682 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7683
7684 Support trampoline jumps on powerpc.
7685
7686 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
7687 __ia64__ path.
7688 (grub_dl_load_segments): Set mod->sz.
7689 (grub_dl_flush_cache): Flush whole space occupied by module, not just
7690 segments.
7691 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
7692 (jump): Likewise.
7693 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
7694 function.
7695 (trampoline): New struct.
7696 (trampoline_template): New const.
7697 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
7698 * include/grub/dl.h (grub_dl): Add sz element.
7699 [__powerpc__]: Follow __ia64__.
7700 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
7701 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
7702 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
7703 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
7704
7705 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7706
7707 ZFS crypto support.
7708
7709 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
7710 * grub-core/Makefile.core.def (zfscrypt): New module.
7711 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
7712 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
7713 it. All users updated.
7714 (grub_zfs_decrypt): New var.
7715 (grub_zfs_load_key): Likewise.
7716 (zio_checksum_functions): Add SHA256+MAC.
7717 (zio_checksum_verify): Handle incomplete comparison due to MAC.
7718 (zio_read): Handle encrypted blocks.
7719 (zap_verify): Remove incorrect check.
7720 (fzap_iterate): Handle non-standard fzap.
7721 (zap_iterate): Likewise.
7722 (zap_iterate_u64): New function.
7723 (dnode_get_fullpath): Load keys.
7724 * grub-core/fs/zfs/zfscrypt.c: New file.
7725 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
7726 (grub_crypto_ecb_encrypt): Make input const.
7727 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
7728 (grub_crypto_ecb_encrypt): Make input const.
7729 (GRUB_CIPHER_AES): New macro.
7730 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
7731 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
7732 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
7733 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
7734 prefix. All users updated.
7735 (grub_zfs_add_key): New proto.
7736 (grub_zfs_decrypt): Likewise.
7737 (grub_zfs_load_key): Likewise.
7738 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
7739 * util/grub-fstest.c (options): Add -K option.
7740 (argp_parser): Likewise.
7741
7742 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
7743
7744 Support zle compression on ZFS.
7745
7746 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
7747 (decomp_table): Add zle.
7748 * include/grub/zfs/zio.h (zio_compress): Add zle.
7749
7750 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
7751
7752 Support BtrFS embedding.
7753
7754 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
7755 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
7756 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
7757 * util/grub-setup.c (setup): Use fs embedding if available.
7758 Add additional sanity check.
7759
7760 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
7761
7762 * util/grub-install.in: Fix condition for config_opt.
7763
7764 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7765
7766 Support third redundancy strip on raidz3.
7767
7768 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
7769 Return error on singularity. All users updated.
7770 (read_device): Don't stop on 3rd failure on raidz3.
7771
7772 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7773
7774 Support case-insensitive ZFS subvolumes.
7775
7776 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
7777 All users updated.
7778 (zap_hash): Likewise.
7779 (name_cmp): New function.
7780 (zap_leaf_array_equal): New parameter case_insensitive.
7781 All users updated.
7782 (zap_leaf_lookup): Likewise.
7783 (fzap_lookup): Likewise.
7784 (zap_lookup): Likewise.
7785 (dnode_get_path): New parameter case_insensitive. Retrieve case
7786 sensitiviness of a volume. All users updated.
7787 (dnode_get_fullpath): New parameter case_insensitive.
7788 All users updated.
7789 (grub_zfs_dir): Set info.case_insensitiveness.
7790
7791 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7792
7793 Support second redundancy strip on raidz(2,3).
7794
7795 * grub-core/fs/zfs/zfs.c (powx): New array.
7796 (powx_inv): Likewise.
7797 (poly): New const.
7798 (xor_out): New function.
7799 (gf_mul): Likewise.
7800 (recovery): Likewise.
7801 (read_device): Use second redundancy strip.
7802
7803 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7804
7805 Use a power of generator representation of GF(256) multiplication group
7806 to save space time and complexity.
7807
7808 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
7809 (raid6_table2): Likewise.
7810 (powx): New array.
7811 (powx_inv): Likewise.
7812 (poly): New const.
7813 (grub_raid_block_mul): Replace with ...
7814 (grub_raid_block_mulx): ...this.
7815 (grub_raid6_init_table): Rewritten.
7816 (grub_raid6_recover): Use power of generator representation.
7817
7818 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7819
7820 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
7821 for the right device.
7822
7823 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7824
7825 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
7826 expected by grub-mkimage and it's more clear since there is no implicit
7827 padding.
7828
7829 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7830
7831 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
7832 disk.
7833 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
7834
7835 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
7836
7837 * util/grub-mkrescue.in: Fix handling xorriso option.
7838
7839 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7840
7841 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
7842 NULL.
7843
7844 2011-11-03 crocket <crockabiscuit@gmail.com>
7845
7846 * util/grub.d/10_linux.in: Add Slackware initrd naming.
7847
7848 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7849
7850 XZ CRC64 and SHA256 support.
7851
7852 * Makefile.util.def (libgrubmods): Add crc64.c.
7853 * grub-core/Makefile.core.def (crc64): New module.
7854 * grub-core/lib/crc64.c: New file.
7855 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
7856 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
7857 Fix the type.
7858 (MAX_HASH_SIZE): New define.
7859 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
7860 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
7861 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
7862 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
7863 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
7864 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
7865 Handle non-crc32 hashes.
7866 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
7867 (dec_stream_header): Handle non-crc32 hashes.
7868 (dec_stream_footer): Likewise.
7869 (dec_block_header): Likewise.
7870 (dec_main): Likewise.
7871 (xz_dec_init): Likewise.
7872 (xz_dec_reset): Likewise.
7873 (xz_dec_end): Likewise.
7874 * util/import_gcry.py: Add CRC64 line.
7875
7876 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7877
7878 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
7879 as well.
7880
7881 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7882
7883 Make reiserfs label retrieval similar to other *_label functions.
7884
7885 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
7886 (REISERFS_MAX_LABEL_LENGTH): Removed.
7887 (REISERFS_LABEL_OFFSET): Likewise.
7888 (grub_reiserfs_label): Rewritten.
7889
7890 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7891
7892 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
7893 field.
7894
7895 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7896
7897 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
7898
7899 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
7900
7901 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
7902 drive failure on both raidz and raidz2.
7903
7904 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
7905
7906 Fix RAIDZ(2) for >= 5 devices.
7907
7908 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
7909 asize argument. All users updated.
7910
7911 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7912
7913 Fix RAIDZ(2).
7914
7915 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
7916 (fill_vdev_info_real): Set ashift.
7917 (read_device): Rewrite RAIDZ part based on reverse engineering.
7918
7919 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
7920
7921 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
7922 don't report potentially unavialiable fields in debug output.
7923 (find_path): Fix double-free and memory leak.
7924
7925 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
7926
7927 Read label on UFS1.
7928
7929 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
7930 (grub_ufs_fs): Always set .label.
7931
7932 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
7933
7934 Use shifts in UFS.
7935
7936 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
7937 (grub_ufs_data): New field log2_blksz.
7938 (grub_ufs_read_file): Use shifts.
7939 (grub_ufs_mount): Check block size and logarithm it.
7940
7941 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
7942
7943 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
7944 long symlinks.
7945
7946 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7947
7948 Handle symlinks and long names on tar and cpio.
7949
7950 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
7951 (ATTR_FILE): Likewise.
7952 (ATTR_DIR): Likewise.
7953 (ATTR_LNK): Likewise.
7954 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
7955 (grub_cpio_find_file): Fill mode, handle linkname field as well as
7956 L and K entries.
7957 (grub_cpio_mount): Zero-fill data.
7958 (handle_symlink): New function.
7959 (grub_cpio_dir): Handle symlinks.
7960 (grub_cpio_open): Likewise.
7961 (grub_cpio_close) [MODE_USTAR]: Free linkname.
7962
7963 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7964
7965 Fix iso9660 filename limitations and fix memory leaks.
7966
7967 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
7968 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
7969
7970 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7971
7972 Fix JFS file name length limitations.
7973
7974 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
7975 (grub_jfs_diropen): Fix maximum filename length.
7976 (grub_jfs_getent): Fix filename length.
7977 (grub_jfs_lookup_symlink): Fix size checks.
7978
7979 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7980
7981 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
7982 string.
7983
7984 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7985
7986 Leverage BFS implementation to read AFS.
7987
7988 * Makefile.util.def (libgrubmods): Add afs.c.
7989 * grub-core/Makefile.core.def (afs): New module
7990 * grub-core/fs/afs.c: New file.
7991 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
7992
7993 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7994
7995 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
7996
7997 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7998
7999 * grub-core/fs/bfs.c: Run indent.
8000
8001 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8002
8003 BFS implementation based on the specification.
8004
8005 * grub-core/fs/bfs.c: New file.
8006 * Makefile.util.def (libgrubmods): Add bfs.c.
8007 * grub-core/Makefile.core.def (bfs): New module.
8008
8009 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8010
8011 * util/grub-fstest.c (cmd_cp): Clarify error message.
8012 (cmd_cmp): Likewise.
8013
8014 2011-10-30 Yves Blusseau <blusseau@zetam.org>
8015
8016 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
8017 and befs_be.
8018
8019 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
8020
8021 Remove afs and befs because of copyright problem.
8022
8023 * grub-core/fs/afs.c: Removed.
8024 * grub-core/fs/afs_be.c: Removed.
8025 * grub-core/fs/befs.c: Removed.
8026 * grub-core/fs/befs_be.c: Removed.
8027 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
8028 * grub-core/Makefile.core.def (afs): Removed.
8029 (afs_be): Likewise.
8030 (befs): Likewise.
8031 (befs_be): Likewise.
8032
8033 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8034
8035 Prefer rockridge over Joliet.
8036
8037 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
8038 to ...
8039 (set_rockridge): ... here.
8040 (grub_iso9660_mount): Check rockridge on the primary label when
8041 discovering. Ignore Joliet if Rockridge is present.
8042
8043 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8044
8045 Use shifts in nilfs2.
8046
8047 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
8048 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
8049 (grub_nilfs2_palloc_entries_per_group): Replace with ...
8050 (grub_nilfs2_log_palloc_entries_per_group): ... this.
8051 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
8052 (grub_nilfs2_entries_per_block): Replaced with ...
8053 (grub_nilfs2_log_entries_per_block_log): ... this.
8054 (grub_nilfs2_blocks_per_group): Replaced with ...
8055 (grub_nilfs2_blocks_per_group_log): ... this.
8056 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
8057 (grub_nilfs2_blocks_per_desc_block_log): ... this.
8058 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
8059 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
8060 (grub_nilfs2_palloc_entry_offset): Replaced ...
8061 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
8062 (grub_nilfs2_dat_translate): Use shifts.
8063 (grub_nilfs2_read_inode): Likewise.
8064 (GRUB_MOD_INIT): Ensure that logs are correct.
8065
8066 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8067
8068 Use shifts in minix filesystem.
8069
8070 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
8071 (GRUB_MINIX_ZONE2SECT): Likewise.
8072 (grub_minix_data): Replace block_size with log_block_size.
8073 (grub_minix_read_file): Use shifts.
8074 (grub_minix_mount): Check block size and take a logarithm.
8075
8076 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8077
8078 Use shifts in squash4.
8079
8080 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
8081 (squash_mount): Check block size and take logarithm.
8082 (direct_read): Use shifts.
8083
8084 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8085
8086 Correct befs block counting logic.
8087
8088 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
8089 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
8090 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
8091 (grub_afs_read_inode): Use block_shift.
8092 (RANGE_SHIFT): New definition.
8093 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
8094 unexpected conditions, use shifts and appropriate types.
8095 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
8096
8097 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8098
8099 * grub-core/disk/raid.c (scan_devices): Check partition.
8100 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
8101
8102 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
8103
8104 Support BFS (befs) UUID.
8105
8106 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
8107 (grub_afs_small_data_element_header): New struct.
8108 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
8109 (grub_afs_read_attribute) [MODE_BFS]: New function.
8110 (grub_afs_iterate_dir): Allocate for complete inode.
8111 (grub_afs_mount): Likewise.
8112 (grub_afs_uuid) [MODE_BFS]: New function.
8113 (grub_afs_fs) [MODE_BFS]: Add .uuid.
8114
8115 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
8116
8117 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
8118 (zfs_unmount): Fix memory leak.
8119
8120 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8121
8122 Support NTFS reparse points.
8123
8124 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
8125 (symlink_descriptor): New struct.
8126 (grub_ntfs_read_symlink): New function.
8127 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
8128 (grub_ntfs_open): Likewise.
8129
8130 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8131
8132 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
8133
8134 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8135
8136 fstest xnu_uuid subcommand.
8137
8138 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
8139 grub-core/commands/xnu_uuid.c.
8140 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
8141 (fstest): Handle xnu_uuid.
8142 (options): Document xnu_uuid.
8143 (argp_parser): Parse xnu_uuid.
8144
8145 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8146
8147 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
8148 -l argument. Add newline at the end if printing.
8149 (GRUB_MOD_INIT): Document -l.
8150
8151 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8152
8153 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
8154
8155 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8156
8157 ZFS multi-device and version 33 support.
8158
8159 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
8160 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
8161 (grub_zfs_data): Add multidev-ice-related fields.
8162 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
8163 (dva_get_offset): Make dva const.
8164 (zfs_fetch_nvlist): New function.
8165 (fill_vdev_info_real): Likewise.
8166 (fill_vdev_info): Likewise.
8167 (check_pool_label): Likewise.
8168 (scan_disk): Likewise.
8169 (scan_devices): Likewise.
8170 (read_device): Likewise.
8171 (read_dva): Likewise.
8172 (zio_read_gang): Use read_dva.
8173 (zio_read_data): Likewise.
8174 (zap_leaf_lookup): Add missing endian conversion.
8175 (zap_verify): Add missing endian conversion. All users updated.
8176 (fzap_lookup): Likewise.
8177 (fzap_iterate): Likewise.
8178 (dnode_get_path): Handle SA bonus.
8179 (nvlist_find_value): Make input const. All users updated.
8180 (unmount_device): New function.
8181 (zfs_unmount): Use unmount_device.
8182 (zfs_mount): Use scan_disk.
8183 (zfs_mtime): New function.
8184 (grub_zfs_open): Handle system attributes.
8185 (fill_fs_info): Likewise.
8186 (grub_zfs_dir): Likewise.
8187 (grub_zfs_fs): Add mtime.
8188 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
8189 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
8190 (SA_MTIME_OFFSET): Likewise.
8191 (SA_SYMLINK_OFFSET): Likewise.
8192 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
8193 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
8194 (fstest): Support zfsinfo.
8195 (argp_parser): Likewise.
8196
8197 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8198
8199 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
8200 error.
8201
8202 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8203
8204 ZFS fixes.
8205
8206 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
8207 sharing the same block. Iterate over correct number of indices.
8208 (dnode_get_path): Handle symlinks correctly.
8209
8210 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8211
8212 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
8213
8214 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8215
8216 Read label on HFS+.
8217
8218 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
8219 (grub_hfsplus_btree_search): Fix types.
8220 (grub_hfsplus_label): Implement.
8221
8222 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8223
8224 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
8225
8226 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8227
8228 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
8229
8230 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8231
8232 Fix symlink handling on iso9660.
8233
8234 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
8235 All users updated.
8236 (grub_iso9660_susp_iterate): Accept zero-size iterate.
8237 (grub_iso9660_read_symlink): Moved most of code ...
8238 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
8239
8240 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8241
8242 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
8243 Use union to avoid breaking strict-aliasing rules.
8244
8245 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8246
8247 Support multi-extent iso files.
8248
8249 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
8250 Add node.
8251 (grub_fshelp_node): Revamp. All users updated.
8252 (FLAG_*): New enum.
8253 (read_node): New function.
8254 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
8255 All users updated.
8256 (grub_iso9660_mount): Don't attempt to read sua when there is none.
8257 (get_node_size): New function.
8258 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
8259 entries.
8260 Fix memory leak on . and ..
8261 (grub_iso9660_read): Use read_node.
8262 (grub_iso9660_close): Free node.
8263
8264 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8265
8266 Fix tar 4G limit and handle paths containing dot.
8267
8268 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
8269 (canonicalize): New function.
8270 (grub_cpio_find_file): Use canonicalize. Store offs in
8271 grub_disk_addr_t.
8272 (grub_cpio_dir): Use grub_disk_addr_t.
8273 (grub_cpio_open): Likewise.
8274
8275 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8276
8277 Fix handling of uncompressed blocks on squashfs and break 4G limit.
8278
8279 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
8280 unused flags.
8281 (grub_squash_inode): Add long_file and block_size.
8282 (grub_squash_cache_inode): New struct.
8283 (grub_squash_dirent): Make types into enum.
8284 (SQUASH_TYPE_LONG_REGULAR): New type.
8285 (grub_squash_frag_desc): Add field size.
8286 (SQUASH_BLOCK_FLAGS): New enum.
8287 (grub_squash_data): Use grub_squash_cache_inode.
8288 (grub_fshelp_node): Make ino_chunk 64-bit.
8289 (read_chunk): Minor argument change. All users updated.
8290 (squash_mount): Use correct le_to_cpu.
8291 (grub_squash_open): Handle LONG_REGULAR.
8292 (direct_read): New function.
8293 (grub_squash_read_data): Handle blocks correctly.
8294
8295 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8296
8297 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
8298
8299 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8300
8301 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
8302
8303 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8304
8305 Fix 2G limit on ZFS.
8306
8307 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
8308 types.
8309 (uberblock_verify): Likewise.
8310 (dmu_read): Likewise.
8311 (grub_zfs_read): Likewise. Remove invalid cast.
8312
8313 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8314
8315 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
8316 (grub_jfs_blkno): Fix incorrect shift.
8317 (grub_jfs_read_file): Use more appropriate types.
8318
8319 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8320
8321 Support triple indirect on minix2 and minix3.
8322
8323 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
8324 Declare triple_indir_zone.
8325 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
8326 indirect.
8327
8328 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8329
8330 Minix FS fixes.
8331
8332 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
8333 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
8334 Rename ctime to mtime. All users updated.
8335 (grub_minix_get_file_block): Fix types and double indirect computations.
8336
8337 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8338
8339 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
8340 if no label is found.
8341 (grub_fat_iterate_dir): Fix file size type.
8342 (grub_fat_iterate_dir): Likewise.
8343
8344 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8345
8346 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
8347 save some space.
8348 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
8349 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
8350
8351 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8352
8353 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
8354
8355 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8356
8357 * util/import_gcry.py: Accept space between # and include.
8358
8359 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8360
8361 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
8362
8363 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8364
8365 Fine grainely disable warnings on lexer. Remove Wno-error on it.
8366
8367 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
8368 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
8369 yylex_strncpy.
8370 * grub-core/script/yylex.l: Add fine-grained #pragma.
8371
8372 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8373
8374 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
8375 New inline function.
8376 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
8377 Likewise.
8378 (memset) [GRUB_UTIL]: Likewise.
8379 (memcmp) [GRUB_UTIL]: Likewise.
8380
8381 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8382
8383 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
8384 inline function rather than a define.
8385
8386 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8387
8388 * util/grub-setup.c: Add missing include.
8389
8390 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8391
8392 * util/ieee1275/grub-ofpathname.c: Add missing include.
8393
8394 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8395
8396 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
8397 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
8398 Likewise.
8399
8400 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8401
8402 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
8403 grub_memcmp usage.
8404
8405 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8406
8407 * util/grub-install.in: Add datarootdir as per automake manual
8408 suggestion.
8409 * util/grub-mknetdir.in: Likewise.
8410
8411 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8412
8413 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
8414 suggestion.
8415 * util/grub.d/10_kfreebsd.in: Likewise.
8416 * util/grub.d/10_linux.in: Likewise.
8417 * util/grub.d/10_netbsd.in: Likewise.
8418 * util/grub.d/10_windows.in: Likewise.
8419 * util/grub.d/20_linux_xen.in: Likewise.
8420
8421 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
8422
8423 Remove redundant grub_kernel_image_size.
8424
8425 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
8426 _edata and _start.
8427 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
8428 the small code. It moves it only by few bytes but simplifies the code.
8429 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
8430 _start.
8431 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
8432 (grub_kernel_image_size): Removed.
8433 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
8434 (grub_kernel_image_size): Removed.
8435 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
8436 compiled with Apple toolchain.
8437 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
8438 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
8439 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
8440 (grub_total_module_size): Likewise.
8441 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
8442 Removed.
8443 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
8444 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
8445 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
8446 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
8447 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
8448 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
8449 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
8450 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
8451 Removed.
8452 (grub_total_module_size): Removed.
8453 * util/grub-mkimage.c (image_target_desc): Remove image_size.
8454 (image_targets): Likewise.
8455 Set .compressed_size to no field on sparc.
8456 (generate_image): Remove kernel_image_size handling.
8457
8458 2011-10-19 Szymon Janc <szymon@janc.net.pl>
8459
8460 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
8461 NULL pointer dereference.
8462
8463 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8464
8465 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
8466 done with a dedicated section.
8467
8468 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
8469 Ensure the correct position of boot_path.
8470 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
8471 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
8472 other fields.
8473 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
8474 * include/grub/boot.h: Removed. All references removed.
8475 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
8476 Removed.
8477 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
8478
8479 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8480
8481 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
8482 name.
8483
8484 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8485
8486 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
8487
8488 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8489
8490 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
8491 Don't add the bogus brackets.
8492
8493 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8494
8495 ExFAT support.
8496
8497 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
8498 * grub-core/Makefile.core.def (exfat): New module.
8499 * grub-core/fs/exfat.c: New file.
8500 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
8501 (GRUB_FAT_ATTR_*): Make into an enum.
8502 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
8503 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
8504 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
8505 (GRUB_FAT_MAXFILE): Removed.
8506 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
8507 (grub_current_fat_bpb_t): New type.
8508 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
8509 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
8510 (grub_fat_dir_node_t): New type.
8511 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
8512 (fat_log2) [MODE_EXFAT]: Removed.
8513 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
8514 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
8515 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
8516 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
8517 (grub_fat_label) [MODE_EXFAT]: New function.
8518 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
8519 reserved_first_sector to 0.
8520
8521 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8522
8523 Move grub_reboot out of the kernel.
8524
8525 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
8526 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
8527 * grub-core/lib/efi/reboot.c: ... here.
8528 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
8529 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
8530 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
8531 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
8532 * grub-core/lib/i386/reboot_trampoline.S: ... here.
8533 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
8534 * grub-core/lib/ieee1275/reboot.c: ... here.
8535 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
8536 * grub-core/lib/mips/arc/reboot.c: ... here.
8537 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
8538 * grub-core/lib/mips/loongson/reboot.c: ...here.
8539 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
8540 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
8541 * include/grub/emu/misc.h (grub_reboot): New function declaration.
8542 * include/grub/i386/reboot.h: New file.
8543 * include/grub/mips/loongson/ec.h: Fix includes.
8544 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
8545 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
8546 * grub-core/lib/i386/reboot.c: New file.
8547
8548 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
8549
8550 Make grub_prefix into module to fix the arbitrary limit and save
8551 some space.
8552
8553 * grub-core/kern/emu/main.c (grub_prefix): Removed.
8554 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
8555 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
8556 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
8557 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
8558 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
8559 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
8560 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
8561 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
8562 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
8563 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
8564 * include/grub/ia64/efi/kernel.h: Removed.
8565 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
8566 (grub_prefix): Removed.
8567 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
8568 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
8569 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
8570 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
8571 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
8572 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
8573 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
8574 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
8575 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
8576 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
8577 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
8578 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
8579 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
8580 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
8581 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
8582 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
8583 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
8584 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
8585 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
8586 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
8587 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
8588 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
8589 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
8590 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
8591 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
8592 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
8593 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
8594 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
8595 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
8596 from module.
8597 * util/grub-mkimage.c (image_target_desc): Removed prefix and
8598 prefix_end.
8599 (image_targets): Likewise.
8600 (generate_image): Put prefix as a module.
8601
8602 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8603
8604 Replace grub_module_iterate with FOR_MODULES.
8605
8606 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
8607 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
8608 (grub_efi_modules_addr): ...this.
8609 * grub-core/kern/efi/init.c (grub_modbase): New variable.
8610 (grub_efi_init): Set grub_modbase.
8611 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
8612 (grub_modbase): New variable.
8613 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
8614 (grub_modbase): New variable.
8615 (grub_machine_init): Set grub_modbase.
8616 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
8617 (grub_modbase): New variable.
8618 (grub_machine_init): Set grub_modbase.
8619 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
8620 (grub_modbase): New variable.
8621 (grub_machine_init): Set grub_modbase.
8622 * grub-core/kern/main.c (grub_module_iterate): Remove.
8623 (grub_modules_get_end): Use grub_modbase.
8624 (grub_load_modules): Use FOR_MODULES.
8625 (grub_load_config): Likewise.
8626 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
8627 (grub_modbase): New variable.
8628 (grub_machine_init): Set grub_modbase.
8629 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
8630 (grub_modbase): New variable.
8631 (grub_machine_init): Set grub_modbase.
8632 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
8633 Removed.
8634 (grub_modbase): New variable.
8635 (grub_machine_init): Set grub_modbase.
8636 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
8637 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
8638 (grub_module_iterate): Likewise.
8639 (grub_modbase): New variable declaration.
8640 (FOR_MODULES): New macro.
8641
8642 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8643
8644 * configure.ac: Check for __ctzdi2 and __ctzsi2.
8645 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
8646
8647 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8648
8649 Fix few obvious type discrepancies.
8650
8651 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
8652 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
8653 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
8654 variable.
8655 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
8656 and connected types.
8657 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
8658 offset.
8659 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
8660 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
8661 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
8662 and connected types.
8663
8664 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8665
8666 Fix python 3.x incompatibilities.
8667
8668 * gentpl.py: Put brackets around print strings.
8669 * util/import_gcry.py: Open explicitly as utf-8.
8670 Use in instead of has_key.
8671
8672 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8673
8674 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
8675 (GRUB_XFS_INO_AGBITS): Make into inline function.
8676 (GRUB_XFS_INO_INOINAG): Likewise.
8677 (GRUB_XFS_INO_AG): Likewise.
8678 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
8679 (GRUB_XFS_EXTENT_OFFSET): Likewise.
8680 (GRUB_XFS_EXTENT_BLOCK): Likewise.
8681 (GRUB_XFS_EXTENT_SIZE): Likewise.
8682 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
8683 (GRUB_XFS_NEXT_DIRENT): Likewise.
8684 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
8685 (grub_xfs_read_file): Fix offset type.
8686
8687 2011-10-15 Robert Millan <rmh@gnu.org>
8688
8689 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
8690
8691 2011-10-15 Robert Millan <rmh@gnu.org>
8692
8693 Fix build problem on FreeBSD and GNU/kFreeBSD.
8694
8695 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
8696
8697 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8698
8699 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
8700
8701 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
8702 types.
8703 (grub_hfsplus_btree_recoffset): Likewise.
8704 (grub_hfsplus_btree_recptr): Likewise.
8705 (grub_hfsplus_find_block): Likewise.
8706 (grub_hfsplus_btree_search): Likewise.
8707 (grub_hfsplus_read_block): Likewise.
8708 (grub_hfsplus_read_file): Likewise.
8709 (grub_hfsplus_mount): Likewise.
8710 (grub_hfsplus_btree_iterate_node): Likewise.
8711 (grub_hfsplus_btree_search): Likewise.
8712 (grub_hfsplus_iterate_dir): Likewise.
8713 (grub_hfsplus_read): A small code simplification.
8714
8715 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8716
8717 * grub-core/kern/emu/hostdisk.c
8718 (convert_system_partition_to_system_disk): Don't assume that children
8719 of mapper nodes are mapper nodes.
8720
8721 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8722
8723 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
8724 * include/grub/misc.h (grub_isxdigit): New function.
8725 * grub-core/video/colors.c (my_isxdigit): Removed. All users
8726 switched to grub_isxdigit.
8727 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
8728 number starting with a letter.
8729
8730 2011-10-09 Robert Millan <rmh@gnu.org>
8731
8732 LVM support for FreeBSD and GNU/kFreeBSD.
8733
8734 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
8735 GNU/kFreeBSD.
8736 (LVM_DEV_MAPPER_STRING): Move from here ...
8737 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
8738 * util/getroot.c: Include `<grub/util/lvm.h>'.
8739 (grub_util_get_dev_abstraction): Enable
8740 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
8741 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
8742 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
8743 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
8744 support it.
8745 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
8746 GNU/kFreeBSD.
8747 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
8748 when LVM abstraction is required for ${GRUB_DEVICE}.
8749
8750 2011-10-06 Szymon Janc <szymon@janc.net.pl>
8751
8752 Add support for LZO compression in GRUB:
8753 - import of minilzo library,
8754 - LZO decompression for btrfs,
8755 - lzop files decompression.
8756
8757 * grub-core/io/lzopio.c: New file.
8758 * grub-core/lib/adler32.c: Likewise.
8759 * grub-core/lib/minilzo/lzoconf.h: Likewise.
8760 * grub-core/lib/minilzo/lzodefs.h: Likewise.
8761 * grub-core/lib/minilzo/minilzo.c: Likewise.
8762 * grub-core/lib/minilzo/minilzo.h: Likewise.
8763 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
8764 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
8765 grub-core/lib/minilzo/minilzo.c to common.
8766 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
8767 cflags in cppflags.
8768 * grub-core/Makefile.core.def (btrfs): Likewise.
8769 * grub-core/Makefile.core.def (lzopio): New module.
8770 (adler32): Likewise.
8771 * grub-core/fs/btrfs.c: Include minilzo.h.
8772 (GRUB_BTRFS_COMPRESSION_LZO): New define.
8773 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
8774 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
8775 (grub_btrfs_lzo_decompress): New function.
8776 (grub_btrfs_extent_read): Add support for LZO compression type.
8777 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
8778 (GRUB_USHRT_MAX): Likewise.
8779 (GRUB_UINT_MAX): Likewise.
8780 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
8781 (UINT_MAX): Likewise.
8782 (CHAR_BIT): Likewise.
8783 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
8784 grub-core/lib/posix_wrap/limits.h
8785 (UCHAR_MAX): Likewise.
8786 * include/grub/file.h (grub_file_filter_id): New compression filter
8787 GRUB_FILE_FILTER_LZOPIO.
8788 * include/grub/file.h (grub_file_filter_id): Set
8789 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
8790 * include/grub/types.h (grub_get_unaligned16): New function.
8791 (grub_get_unaligned32): Likewise.
8792 (grub_get_unaligned64): Likewise.
8793 * util/import_gcry.py (cryptolist): Add adler32.
8794
8795 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
8796
8797 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
8798 in perspective decreases the complexity of build system and fixes
8799 compilation right now.
8800
8801 2011-10-01 Ales Nesrsta <starous@volny.cz>
8802
8803 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
8804 (fixed problem related to using UHCI with coreboot).
8805
8806 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
8807
8808 * gentpl.py: Use Autogen macros so that the output template file
8809 (Makefile.tpl) size is reduced.
8810
8811 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
8812
8813 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
8814 extra_dist.
8815
8816 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
8817
8818 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
8819 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
8820
8821 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
8822
8823 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
8824 _fullpath.
8825
8826 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
8827
8828 Remove extra declaration of sleep for mingw32.
8829
8830 * util/misc.c (sleep) [__MINGW32__]: Removed.
8831 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
8832
8833 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
8834
8835 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
8836 type and packname.
8837 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
8838 Resurrected.
8839 (NETBSD_BTINFO_BOOTWEDGE): New definition.
8840 (grub_netbsd_btinfo_bootwedge): New struct.
8841 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
8842 New function.
8843 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
8844
8845 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
8846
8847 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
8848 loader.
8849
8850 2011-09-28 Andreas Born <futur.andy@googlemail.com>
8851
8852 Fix incorrect identifiers in bash-completion.
8853
8854 * util/bash-completion.d/grub-completion.bash.in
8855 (_grub_mkpasswd-pbkdf2): Rename to ...
8856 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
8857 (_grub_script-check): Rename to ...
8858 (_grub_script_check): ... this. All users updated.
8859
8860 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
8861
8862 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
8863 Return 0 if disk isn't biosdisk.
8864
8865 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
8866
8867 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
8868 on NetBSD.
8869 * Makefile.util.def (grub-fstest): Likewise.
8870
8871 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
8872
8873 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
8874 Get sector size from disk label.
8875
8876 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
8877
8878 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
8879 */README* as well as README*.
8880 Reported by: Axel Beckert.
8881
8882 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8883
8884 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
8885 case of less than 256 MiB of RAM.
8886
8887 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8888
8889 * grub-core/commands/wildcard.c (make_regex): Handle @.
8890
8891 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8892
8893 * util/grub-install.in: Move cryptodisk logic to appropriate place.
8894
8895 2011-08-21 Szymon Janc <szymon@janc.net.pl>
8896
8897 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
8898 AC_LANG_CONFTEST macros.
8899
8900 2011-08-20 Szymon Janc <szymon@janc.net.pl>
8901
8902 Add grub-fstest option to uncompress data for commands.
8903
8904 * util/grub-fstest.c (uncompress): New var.
8905 (options): New option -u.
8906
8907 2011-08-20 Szymon Janc <szymon@janc.net.pl>
8908
8909 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
8910 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
8911
8912 2011-08-20 Szymon Janc <szymon@janc.net.pl>
8913
8914 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
8915 file type was not recognized correctly (not gzip or corrupted).
8916
8917 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8918
8919 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
8920 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
8921
8922 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8923
8924 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
8925 loongson.
8926 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
8927 video_radeon_fuloong2e.
8928 * grub-core/video/radeon_fuloong2e.c: New file.
8929 * include/grub/video.h (grub_video_id_t): Add new ID
8930 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
8931
8932 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8933
8934 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
8935 define.
8936 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
8937 that PRID matches the detected subplatform and reset the subplatform
8938 if it doesn't.
8939
8940 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8941
8942 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
8943
8944 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8945
8946 Fix PCI iterating on functions >= 4.
8947
8948 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
8949 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
8950 Removed.
8951 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
8952 (grub_pci_read): Fix bitmask.
8953 (grub_pci_read_word): Likewise.
8954 (grub_pci_read_byte): Likewise.
8955 (grub_pci_write): Likewise.
8956 (grub_pci_write_word): Likewise.
8957 (grub_pci_write_byte): Likewise.
8958
8959 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8960
8961 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
8962 can still be specified in TARGET_CFLAGS)
8963
8964 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8965
8966 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
8967
8968 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
8969 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
8970 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
8971 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
8972 (FULOONG): Rename to ...
8973 (FULOONG2F): ... this. All users updated.
8974 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
8975 (machtype_fuloong2f_str): ... this.
8976 (machtype_fuloong2e_str): New string.
8977 Check for machtype_fuloong2e_str.
8978 * grub-core/loader/mips/linux.c (loongson_machtypes)
8979 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
8980 * grub-core/term/serial.c (loongson_defserial)
8981 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
8982 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
8983 loongson_defserial.
8984 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
8985 Rename to ...
8986 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
8987 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
8988 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
8989 to IMAGE_FULOONG2F_FLASH. All users updated.
8990 (image_targets): Rename images.
8991 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
8992
8993 2011-08-19 Szymon Janc <szymon@janc.net.pl>
8994
8995 Make enable of disk cache statistics code configurable.
8996
8997 * configure.ac: --enable-cache-stats added.
8998 * config.h.in (DISK_CACHE_STATS): New define.
8999 * grub-core/Makefile.core.def (cacheinfo): New command.
9000 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
9001 * grub-core/commands/cacheinfo.c: New file.
9002 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
9003 moved to cacheinfo.c.
9004 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
9005 debug code.
9006 * include/grub/disk.h: Likewise.
9007
9008 2011-08-19 Szymon Janc <szymon@janc.net.pl>
9009
9010 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
9011 * grub-core/Makefile.am: Likewise.
9012
9013 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9014
9015 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
9016 non-zero pull.
9017
9018 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9019
9020 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
9021 All users updated.
9022 (grub_jfs_lookup_symlink): Use correct starting inode.
9023
9024 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9025
9026 * util/grub-setup.c (main): Add missing gcry initialisation.
9027
9028 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9029
9030 Don't accept text modes on EFI when booting Linux.
9031
9032 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
9033 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
9034
9035 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
9036 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
9037
9038 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
9039 use of "/path/.." as in grub-install for EFI as well as handling
9040 symlinks correctly.
9041 Fixes Debian bug #637768.
9042
9043 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
9044
9045 * util/grub-probe.c: Remove duplicate #include.
9046
9047 2011-08-10 Robert Millan <rmh@gnu.org>
9048
9049 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
9050
9051 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
9052 function.
9053 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
9054 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
9055
9056 2011-08-03 Robert Millan <rmh@gnu.org>
9057
9058 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
9059 la_array as packed.
9060 Reported by: Zachary Bedell
9061
9062 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
9063
9064 * configure.ac: The Loongson port requires grub-mkfont due to its
9065 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
9066 be built.
9067
9068 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
9069
9070 * util/grub-install.in: Don't source grub-mkconfig_lib until after
9071 processing arguments (otherwise help2man fails when GRUB has not yet
9072 been installed).
9073
9074 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9075
9076 New script grub-mkstandalone.
9077
9078 * Makefile.util.def (grub-mkstandalone): New script.
9079 * docs/man/grub-mkstandalone.h2m: New file.
9080 * util/grub-mkstandalone.in: Likewise.
9081
9082 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9083
9084 Support ATA disks with 4K sectors.
9085
9086 * include/grub/ata.h (grub_ata): New member log_sector_size.
9087 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
9088 (grub_ata_identify): Read sector size.
9089 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
9090
9091 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9092
9093 * util/grub-install.in: Don't use uhci outside of x86.
9094
9095 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9096
9097 * util/grub-mkrescue.in: Add missing quotes.
9098
9099 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9100
9101 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
9102 dereference.
9103
9104 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9105
9106 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
9107
9108 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9109
9110 * include/grub/video.h: add missing EXPORT_FUND on
9111 grub_video_edid_checksum and grub_video_edid_preferred_mode.
9112
9113 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9114
9115 * include/grub/mips/kernel.h: Fix define conflict.
9116
9117 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9118
9119 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
9120 all four ways.
9121
9122 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
9123
9124 Preferred resolution detection for VBE.
9125
9126 * grub-core/video/video.c (grub_video_edid_checksum): New function.
9127 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
9128 the Flat Panel extension, in line with the X.org VESA driver.
9129 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
9130 New function.
9131 (grub_vbe_bios_get_ddc_capabilities): Likewise.
9132 (grub_vbe_bios_read_edid): Likewise.
9133 (grub_vbe_get_preferred_mode): Likewise.
9134 (grub_video_vbe_setup): When the mode is "auto", try to get the
9135 preferred mode from VBE, and use the largest mode that is no larger
9136 than the preferred mode (some BIOSes expose a preferred mode that is
9137 not in their mode list!). If this fails, fall back to 640x480 as a
9138 safe conservative choice.
9139 (grub_video_vbe_get_edid): New function.
9140 (grub_video_vbe_adapter): Add get_edid.
9141 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
9142 (struct grub_video_adapter): Add get_edid.
9143 (grub_video_edid_checksum): Add prototype.
9144 (grub_video_edid_preferred_mode): Likewise.
9145 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
9146 structure.
9147
9148 * grub-core/commands/videoinfo.c (print_edid): New function.
9149 (grub_cmd_videoinfo): Print EDID if available.
9150
9151 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
9152 is more appropriate on a wider range of platforms than 640x480.
9153 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
9154 documentation.
9155
9156 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9157
9158 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
9159
9160 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9161
9162 * po/POTFILES.in: Regenerate.
9163
9164 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9165
9166 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
9167 incorrect memory usage.
9168
9169 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9170
9171 * util/grub-install.in: Source grub-mkconfig_lib.
9172
9173 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
9174
9175 Remove getroot.c from core on emu platform.
9176
9177 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
9178 kern/emu/raid.c.
9179 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
9180 useless.
9181 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
9182 * util/getroot.c (get_win32_path): ... here.
9183 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
9184 * util/getroot.c (fini_libzfs): ... here.
9185 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
9186 * util/getroot.c (grub_get_libzfs_handle): ... here.
9187 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
9188 Moved from here...
9189 * util/getroot.c (grub_find_zpool_from_dir): ... here.
9190 * grub-core/kern/emu/misc.c
9191 (grub_make_system_path_relative_to_its_root): Moved from here...
9192 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
9193 * grub-core/kern/emu/getroot.c: Moved from here ...
9194 * util/getroot.c: ... here. All users updated.
9195 * grub-core/kern/emu/raid.c: Moved from here ...
9196 * util/raid.c: ... here. All users updated.
9197
9198 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
9199
9200 * po/POTFILES.in: Regenerate.
9201
9202 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9203
9204 Fix compilation on GNU/Linux.
9205
9206 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
9207 Disable geli.
9208 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
9209 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
9210 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
9211
9212 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9213 2011-07-07 Michael Gorven <michael@gorven.za.net>
9214 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
9215
9216 LUKS and GELI support.
9217
9218 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
9219 grub-core/disk/luks.c, grub-core/disk/geli.c,
9220 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
9221 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
9222 grub-core/lib/arg.c.
9223 (libgrubmods.a): Remove gcrypts cflags and cppflags.
9224 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
9225 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
9226 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
9227 (grub-bin2h): Add libgcry.a.
9228 (grub-mkimage): Likewise.
9229 (grub-mkrelpath): Likewise.
9230 (grub-script-check): Likewise.
9231 (grub-editenv): Likewise.
9232 (grub-mkpasswd-pbkdf2): Likewise.
9233 (grub-pe2elf): Likewise.
9234 (grub-fstest): Likewise.
9235 (grub-mkfont): Likewise.
9236 (grub-mkdevicemap): Likewise.
9237 (grub-probe): Likewise.
9238 (grub-ofpath): Likewise.
9239 (grub-mklayout): Likewise.
9240 (example_unit_test): Likewise.
9241 (grub-menulst2cfg): Likewise.
9242 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
9243 * grub-core/Makefile.core.def (cryptodisk): New module.
9244 (luks): Likewise.
9245 (geli): Likewise.
9246 * grub-core/disk/AFSplitter.c: New file.
9247 * grub-core/disk/cryptodisk.c: Likewise.
9248 * grub-core/disk/geli.c: Likewise.
9249 * grub-core/disk/luks.c: Likewise.
9250 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
9251 grub_util_is_lvm.
9252 (grub_util_get_dm_abstraction): New function.
9253 (grub_util_follow_gpart_up): Likewise.
9254 (grub_util_get_geom_abstraction): Likewise.
9255 (grub_util_get_dev_abstraction): Use new functions.
9256 (grub_util_pull_device): Pull GELI and LUKS.
9257 (grub_util_get_grub_dev): Handle LUKS and GELI.
9258 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
9259 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
9260 (follow_geom_up): Removed.
9261 (grub_util_fd_seek): New function.
9262 (open_device): Use grub_util_fd_seek.
9263 (nread): Rename to ..
9264 (grub_util_fd_read): ... this. All users updated.
9265 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
9266 (grub_crypto_cbc_decrypt): Likewise.
9267 (grub_crypto_hmac_write): Likewise.
9268 (grub_crypto_hmac_buffer): Likewise.
9269 (grub_password_get): Extend to util.
9270 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
9271 New member modname.
9272 (gcry_md_spec) [GRUB_UTIL]: Likewise.
9273 * include/grub/cryptodisk.h: New file.
9274 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
9275 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
9276 LUKS and GELI.
9277 (grub_util_follow_gpart_up): New proto.
9278 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
9279 (grub_util_fd_read): Likewise.
9280 (grub_cryptodisk_cheat_mount): Likewise.
9281 (grub_util_cryptodisk_print_uuid): Likewise.
9282 (grub_util_get_fd_sectors): Likewise.
9283 * util/grub-fstest.c (mount_crypt): New var.
9284 (fstest): Mount crypto if requested.
9285 (options): New option -C.
9286 (argp_parser): Parse -C.
9287 (main): Init and fini gcry.
9288 * util/grub-install.in: Support cryptodisk install.
9289 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
9290 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
9291 cryptodisk.
9292 (prepare_grub_to_access_device): Likewise.
9293 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
9294 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
9295 (probe_cryptodisk_uuid): New function.
9296 (probe_abstraction): Likewise.
9297 (probe): Use new functions.
9298 * util/import_gcry.py: Create Makefile.utilgcry.def.
9299 Add modname member.
9300
9301 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9302
9303 Lazy device scanning.
9304
9305 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
9306 (grub-setup): Remove util/raid.c.
9307 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
9308 * grub-core/disk/lvm.c (scan_depth): New variable.
9309 (grub_lvm_iterate): Rescan if necessary.
9310 (find_lv): New function based on grub_lvm_open.
9311 (grub_lvm_open): Use find_lv. Rescan on error.
9312 (is_node_readable): New function.
9313 (is_lv_readable): Likewise.
9314 (grub_lvm_scan_device): Skip already found disks.
9315 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
9316 Stop if searched device is found and readable.
9317 * grub-core/disk/raid.c (inscnt): New variable.
9318 (scan_depth): Likewise.
9319 (scan_devices): New function based on grub_raid_register. Abort if
9320 looked for device is found.
9321 (grub_raid_iterate): Rescan if needed.
9322 (find_array): NEw function based on -grub_raid_open.
9323 (grub_raid_open): Use find_array and rescan.
9324 (insert_array): Set became_readable_at.
9325 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
9326 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
9327 New function.
9328 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
9329 (grub_util_pull_device): New function.
9330 (grub_util_get_grub_dev): Call grub_util_pull_device.
9331 * util/raid.c: Moved to ..
9332 * grub-core/kern/emu/raid.c: ... here.
9333 (grub_util_raid_getmembers): New parameter "bootable".
9334 All users updated. Support 1.x.
9335 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
9336 All users updated.
9337 * include/grub/disk.h (grub_disk_pull_t): New enum.
9338 (grub_disk_dev): Change iterate prototype.
9339 All users updated.
9340 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
9341 New proto.
9342 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
9343 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
9344 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
9345 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
9346 All users updated.
9347 * include/grub/util/raid.h: Removed.
9348
9349 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
9350
9351 * po/POTFILES.in: Regenerate.
9352
9353 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
9354
9355 Unify sparc init with other ieee1275.
9356
9357 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
9358 instead of kern/sparc64/ieee1275/init.c.
9359 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
9360 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
9361 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
9362 grub/machine/kernel.h.
9363 (grub_ieee1275_original_stack) [__sparc__]: New variable.
9364 (grub_claim_heap) [__sparc__]: Use sparc version.
9365 (grub_machine_init): Moved args parsing to
9366 (grub_parse_cmdline): ...this.
9367 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
9368 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
9369 New definition.
9370 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
9371
9372 Move BOOTP to separate file.
9373
9374 * grub-core/Makefile.core.def (net): Add net/bootp.c.
9375 * grub-core/net/net.c: Move all BOOTP functions to
9376 * grub-core/net/bootp.c: ... here.
9377
9378 Use frame interface on PXE.
9379
9380 * grub-core/Makefile.core.def (pxecmd): Removed.
9381 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
9382 * grub-core/commands/i386/pc/pxecmd.c: Removed.
9383 * grub-core/i386/pc/pxe.c: Moved from here ...
9384 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
9385 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
9386 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
9387
9388 EFI network support.
9389
9390 * grub-core/Makefile.core.def (efinet): New module.
9391 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
9392 here...
9393 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
9394 All users updated.
9395 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
9396 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
9397 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
9398 * grub-core/net/drivers/efi/efinet.c: New file.
9399 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
9400 (grub_efi_net_config): New extern var.
9401
9402 Various cleanups and bugfixes.
9403
9404 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
9405 error.
9406 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
9407 disk declared as partition.
9408 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
9409 leak on failure.
9410 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
9411 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
9412 (grub_debug_zalloc): Likewise.
9413 (grub_debug_realloc): Likewise.
9414 (grub_debug_memalign): Likewise.
9415 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
9416 Check that target is IPv4.
9417 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
9418 local-mac-address as fallback.
9419 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
9420 memory leak.
9421 * grub-core/net/ip.c (ipchksum): Rename to ...
9422 (grub_net_ip_chksum): ... this. All users updated.
9423 (grub_net_recv_ip_packets): Special handling for DHCP.
9424 * util/grub-mkimage.c (generate_image): Zero-out aout header.
9425
9426 Unify prefix handling
9427
9428 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
9429 (grub_machine_get_bootlocation): ... this.
9430 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
9431 (grub_machine_get_bootlocation): ... this.
9432 (grub_prefix): New variable.
9433 (prefix): Removed.
9434 (root_dev): New variable.
9435 (dir): Likewise.
9436 (main): Use new variables.
9437 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
9438 Revamped into ...
9439 (grub_machine_get_bootlocation): ... this.
9440 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
9441 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
9442 (grub_machine_get_bootlocation): ... this.
9443 (grub_machine_set_prefix): Removed.
9444 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
9445 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
9446 Revamped into ...
9447 (grub_machine_get_bootlocation): ... this.
9448 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
9449 (grub_set_prefix_and_root): ... this. All users updated.
9450 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
9451 Revamped into ...
9452 (grub_machine_get_bootlocation): ... this.
9453 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
9454 (grub_machine_get_bootlocation): New proto.
9455 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
9456
9457 Less intrusive and more reliable seek on network implementation.
9458
9459 * grub-core/kern/file.c (grub_file_net_seek): Removed.
9460 (grub_file_seek): Don't call grub_file_net_seek.
9461 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
9462 (grub_net_fs_read_real): .. this.
9463 (grub_net_seek_real): Use net->offset.
9464 (grub_net_fs_read): Seek if necessary.
9465
9466 Unify IEEE1275 netwotk config with the other platforms.
9467
9468 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
9469 New variable.
9470 (grub_machine_get_bootlocation): Support network.
9471 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
9472 Support type and device parsing.
9473 (grub_ieee1275_get_device_type): New function.
9474 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
9475 into ...
9476 (grub_ieee1275_net_config_real): ... this.
9477 (grub_ofnet_probecards): Removed.
9478 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
9479 * include/grub/ieee1275/ofnet.h: Removed.
9480 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
9481 extern var.
9482 (grub_ieee1275_get_device_type): New function.
9483
9484 Unify network device closing across platforms and make more robust.
9485
9486 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
9487 grub_grubnet_fini.
9488 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
9489 already.
9490 * grub-core/net/net.c (grub_net_network_level_interface_register):
9491 Update num_ifaces.
9492 (grub_net_card_unregister): Close all interfaces.
9493 (receive_packets): Don't poll if no iterfaces are registered.
9494 Open if necessary.
9495 (grub_net_fini_hw): New function.
9496 (grub_net_restore_hw): Likewise.
9497 (fini_hnd): New variable.
9498 (GRUB_MOD_INIT): Register preboot hook.
9499 (GRUB_MOD_FINI): Run and unregister preboot hook.
9500
9501 Poll network cards when idle.
9502
9503 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
9504 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
9505 * grub-core/net/net.c (receive_packets): Save last poll time.
9506 (grub_net_poll_cards_idle_real): New function.
9507 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
9508 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
9509 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
9510
9511 Rename ofnet interfaces.
9512
9513 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
9514 (grub_ofnet_findcards): Use ofnet_%s names.
9515
9516 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
9517
9518 Cleanup socket opening.
9519
9520 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
9521 (grub_net_fs_close): Likewise.
9522 (grub_net_fs_read_real): Use eof member.
9523 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
9524 (+grub_net_udp_close): New inline function.
9525
9526 * include/grub/net/tftp.h: Moved to the top of ...
9527 * grub-core/net/tftp.c: ... here.
9528 * include/grub/net/ip.h: Moved mostly to the top of ...
9529 * grub-core/net/ip.c: ... here.
9530 * include/grub/net/ethernet.h: Moved mostly to the top of ...
9531 * grub-core/net/ethernet.c: ... here.
9532
9533 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
9534
9535 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
9536 FS name.
9537
9538 * include/grub/net/ip.h (ipv4_ini): Removed.
9539 (ipv4_fini): Likewise.
9540
9541 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
9542 (grub_net_send_ip_packets): Likewise.
9543
9544 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9545
9546 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
9547 grub_read_cmos prototype.
9548
9549 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9550
9551 VGA text support in qemu-mips
9552
9553 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
9554 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
9555 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
9556 text.
9557 * grub-core/kern/i386/qemu/init.c: Renamed to ...
9558 * grub-core/kern/vga_init.c: ... this.
9559 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
9560 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
9561 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
9562 Adjust.
9563 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
9564 GRUB_MACHINE_PCI_IO_BASE.
9565
9566 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9567
9568 MIPS qemu flash support.
9569
9570 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
9571 magic.
9572 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
9573 (grub_machine_init): Probe memory if its size isn't known.
9574 * util/grub-mkimage.c (image_targets): Add flash targets.
9575 (generate_image): Handle flash targets.
9576
9577 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9578
9579 MIPS qemu at_keyboard support.
9580
9581 * gentpl.py (videoinkernel): Add qemu-mips.
9582 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
9583 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
9584 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
9585 modules.
9586 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
9587 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
9588 * grub-core/term/serial.c (grub_serial_register)
9589 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
9590
9591 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9592
9593 CMOS support on sparc.
9594
9595 * gentpl.py (cmos): Add powerpc and sparc.
9596 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
9597 powerpc and sparc.
9598 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
9599 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
9600 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
9601 grub_set_datetime_cmos.
9602 * grub-core/lib/ieee1275/cmos.c: New file.
9603 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
9604 (find_rtc): Set no_ieee1275_rtc on error.
9605 (grub_get_datetime): Call grub_get_datetime_cmos on error.
9606 (grub_set_datetime): Call grub_set_datetime_cmos on error.
9607 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
9608 fail. Move value to argument. All users updated
9609 (grub_cmos_write): Likewise.
9610 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
9611 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
9612 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
9613 grub_get_datetime_cmos and grub_set_datetime_cmos.
9614
9615 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
9616
9617 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
9618 sourcing grub-mkconfig_lib.
9619 * util/update-grub_lib.in: Likewise.
9620 * util/grub.d/00_header.in: Likewise.
9621 * util/grub.d/10_hurd.in: Likewise.
9622 * util/grub.d/10_kfreebsd.in: Likewise.
9623 * util/grub.d/10_linux.in: Likewise.
9624 * util/grub.d/10_netbsd.in: Likewise.
9625 * util/grub.d/10_windows.in: Likewise.
9626 * util/grub.d/20_linux_xen.in: Likewise.
9627 * util/grub.d/30_os-prober.in: Likewise.
9628
9629 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
9630
9631 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
9632 default_bg_color rather than black.
9633 (grub_gfxterm_fullscreen): Likewise.
9634 (grub_gfxterm_background_color_cmd): Save new background color in
9635 default_bg_color.
9636
9637 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9638
9639 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
9640
9641 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9642
9643 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
9644 mismerge.
9645
9646 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9647
9648 Chainloading on coreboot support.
9649
9650 * grub-core/Makefile.core.def (chain): Add coreboot.
9651 * grub-core/loader/i386/coreboot/chainloader.c: New file.
9652
9653 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9654
9655 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
9656 if it happens.
9657
9658 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9659
9660 Implement time command.
9661
9662 * grub-core/Makefile.core.def (time): New module.
9663 * grub-core/commands/time.c: New file.
9664 * grub-core/script/parser.y: Remove "time" keyword.
9665 * grub-core/script/yylex.l: Likewise.
9666
9667 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9668
9669 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
9670
9671 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9672
9673 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
9674 when handling leftovers.
9675
9676 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9677
9678 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
9679 so that help2man doesn't fail.
9680
9681 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9682
9683 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
9684 type in pointers on sparc64.
9685 (get_card_packet): Likewise.
9686
9687 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
9688
9689 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
9690 with `*'.
9691 (grub_cmd_videoinfo): Fetch current video mode.
9692
9693 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9694
9695 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
9696 because of underlying system restrictions.
9697
9698 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9699
9700 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
9701 necessary.
9702
9703 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9704
9705 Coreboot video support.
9706
9707 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
9708 (vbe): Likewise.
9709 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
9710 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
9711 here ...
9712 * grub-core/kern/i386/int.S: ... here.
9713 * grub-core/video/i386/pc/vbe.c: Updated includes.
9714 * grub-core/video/i386/pc/vga.c: Likewise.
9715 * include/grub/i386/coreboot/memory.h
9716 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
9717 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
9718 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
9719 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
9720 Disable interrupts.
9721 * include/grub/i386/pc/vga.h: Removed. All users updated.
9722
9723 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9724
9725 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
9726 definitions for dprintf.
9727 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
9728
9729 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9730
9731 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
9732 prototype.
9733 (get_card_packet): Likewise.
9734
9735 2011-06-26 Yves Blusseau <blusseau@zetam.org>
9736
9737 Display the path of the file when file is not found
9738
9739 * grub-core/fs/fat.c: Display the filename when file is not found.
9740 * grub-core/fs/fshelp.c: Likewise.
9741 * grub-core/fs/hfs.c: Likewise.
9742 * grub-core/fs/jfs.c: Likewise.
9743 * grub-core/fs/minix.c: Likewise.
9744 * grub-core/fs/ufs.c: Likewise.
9745 * grub-core/fs/btrfs.c: Likewise.
9746 * grub-core/commands/i386/pc/play.c: Likewise.
9747
9748 2011-06-26 Szymon Janc <szymon@janc.net.pl>
9749
9750 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
9751 pointer checks before calling grub_free().
9752 * grub-core/commands/wildcard.c (match_devices): Likewise.
9753 * grub-core/commands/wildcard.c (match_files): Likewise.
9754 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
9755 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
9756 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
9757 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
9758 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
9759 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
9760 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
9761 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
9762 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
9763
9764 2011-06-25 Patrick <p55@mailinator.com>
9765
9766 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
9767
9768 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
9769
9770 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
9771 (grub_pxe_send): Likewise.
9772 (GRUB_MOD_INIT): Fix types.
9773
9774 2011-06-24 Szymon Janc <szymon@janc.net.pl>
9775
9776 * grub-core/io/xzio.c: Fix code style issues
9777
9778 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9779 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
9780
9781 Network infrastructure.
9782 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
9783
9784 * include/grub/net/arp.h: New file.
9785 * include/grub/net/device.h: Likewise.
9786 * include/grub/net/ethernet.h: Likewise.
9787 * include/grub/net/ip.h: Likewise.
9788 * include/grub/net/netbuff.h: Likewise.
9789 * include/grub/net/tftp.h: Likewise.
9790 * include/grub/net/udp.h: Likewise.
9791 * include/grub/ieee1275/ofnet.h: Likewise.
9792 * include/grub/emu/export.h: Likewise.
9793 * include/grub/net.h: Likewise.
9794 * grub-core/net/arp.c: Likewise.
9795 * grub-core/net/ethernet.c: Likewise.
9796 * grub-core/net/ip.c: Likewise.
9797 * grub-core/net/udp.c: Likewise.
9798 * grub-core/net/tftp.c: Likewise.
9799 * grub-core/net/netbuff.c: Likewise.
9800 * grub-core/net/net.c: Likewise.
9801 * grub-core/net/drivers/emu/emunet.c: Likewise.
9802 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
9803 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
9804 export.h.
9805 * grub-core/Makefile.core.def (net): New module.
9806 (tftp): Likewise.
9807 (ofnet): Likewise.
9808 (emunet): Likewise.
9809 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
9810 network protocols.
9811 * grub-core/kern/device.c (grub_net_open) : New variable.
9812 (grub_device_open): Handle network device.
9813 (grub_device_close): Likewise.
9814 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
9815 (grub_grubnet_fini): Likewise.
9816 (grub_file_seek): Seek in network device.
9817 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
9818 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
9819 network root.
9820 (grub_machine_fini): Call grub_grubnet_fini.
9821 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
9822 network.
9823 (grub_ieee1275_get_aliasdevname): New function.
9824 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
9825 Add unofficial Solaris network info.
9826 (grub_multiboot_make_mbi): Likewise.
9827 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
9828 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
9829 * include/grub/device.h (grub_fs): Removed.
9830 * include/grub/err.h (grub_err_t): Add network-related values.
9831 * include/grub/i386/pc/pxe.h: Removed bootp parts.
9832 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
9833 (grub_ieee1275_get_aliasdevname): New proto.
9834 * include/grub/net.h: Rewritten.
9835
9836 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9837
9838 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
9839 names.
9840
9841 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9842
9843 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
9844 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
9845 it truncates the output.
9846 Reported by: Ximin Luo.
9847
9848 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9849
9850 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
9851
9852 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9853
9854 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
9855 partmap before abstraction.
9856
9857 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
9858
9859 * util/grub-mkconfig_lib.in: Add missing quotes.
9860
9861 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9862
9863 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
9864 old method if mountinfo would return /dev/root and /dev/root doesn't
9865 exist.
9866
9867 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9868
9869 ZFS zlib support
9870
9871 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
9872 (decomp_table): Add zlib entries.
9873 (zio_read): USe 8 bits for compression function rather than 3.
9874 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
9875
9876 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9877
9878 * grub-core/disk/ahci.c: Add missing license statements.
9879 * grub-core/fs/romfs.c: Likewise.
9880 * grub-core/lib/ia64/setjmp.S: Likewise.
9881 * grub-core/loader/i386/pc/freedos.c: Likewise.
9882 * grub-core/loader/ia64/efi/linux.c: Likewise.
9883 * grub-core/video/colors.c: Likewise.
9884 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
9885
9886 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9887
9888 AHCI support.
9889
9890 * grub-core/Makefile.core.def (ata_pthru): Removed.
9891 (ahci): New module.
9892 (pata): Likewise.
9893 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
9894 on unload.
9895 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
9896 readwrite.
9897 (grub_hdparm_do_check_powermode_cmd): Likewise.
9898 (grub_hdparm_do_smart_cmd): Likewise.
9899 (grub_hdparm_set_val_cmd): Likewise.
9900 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
9901 * grub-core/disk/ahci.c: New file.
9902 * grub-core/disk/ata.c: Factor out the low-level part into ...
9903 * grub-core/disk/pata.c: ... here.
9904 * grub-core/disk/ata_pthru.c: Contents moved to ...
9905 * grub-core/disk/pata.c: ... here.
9906 * grub-core/disk/scsi.c (grub_scsi_names): New array.
9907 (grub_scsi_iterate): Use grub_scsi_names.
9908 (grub_scsi_open): Likewise.
9909 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
9910 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
9911 (grub_ata_regs_t): New struct.
9912 (grub_disk_ata_pass_through_parms): Likewise.
9913 (grub_ata_device): Renamed to ...
9914 (grub_ata): ... this.
9915 (grub_ata_dev): New struct.
9916 Removed all low-level inline functions.
9917 * include/grub/scsi.h: Add PATA and AHCI subsystems.
9918 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
9919 iterate hooks and open. All users updated.
9920 * util/grub-install.in: Handle AHCI disk module.
9921
9922 2011-06-23 Szymon Janc <szymon@janc.net.pl>
9923
9924 Add support for DRI and RSTn markers in JPEG files.
9925
9926 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
9927 (JPEG_MARKER_RST0): Likewise.
9928 (JPEG_MARKER_RST1): Likewise.
9929 (JPEG_MARKER_RST2): Likewise.
9930 (JPEG_MARKER_RST3): Likewise.
9931 (JPEG_MARKER_RST4): Likewise.
9932 (JPEG_MARKER_RST5): Likewise.
9933 (JPEG_MARKER_RST6): Likewise.
9934 (JPEG_MARKER_RST7): Likewise.
9935 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
9936 (grub_jpeg_decode_dri): New function.
9937 (grub_jpeg_decode_sos): Move image data related part into
9938 grub_jpeg_decode_data function.
9939 (grub_jpeg_decode_data): New function.
9940 (grub_jpeg_reset): New function.
9941 (grub_jpeg_decode_jpeg): Handle new markers.
9942
9943 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9944
9945 * util/ieee1275/ofpath.c (check_sas): Close fd.
9946 (main): Free of_path.
9947 Reported by: David Volgyes <dvolgyes>.
9948
9949 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9950
9951 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
9952 Reported by: David Volgyes <dvolgyes>.
9953
9954 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9955
9956 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
9957 file after stat.
9958 Reported by: David Volgyes <dvolgyes>.
9959
9960 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9961
9962 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
9963
9964 Reported by: David Volgyes <dvolgyes>.
9965
9966 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9967
9968 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
9969 Prevent memory leak.
9970
9971 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9972
9973 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
9974 (main): Close file.
9975 Reported by: David Volgyes <dvolgyes>.
9976
9977 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9978
9979 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
9980 to continue if allocation is failed.
9981
9982 Reported by: David Volgyes <dvolgyes>.
9983
9984 2011-06-23 David Volgyes <dvolgyes>
9985
9986 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
9987 dereference.
9988
9989 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9990
9991 Fix spurious warning.
9992
9993 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
9994 (acorn_partition_map_find): Use .bin member.
9995
9996 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9997
9998 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
9999 /dev/root as a valid device.
10000
10001 2011-06-23 Jim Meyering <meyering@redhat.com>
10002
10003 Avoid NULL deref in grub_device_open.
10004
10005 * grub-core/kern/device.c (grub_device_open): Don't dereference
10006 a NULL pointer upon failed grub_env_get.
10007
10008 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10009
10010 Support non-512B sectors and agglomerate reads.
10011
10012 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
10013 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
10014 (disk_io_guid): Removed.
10015 (make_devices): Locate solely by BlockIO.
10016 (grub_efidisk_open): Fill log_sector_size and total_sectors.
10017 (grub_efidisk_read): Use read_blocks.
10018 (grub_efidisk_write): Use write_blocks.
10019 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
10020 log_sector_size.
10021 (get_safe_sectors): Handle non-512B sectors.
10022 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
10023 sectors.
10024 (grub_biosdisk_write): Handle non-512B sectors.
10025 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
10026 (grub_scsi_read): Remove special non-512B block handling (now handled
10027 one level up).
10028 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
10029 and do sanity checks.
10030 (grub_disk_adjust_range): Handle non-512B sectors.
10031 (transform_sector): New function.
10032 (grub_disk_read_small): Likewise.
10033 (grub_disk_read): Rewritten.
10034 (grub_disk_write): Handle non-512B sectors.
10035 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
10036 log_sector_size.
10037 (open_device): Use log_sector_size.
10038 (grub_util_biosdisk_read): Likewise.
10039 (grub_util_biosdisk_write): Likewise.
10040 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
10041 non-512B sectors.
10042 (pc_partition_map_embed): Likewise.
10043 * include/grub/disk.h (grub_disk): New field log_sector_size.
10044 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
10045 (GRUB_DISK_CACHE_BITS): Increased to 6.
10046 * util/grub-fstest.c (fstest): New command testload.
10047 (argp_parser): Likewise.
10048
10049 2011-06-16 Robert Millan <rmh@gnu.org>
10050
10051 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
10052 `ata' driver on kernel of FreeBSD 9.
10053
10054 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
10055 (get_ataraid_disk_name): New functions.
10056 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
10057 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
10058 get_ataraid_disk_name() and get_ada_disk_name().
10059
10060 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
10061
10062 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
10063 input format.
10064
10065 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
10066
10067 * docs/grub.texi (Obtaining and Building GRUB): Substitute
10068 `ftp.gnu.org' for `alpha.gnu.org'.
10069
10070 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
10071
10072 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
10073 partitions under /dev/disk/by-id/.
10074
10075 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
10076
10077 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
10078 after ten consecutive open failures. Scanning all the way up to
10079 10000 is excessive and can cause serious performance problems in
10080 some configurations.
10081 Fixes Ubuntu bug #787461.
10082
10083 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10084
10085 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
10086 opening new one.
10087
10088 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
10089 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10090
10091 Don't stat devices unless we have to.
10092
10093 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
10094 dir == /dev/mapper.
10095 (grub_guess_root_device): Use already known os_dev if possible.
10096 * grub-core/kern/emu/hostdisk.c
10097 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
10098 if device is known to be a dm one.
10099
10100 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
10101
10102 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
10103 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
10104 Reported by: Pawel Tecza.
10105
10106 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
10107
10108 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
10109 (lsefisystab): Likewise.
10110 (lssal): Likewise.
10111 (lsefimmap): Likewise.
10112 (hdparm): Enable on qemu-mips.
10113 (setjmp): Add ia64 nodist.
10114 (serial): Simplify tags.
10115
10116 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10117
10118 * Makefile.util.def (grub-ofpathname): Install manual page.
10119
10120 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10121
10122 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
10123
10124 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10125
10126 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
10127
10128 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10129
10130 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
10131 into dprintf.
10132
10133 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10134
10135 Use full 64-bit division.
10136
10137 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
10138 (grub_divmod64): ... this.
10139 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
10140 version.
10141
10142 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10143
10144 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
10145 `source'.
10146
10147 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10148
10149 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
10150 to avoid accidents when debugging with 'sh -x'.
10151 * grub-core/gensyminfo.sh.in: Likewise.
10152 * tests/example_scripted_test.in: Likewise.
10153 * tests/grub_cmd_regexp.in: Likewise.
10154 * tests/grub_script_blanklines.in: Likewise.
10155 * tests/grub_script_dollar.in: Likewise.
10156 * tests/grub_script_expansion.in: Likewise.
10157 * tests/grub_script_final_semicolon.in: Likewise.
10158 * tests/partmap_test.in: Likewise.
10159 * tests/util/grub-shell-tester.in: Likewise.
10160 * tests/util/grub-shell.in: Likewise.
10161
10162 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10163
10164 Move gfxmenu color handling to video, so that gfxterm can use it
10165 too.
10166
10167 * grub-core/gfxmenu/named_colors.c: Move to ...
10168 * grub-core/video/colors.c: ... here. Rename
10169 grub_gui_get_named_color to grub_video_get_named_color.
10170 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
10171 * grub-core/video/colors.c (my_isxdigit): ... here.
10172 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
10173 Move to ...
10174 * grub-core/video/colors.c (parse_hex_color_component): ... here.
10175 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
10176 to ...
10177 * grub-core/video/colors.c (grub_video_parse_color): ... here.
10178
10179 * include/grub/gui.h (grub_gui_color_t): Move to ...
10180 * include/grub/video.h (grub_video_rgba_color_t): ... here.
10181 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
10182 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
10183 * include/grub/gui.h (grub_gui_map_color): Move to ...
10184 * include/grub/video.h (grub_video_map_rgba_color): ... here.
10185 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
10186 to ...
10187 * include/grub/video.h (grub_video_get_named_color): ... here.
10188 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
10189 * include/grub/video.h (grub_video_parse_color): ... here.
10190
10191 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
10192 video/colors.c.
10193 (gfxmenu): Remove gfxmenu/named_colors.c.
10194 (video) [videomodules]: Add video/colors.c.
10195
10196 Add a background_color command.
10197
10198 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
10199 function.
10200 (GRUB_MOD_INIT): Register background_color command.
10201 (GRUB_MOD_FINI): Unregister background_color command.
10202 (redraw_screen_rect): Allow blend/replace of text layer to be
10203 controlled independently from whether there is a background bitmap.
10204 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
10205 changing bitmap.
10206
10207 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10208
10209 Patch BPB in ntldr and chainloader --bpb.
10210
10211 * grub-core/fs/fat.c: Include grub/fat.h.
10212 (grub_fat_bpb): Moved to ...
10213 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
10214 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
10215 grub/ntfs.h.
10216 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
10217 Moved from here...
10218 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
10219 here.
10220 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
10221 New function.
10222 (grub_chainloader_cmd): Patch BPB if --bpb is given.
10223 (GRUB_MOD_INIT): Show --bpb.
10224 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
10225 * grub-core/normal/main.c (features): New variable.
10226 (GRUB_MOD_INIT): Set feature_* variables.
10227 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
10228 proto.
10229 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
10230
10231 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10232
10233 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
10234 for cleanness.
10235
10236 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10237
10238 FreeDOS direct loading support.
10239
10240 * docs/grub.texi (Supported OS): Add FreeDOS.
10241 * grub-core/Makefile.core.def (freedos): New module.
10242 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
10243 variable.
10244 (grub_relocator16_boot): Handle %ebx.
10245 * grub-core/lib/i386/relocator16.S: Likewise.
10246 * grub-core/loader/i386/pc/freedos.c: New file.
10247
10248 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10249
10250 Long Linux command line support.
10251
10252 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
10253 (maximal_cmdline_size): New variable.
10254 (allocate_pages): Use maximal_cmdline_size.
10255 (grub_cmd_linux): Set and use maximal_cmdline_size.
10256 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
10257 (allocate_pages): Use maximal_cmdline_size.
10258 (grub_cmd_linux): Set and use maximal_cmdline_size.
10259 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
10260 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
10261 and cmdline_size.
10262
10263 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10264 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10265
10266 Improve devmapper support
10267
10268 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
10269 (grub_util_is_lvm): New function.
10270 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
10271 than lvm if not dmraid.
10272 Handle mapped md nodes.
10273 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
10274 (grub_util_device_is_mapped): ... this. Make always available. All users
10275 updated.
10276 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
10277 (convert_system_partition_to_system_disk): Handle lvm, mpath and
10278 dmraid nodes.
10279 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
10280
10281 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10282
10283 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
10284
10285 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
10286 * grub-core/modinfo.sh.in: New file.
10287 * grub-core/Makefile.core.def (modinfo.sh): New script.
10288 * util/grub-mknetdir.in: Use modinfo.sh.
10289 * util/grub-mkrescue.in: Likewise.
10290
10291 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10292
10293 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
10294 Fix potential usage of Elf32 instead of Elf64 when compiling on
10295 32-bit architecture. Add endianness macros while on it.
10296
10297 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10298
10299 Use mipsel- rather than mips- in directories involving mipsel ports to
10300 allow both endiannesses coexist.
10301
10302 * configure.ac: proparate target_cpu=mipsel rather than resetting to
10303 mips. All conditions adjusted.
10304 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
10305 variable.
10306 * util/grub-install.in: Adjust conditions to take renaming into account.
10307 * util/grub-mkimage.c (image_targets): Likewise. New target
10308 mips-qemu_mips-elf for bigendian mips.
10309
10310 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10311
10312 Avoid unnecessary copying on MIPS.
10313
10314 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
10315 early if src == dest.
10316 * util/grub-mkimage.c (generate_image): Arange for src == dest if
10317 compression is none.
10318
10319 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10320
10321 Reduce memory footprint on SGI by putting modules before the kernel
10322 as opposed to after.
10323
10324 * grub-core/Makefile.core.def (kernel): Increase linking address.
10325 (none_decompress): Likewise.
10326 (xz_decompress): Likewise.
10327 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
10328 address.
10329 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
10330 layout change.
10331 (grub_arch_modules_addr): New function.
10332 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
10333 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
10334 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
10335 here.
10336 * grub-core/kern/mips/startup.S (total_size): Rename to ...
10337 (grub_total_modules_size): ... this. Make global.
10338 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
10339 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
10340 New definition.
10341 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
10342 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
10343 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
10344 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
10345 * util/grub-mkimage.c (image_target_desc): New flag
10346 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
10347 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
10348 (generate_image): Handle images with modules before kernel.
10349
10350 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10351
10352 Prevent potential loss of memory map by overwrite on qemu-mips.
10353
10354 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
10355 Save ram size in $s4.
10356 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
10357 All users changed to grub_arch_memsize.
10358 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
10359 Loongson.
10360 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
10361 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
10362 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
10363 external variable.
10364
10365 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
10366
10367 * .bzrignore: Remove grub-dumpbios.
10368
10369 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
10370
10371 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
10372 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
10373 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
10374 existing options which append).
10375 * docs/grub.texi (Simple configuration): Document new options.
10376 Reported by: Ian Jackson. Fixes Debian bug #617538.
10377
10378 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
10379
10380 * util/grub-fstest.c (cmd_cat): New function.
10381 (fstest): Handle CMD_CAT.
10382 (options): Add cat.
10383 (argp_parser): Handle cat.
10384
10385 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
10386
10387 * Makefile.util.def (grub-bin2h): Don't install.
10388 * docs/man/grub-bin2h.h2m: Remove.
10389
10390 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10391
10392 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
10393 place.
10394
10395 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10396
10397 Reenable qemu-mips port.
10398
10399 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
10400 Fix small arc bug while on it.
10401 * gentpl.py: Handle qemu_mips.
10402 * grub-core/Makefile.am: Likewise.
10403 * grub-core/Makefile.core.def: Likewise.
10404 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
10405 inappropriate includes.
10406 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
10407 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
10408 * grub-core/kern/main.c (grub_modules_get_end)
10409 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
10410 * grub-core/kern/mips/qemu-mips: Moved to ..
10411 * grub-core/kern/mips/qemu_mips: ... this.
10412 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
10413 (grub_machine_init): Call terminfo_init and serial_init.
10414 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
10415 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
10416 New variable.
10417 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
10418 parameter passing.
10419 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
10420 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
10421 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
10422 * include/grub/mips/qemu_mips/cmos.h: New file.
10423 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
10424 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
10425 Removed.
10426 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
10427 Use correct mips-style address.
10428 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
10429 (GRUB_TICKS_PER_SECOND): Removed.
10430 (grub_get_rtc): Likewise.
10431 (grub_cpu_idle): Likewise.
10432 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
10433 New definition.
10434 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
10435 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
10436 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
10437 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
10438 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
10439 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
10440 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
10441 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
10442
10443 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10444
10445 SGI ARCS port.
10446
10447 * Makefile.util.def (libgrubmods.a): Add dvh.c.
10448 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
10449 platforms.
10450 * configure.ac: New target mips-arc.
10451 * gentpl.py: Likewise.
10452 * grub-core/Makefile.am: Likewise.
10453 * grub-core/Makefile.core.def: Likewise.
10454 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
10455 (none_decompress): Likewise.
10456 (lsdev): New module.
10457 (datetime): Use lib/arc/datetime.c on ARC.
10458 (part_dvh): New module.
10459 * grub-core/commands/arc/lsdev.c: New file.
10460 * grub-core/disk/arc/arcdisk.c: Likewise.
10461 * grub-core/kern/mips/arc/init.c: Likewise.
10462 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
10463 aligned addresses.
10464 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
10465 support.
10466 (grub_arch_dl_relocate_symbols): Likewise.
10467 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
10468 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
10469 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
10470 platforms.
10471 * grub-core/lib/arc/datetime.c: New file.
10472 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
10473 pci.h on non-loongson.
10474 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
10475 (grub_linux_boot): Set unused registers to 0.
10476 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
10477 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
10478 * grub-core/mmap/mips/uppermem.c: ...here.
10479 * grub-core/partmap/dvh.c: New file.
10480 * grub-core/term/arc/console.c: Likewise.
10481 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
10482 (grub_terminfo_set_current): Add terminal "arc".
10483 (grub_terminfo_readkey): Support ARC sequences.
10484 * include/grub/arc/arc.h: New file.
10485 * include/grub/arc/console.h: Likewise.
10486 * include/grub/disk.h (grub_disk_dev_id): Add
10487 GRUB_DISK_DEVICE_ARCDISK_ID.
10488 * include/grub/mips/arc/kernel.h: New file.
10489 * include/grub/mips/arc/memory.h: Likewise.
10490 * include/grub/mips/arc/time.h: Likewise.
10491 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
10492 * include/grub/mips/kernel.h (grub_halt): ... here.
10493 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
10494 here...
10495 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
10496 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
10497 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
10498 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
10499 proto.
10500 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
10501 from here ...
10502 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
10503 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
10504 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
10505 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
10506 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
10507 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
10508 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
10509 (grub_phys_addr_t): Moved from here ...
10510 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
10511 (grub_vtop): Moved from here ...
10512 * include/grub/mips/memory.h (grub_vtop): ... here.
10513 (grub_map_memory): Moved from here ...
10514 * include/grub/mips/memory.h (grub_map_memory): ... here.
10515 (grub_unmap_memory): Moved from here ...
10516 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
10517 (grub_machine_mmap_iterate): Moved from here ...
10518 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
10519 (grub_mmap_get_lower): Moved from here ...
10520 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
10521 (grub_mmap_get_upper): Moved from here ...
10522 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
10523 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
10524 here ...
10525 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
10526 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
10527 here ...
10528 * include/grub/mips/time.h (grub_get_rtc): ... here.
10529 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
10530 here ...
10531 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
10532 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
10533 here ...
10534 * include/grub/mips/time.h (grub_cpu_idle): ... here.
10535 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
10536 definition.
10537 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
10538 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
10539 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
10540 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
10541 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
10542 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
10543 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
10544 (GRUB_MACHINE_LINK_ADDR): Likewise.
10545 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
10546 to 6.
10547 * util/grub-install.in: Run dvhtool on ARC.
10548 * util/grub-mkimage.c (image_targets): Add mips-arc.
10549 (generate_image): Handle ECOFF output for mips-arc.
10550
10551 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
10552
10553 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
10554 blocks.
10555
10556 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
10557
10558 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
10559 after enabling port.
10560
10561 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
10562
10563 Skip incorrect USB devices.
10564
10565 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
10566 configcnt == 0.
10567 * include/grub/usb.h (grub_usb_err_t): New enum value
10568 GRUB_USB_ERR_BADDEVICE.
10569
10570 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
10571
10572 Fuloong video init support.
10573
10574 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
10575 well.
10576 (grub_vga_read_arx): New function.
10577 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
10578 definition.
10579 (framebuffer): New members io, mmioptr and mmiobase.
10580 (read_sis_cmd): New function.
10581 (write_sis_cmd): Likewise.
10582 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
10583 rather than 640x400.
10584 * grub-core/video/sis315_init.c: New file.
10585
10586 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10587
10588 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
10589 non-loongson.
10590 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
10591 to grub_dl_register_symbol.
10592
10593 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10594
10595 Fix compilation errors.
10596
10597 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
10598 potentially unused.
10599 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
10600 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
10601 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
10602 to loongson machines.
10603
10604 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10605
10606 Several FS mtime support.
10607
10608 * grub-core/fs/affs.c (grub_affs_time): New struct.
10609 (grub_affs_file): New field mtime.
10610 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
10611 type. Removed 'size'. New field 'di'. All users updated.
10612 (grub_affs_mount): Simplify checsum checking.
10613 (grub_affs_iterate_dir): New helper grub_affs_create_node.
10614 (grub_affs_dir): Handle mtime.
10615 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
10616 (grub_cpio_dir): Likewise.
10617 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
10618 (grub_hfs_filerec): New field mtime.
10619 (grub_hfs_dir): Handle mtime.
10620 (grub_hfs_mtime): New function.
10621 (grub_hfs_fs): Register grub_hfs_mtime.
10622 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
10623 (grub_iso9660_dir): New field mtime.
10624 (grub_fshelp_node): New field dirent.
10625 (iso9660_to_unixtime): New function.
10626 (iso9660_to_unixtime2): Likewise.
10627 (grub_iso9660_read_symlink): Use node->dirent.
10628 (grub_iso9660_iterate_dir): Likewise.
10629 (grub_iso9660_dir): Set mtime.
10630 (grub_iso9660_mtime): New function.
10631 (grub_iso9660_fs): Register grub_iso9660_mtime.
10632 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
10633 (grub_jfs_inode): New fields atime, ctime and mtime.
10634 (grub_jfs_dir): Set mtime.
10635 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
10636 * grub-core/fs/ntfs.c (list_file): Set mtime.
10637 (grub_ntfs_dir): Likewise.
10638 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
10639 (grub_reiserfs_iterate_dir): Set mtime.
10640 (grub_reiserfs_dir): Likewise.
10641 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
10642 (grub_fshelp_node): Likewise.
10643 (grub_sfs_iterate_dir): Set mtime.
10644 (grub_sfs_dir): Likewise.
10645 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
10646 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
10647 (grub_xfs_inode): New fields atime, mtime, ctime.
10648 (grub_xfs_dir): Set mtime.
10649 * include/grub/datetime.h (grub_datetime2unixtime): New function.
10650 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
10651 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
10652
10653 Support UDF symlinks.
10654
10655 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
10656 (grub_ufs_read_symlink): New function. All users updated.
10657
10658 Check amiga partmap checksum.
10659
10660 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
10661 (grub_amiga_partition): Likewise.
10662 (amiga_partition_map_checksum): New function.
10663 (amiga_partition_map_iterate): Check checksum.
10664
10665 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10666
10667 ROMFS support.
10668
10669 * Makefile.util.def (libgrubmods.a): Add romfs.
10670 * grub-core/Makefile.core.def (romfs): New module.
10671 * grub-core/fs/romfs.c: New file.
10672
10673 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10674
10675 Squashfs v4 support.
10676
10677 * Makefile.util.def (libgrubmods.a): Add squash4.
10678 * grub-core/Makefile.core.def (squash4): New module.
10679 * grub-core/fs/squash4.c: New file.
10680 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
10681 disk_input_start, disk_input.
10682 (get_byte): Handle disk_input.
10683 (grub_zlib_disk_read): New function.
10684 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
10685
10686 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10687 2011-05-15 Feiran Zheng <famcool@gmail.com>
10688
10689 * Makefile.util.def (libgrubmods.a): Add minix3.
10690 * grub-core/Makefile.core.def (minix3): New module.
10691 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
10692 (GRUB_MINIX_BSIZE): Removed.
10693 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
10694 (grub_minix_ino_t): New type.
10695 (grub_minix_le_to_cpu_ino): New macro.
10696 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
10697 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
10698 (grub_minix_data): New field block_size.
10699 (grub_minix_read_file): Handle 64-bit correctly.
10700 * grub-core/fs/minix3.c: New file.
10701
10702 2011-05-15 Tristan Gingold <gingold@free.fr>
10703 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
10704 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10705
10706 IA64 support.
10707
10708 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
10709 * configure.ac: Add ia64-efi target.
10710 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
10711 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
10712 * gentpl.py: Add ia64_efi platform.
10713 Rename x86_efi to efi and Add ia64-efi. All users updated.
10714 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
10715 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
10716 Remove kern/generic/rtc_get_time_ms.c on EFI.
10717 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
10718 kern/ia64/dl_helper.c on ia64-efi.
10719 Add kern/emu/cache.c on emu.
10720 (linux): Use on loader/ia64/efi/linux.c on ia64.
10721 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
10722 whether symbol is a function.
10723 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
10724 (grub_symbol): New field 'isfunc'.
10725 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
10726 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
10727 (grub_dl_load_segments): Place all sections into the same region.
10728 [__ia64__]: Create trampolines and got.
10729 [GRUB_MACHINE_EMU]: Call mprotect.
10730 (grub_dl_resolve_symbols): Resolve symbol type as well.
10731 [__ia64__]: Create function descriptors.
10732 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
10733 (grub_rtc_get_time_ms): ... this. Expressions simplified.
10734 (grub_get_rtc): New function.
10735 * grub-core/kern/emu/cache.c [__ia64__]: New file.
10736 * grub-core/kern/emu/cache.S: Renamed to ...
10737 * grub-core/kern/emu/cache_s.S: ... this.
10738 [__ia64__]: Add a nop.
10739 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
10740 [__ia64__]: New function.
10741 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
10742 * grub-core/kern/ia64/dl.c: New file.
10743 * grub-core/kern/ia64/dl_helper.c: Likewise.
10744 * grub-core/kern/ia64/efi/init.c: New file.
10745 * grub-core/kern/ia64/efi/startup.S: Likewise.
10746 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
10747 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
10748 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
10749 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
10750 * grub-core/loader/ia64/efi/linux.c: New file.
10751 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
10752 (GRUB_MOD_DEP): Likewise.
10753 (grub_dl) [__ia64__]: New fields got and tramp.
10754 (grub_dl): New field 'base'.
10755 (grub_dl_register_symbol): New argument isfunc. All users updated.
10756 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
10757 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
10758 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
10759 (grub_ia64_dl_get_tramp_got_size): New proto.
10760 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
10761 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
10762 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
10763 * include/grub/efi/api.h: Skip call wrappers on ia64.
10764 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
10765 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
10766 * include/grub/elf.h (ELF_ST_INFO): New definition.
10767 * include/grub/ia64/efi/kernel.h: New file.
10768 * include/grub/ia64/efi/memory.h: Likewise.
10769 * include/grub/ia64/efi/time.h: Likewise.
10770 * include/grub/ia64/kernel.h: Likewise.
10771 * include/grub/ia64/setjmp.h: Likewise (from glibc).
10772 * include/grub/ia64/time.h: New file.
10773 * include/grub/ia64/types.h: Likewise.
10774 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
10775 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
10776 New protos.
10777 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
10778 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
10779 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
10780 * util/grub-mkimage.c (image_target_desc): New field pe_target.
10781 All users updated.
10782 (EFI64_HEADER_SIZE): New definition. All users updated.
10783 (image_targets): Add ia64-efi.
10784 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
10785 jumpers_addr. All users updated.
10786 Create function descriptors.
10787 (count_funcs): New function.
10788 (unaligned_uint32): New struct.
10789 (MASK20): New definition.
10790 (MASK19): Likewise.
10791 (MASKF21): Likewise.
10792 (add_value_to_slot_20b): New function.
10793 (add_value_to_slot_21_real): Likewise.
10794 (add_value_to_slot_21): Likewise.
10795 (ia64_kernel_trampoline): New struct.
10796 (nopm): New variable.
10797 (jump): Likewise.
10798 (make_trampoline): New function.
10799 (relocate_addresses): Handle ia64.
10800 (make_reloc_section): Likewise.
10801 (load_image): Likewise.
10802
10803 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10804
10805 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
10806 warning. Move variables before code while on it.
10807
10808 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10809
10810 Fuloong support.
10811
10812 * configure.ac: Rename yeeloong platform to loongson. All users updated.
10813 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
10814 * grub-core/boot/mips/loongson/fuloong.S: New file.
10815 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
10816 Explicitly init CS5536.
10817 [FULOONG]: Don't use serial until CS5536 is available.
10818 Set GPIO based on dumps.
10819 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
10820 [FULOONG]: Handle GPIO and memory controller differences.
10821 Parse machine type in $a2.
10822 * grub-core/boot/mips/startup_raw.S: Determine and save the
10823 architecture.
10824 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
10825 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
10826 init on architecture type.
10827 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
10828 SIS315E. Don't init at_keyboard on fuloong.
10829 (grub_halt): Support Fuloong.
10830 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
10831 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
10832 (loongson_machtypes): New array.
10833 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
10834 type.
10835 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
10836 config. All users updated. Handle CS5536 serial.
10837 * grub-core/term/serial.c (grub_serial_register): Conditionalise
10838 default port on machine type. Register serial as inactive.
10839 * grub-core/video/sis315pro.c: New file.
10840 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
10841 definition.
10842 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
10843 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
10844 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
10845 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
10846 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
10847 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
10848 to ...
10849 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
10850 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
10851 definition.
10852 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
10853 (grub_arch_machine): New extern var.
10854 * include/grub/mips/loongson/serial.h
10855 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
10856 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
10857 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
10858 (GRUB_MACHINE_SERIAL_PORT0): ... this.
10859 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
10860 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
10861 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
10862 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
10863 * include/grub/term.h (grub_term_register_input_inactive): New inline
10864 function.
10865 (grub_term_register_output_inactive): Likewise.
10866 * include/grub/video.h (grub_video_driver_id): New value
10867 GRUB_VIDEO_DRIVER_SIS315PRO.
10868 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
10869 New field "names". All users updated.
10870 New field value IMAGE_FULOONG_FLASH.
10871 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
10872
10873 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
10874
10875 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
10876 and add some clarification.
10877
10878 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10879
10880 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
10881 platforms if kernel is compressed.
10882
10883 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10884
10885 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
10886 unused modules since currently referrence counter isn't reliable and
10887 there isn't much memory to recover there anyway.
10888
10889 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10890
10891 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
10892 rather than resetting it to allow modules to reference themselves
10893 in init.
10894
10895 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10896
10897 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
10898 counter on dependencies since grub_dl_unref already handles this.
10899
10900 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10901
10902 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
10903 on error if not already done.
10904
10905 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10906
10907 Fix few potential memory misusage.
10908
10909 * grub-core/font/font.c (load_font_index): Don't free char_index to
10910 avoid double free.
10911 (grub_font_load): Zero-fill font at alloc for safety.
10912 Close file on error.
10913 (free_font): Free bmp_idx.
10914
10915 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10916
10917 * docs/grub.texi (Installation): Fix several outdated claims.
10918
10919 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10920
10921 Handle module_license on windows.
10922
10923 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
10924 sections shifted.
10925 (insert_string): Make argument const char * instead of char *.
10926 (write_section_data): Handle long section names.
10927 Handle module_license.
10928
10929 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10930
10931 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
10932 handle class-free menuentries.
10933 (grub_normal_add_menu_entry): Add a check to be sure.
10934
10935 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10936
10937 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
10938 PgUp and PgDown.
10939
10940 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10941
10942 * configure.ac: Bump version to 1.99.
10943
10944 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10945
10946 Give ATA device a bit more time on first try in order to allow disks
10947 to spin up.
10948
10949 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
10950 if dev->present is 1. Reset dev->present on failure.
10951 (grub_ata_device_initialize): Set dev->present to 1.
10952 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
10953 (grub_ata_device): New member 'present'.
10954
10955 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10956
10957 * util/grub-mkimage.c (generate_image): Update hash.
10958
10959 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10960
10961 Flush caches on DMA memory.
10962
10963 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
10964 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
10965 (grub_dma_free): Likewise.
10966 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
10967
10968 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10969
10970 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
10971 to avoid asm treating ld and sd as macros.
10972
10973 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10974
10975 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
10976 decompressor.
10977
10978 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10979
10980 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
10981 grub_decompress_core since later would fail if grub_decompress_core
10982 is too far.
10983
10984 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10985
10986 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
10987 R_MIPS_JALR since it's used by newer compiler.
10988
10989 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10990
10991 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
10992
10993 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10994
10995 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
10996 file_path to 0 for surety.
10997 (grub_chainloader_boot): Set exit_data to NULL.
10998 Unset the loader once done.
10999 (grub_cmd_chainloader): Fix confusing error message if file is empty.
11000
11001 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11002
11003 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
11004 unknown key into a dprintf.
11005
11006 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11007
11008 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
11009 on first non-existant partition.
11010
11011 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11012
11013 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
11014 openning fails.
11015 Reported by: Mark Korenberg.
11016
11017 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11018
11019 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
11020 overflow.
11021
11022 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11023
11024 * util/grub-mkimage.c (main): Explicitely flush and sync the output
11025 before closing to ensure that it will be readable by grub-setup.
11026
11027 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11028
11029 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
11030 (devpath_1): Use MAKE_PIWG_PATH.
11031 (devpath_2): Likewise.
11032 (devpath_3): Likewise.
11033 (devpath_4): Likewise.
11034 (devpath_5): Likewise.
11035 (devpath_6): Likewise.
11036
11037 The appleldr.mod was checked that to be binary identical to previous
11038 version.
11039
11040 2011-05-05 Zach <mikezackles>
11041
11042 Support 2010 Macbooks.
11043
11044 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
11045 (devs): Add devpath_6.
11046
11047 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11048
11049 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
11050 /dev/random. /dev/urandom is good enough for our purposes (salting).
11051
11052 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11053
11054 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
11055
11056 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11057
11058 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
11059 hexadecimal.
11060
11061 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11062
11063 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
11064 and not 0 on failure.
11065
11066 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
11067
11068 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
11069 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
11070 disk; otherwise grub_fs_probe will not fall back to the next
11071 filesystem.
11072 (grub_pxefs_open): Likewise, for consistency.
11073 Reported and tested by: Ezekiel Grave.
11074
11075 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
11076
11077 * tests/partmap_test.in: Don't hardcode path to parted.
11078 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
11079
11080 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
11081
11082 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
11083 of `ls' to find out which devices are available.
11084
11085 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11086
11087 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
11088 than source address for efi mmap buffer.
11089
11090 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11091
11092 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
11093 wrong action on non-detecting the magic.
11094
11095 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11096
11097 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
11098 already supplied by another part of the module (fixes compilation on
11099 FreeBSD).
11100
11101 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11102
11103 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
11104 match the one used by mdadm.
11105
11106 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
11107
11108 * po/README: Add instructions for creating po/LINGUAS.
11109
11110 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
11111
11112 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
11113 #551428.
11114
11115 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
11116 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
11117 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
11118 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
11119 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
11120 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
11121 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
11122 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
11123 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
11124 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
11125 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
11126 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
11127 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
11128 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
11129 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
11130 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
11131 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
11132 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
11133 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
11134 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
11135 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
11136 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
11137
11138 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
11139
11140 * grub-core/kern/emu/getroot.c
11141 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
11142 test that was incorrectly reintroduced in r3214.
11143 Reported by: Ian Dall. Fixes Savannah bug #33133.
11144
11145 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
11146
11147 Fix stack pointer handling in 16-bit relocator.
11148
11149 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
11150 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
11151 Fixes Ubuntu bug #683904.
11152
11153 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11154
11155 * configure.ac: Bump version to 1.99~rc2.
11156
11157 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11158
11159 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
11160 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
11161 * grub-core/lib/x86_64/setjmp.S: Likewise.
11162 * grub-core/lib/mips/setjmp.S: Likewise.
11163 * grub-core/lib/powerpc/setjmp.S: Likewise.
11164 * grub-core/lib/sparc64/setjmp.S: Likewise.
11165
11166 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11167
11168 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
11169 * grub-core/lib/efi/datetime.c: Likewise.
11170
11171 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11172
11173 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
11174 New function.
11175 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
11176 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
11177 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
11178
11179 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11180
11181 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
11182 bitmap.
11183 (grub_gfxterm_term_init): Likewise.
11184
11185 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11186
11187 Take into account the decorations the computing menu entry width.
11188
11189 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
11190 (grub_gfxmenu_create_box): Register get_border_width.
11191 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
11192 if available.
11193 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
11194 get_border_width.
11195
11196 2011-04-18 Endres Puschner <code@e7p.de>
11197
11198 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
11199 Don't skip first class.
11200
11201 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11202
11203 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
11204 chunks.
11205 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
11206
11207 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11208
11209 Complete 64-bit division support.
11210
11211 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
11212 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
11213 * include/grub/misc.h (grub_divmod64): Rename to ...
11214 (grub_divmod64_full): ... this.
11215 (grub_divmod64): New inline function.
11216
11217 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11218
11219 * util/grub-mkimage.c (generate_image): Add forgotten comma.
11220
11221 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11222
11223 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
11224 performing the necessary test.
11225
11226 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11227
11228 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
11229 (kfreebsd.elf): Likewise.
11230 (pc-chainloader.elf): Likewise.
11231 (ntldr.elf): Likewise.
11232
11233 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11234
11235 Identify RAID by its UUID rather than (guessed) name.
11236
11237 * grub-core/disk/raid.c (ascii2hex): New function.
11238 (grub_raid_open): Accept mduuid/%s specification.
11239 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
11240 (get_mdadm_uuid): ... this.
11241 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
11242
11243 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
11244
11245 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
11246 to negative size.
11247
11248 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
11249
11250 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
11251 btrfs subvolume.
11252 * util/grub.d/20_linux_xen.in: Likewise.
11253
11254 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
11255
11256 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
11257 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
11258
11259 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
11260 Build a list of relevant visible mounts using the mnt_id and
11261 parent_mnt_id fields, and then scan that list at the end.
11262
11263 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
11264
11265 * docs/grub.texi (normal): New section.
11266 (normal_exit): New section.
11267 (Embedded configuration): Add reference to normal.
11268 (GRUB only offers a rescue shell): Likewise.
11269 * docs/grub-dev.texi (Error Handling): Fix typo.
11270
11271 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
11272
11273 * NEWS: Drop obsolete entry about probe-only btrfs support.
11274
11275 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
11276
11277 * util/import_gcry.py: Fix typo.
11278
11279 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11280
11281 * NEWS: Add btrfs support.
11282
11283 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11284 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
11285
11286 BtrFS support. Written by me (Vladimir) with important bugfixes and
11287 even more important testing by Colin.
11288
11289 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
11290 * grub-core/Makefile.core.def (btrfs): Add crc.c.
11291 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
11292 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
11293 mem_input_off and mem_input. All users updated to accept in-RAM input.
11294 (gzio_seek): New function.
11295 (test_zlib_header): Likewise.
11296 (grub_gzio_read): Likewise.
11297 (grub_zlib_decompress): Likewise.
11298 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
11299 Accept partial and non-virtual mounts.
11300 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
11301 avoid receiving /dev/dm-X as device.
11302 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
11303 Handle bind and partial mounts.
11304 * grub-core/lib/crc.c: New file.
11305 * include/grub/deflate.h: Likewise.
11306 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
11307 proto.
11308 * include/grub/lib/crc.h: New file.
11309
11310 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11311
11312 Implement automatic module license checking according to new GNU
11313 guidelines.
11314
11315 * grub-core/kern/dl.c (grub_dl_check_license): New function.
11316 (grub_dl_load_core): Use grub_dl_check_license.
11317 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
11318 (GRUB_MOD_LICENSE): Likewise.
11319 (GRUB_MOD_DUAL_LICENSE): Likewise.
11320 All modules updated.
11321
11322 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
11323
11324 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
11325 reserved_first_sector to 1. btrfs reserves plenty of space for boot
11326 loaders.
11327 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
11328
11329 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11330
11331 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
11332
11333 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11334
11335 * util/grub-fstest.c (read_file): Report GRUB error if file opening
11336 failed.
11337
11338 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11339
11340 * grub-core/kern/file.c (grub_file_open): Don't take into account the
11341 parenthesis in the middle of the filename.
11342
11343 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11344
11345 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
11346 rather than trying to put initrd way too high.
11347 Reported by: Ryan Lortie <desrt@desrt.ca>
11348
11349 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11350
11351 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
11352 improperly removed string.
11353
11354 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11355
11356 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
11357 is_disk.
11358 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
11359 (open_device) Likewise.
11360 (grub_util_biosdisk_close): Likewise.
11361 Reported by: Mark Korenberg.
11362
11363 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
11364
11365 * util/grub-mkconfig_lib.in: Add missing quotes.
11366
11367 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
11368
11369 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
11370 is NULL.
11371
11372 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11373
11374 Dynamically count the number of lines for the lower banner.
11375
11376 * grub-core/normal/menu_entry.c (per_term_screen): New member
11377 num_entries.
11378 (print_down): Use num_entries.
11379 (update_screen): Likewise.
11380 (grub_menu_entry_run): Set num_entries.
11381 * grub-core/normal/menu_text.c (menu_viewer_data): New member
11382 num_entries.
11383 (grub_print_message_indented): Move real part to ...
11384 (grub_print_message_indented_real): ... here. Additional argument
11385 dry_run.
11386 (draw_border): Additional argument num_entries.
11387 (print_message): Additional argument dry_run.
11388 (print_entries): Receive menu viewer data.
11389 (grub_menu_init_page): New argment num_entries.
11390 (menu_text_set_chosen_entry): Use num_entries.
11391 (grub_menu_try_text): Likewise.
11392 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
11393 All users updated.
11394 (grub_ucs4_count_lines): New function.
11395 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
11396 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
11397 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
11398 (grub_term_border_height): Likewise.
11399 (grub_term_num_entries): Likewise.
11400
11401 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11402
11403 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
11404 Remove now unused string.
11405
11406 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
11407
11408 * docs/grub-dev.texi (Finding your way around): Update for 1.99
11409 build system.
11410 (Getting started): GRUB is developed in Bazaar now, not Subversion.
11411
11412 (Comment): Fix typo.
11413 (Getting started): General copy-editing.
11414 (Typical Development Experience): Likewise.
11415 (Error Handling): Likewise.
11416 (Video API): Likewise.
11417
11418 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
11419
11420 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
11421 throughout.
11422
11423 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11424
11425 * util/grub-mkimage.c (main): Handle special naming of yeeloong
11426 directory.
11427
11428 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
11429
11430 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
11431 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
11432 "development".
11433
11434 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11435
11436 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
11437 grub_strcpy since the lines aren't necessarily 0-terminated.
11438
11439 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11440
11441 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
11442 root on legacy.
11443
11444 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11445
11446 * grub-core/commands/probe.c (options): Argument to set isn't optional.
11447 (GRUB_MOD_INIT): DEVICE isn't optional.
11448
11449 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11450
11451 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
11452 word on new line if it's too long anyway. Fixes a hang.
11453
11454 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11455
11456 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
11457 const.
11458 * util/grub-setup.c (main): Reuse md device name if available.
11459 * util/raid.c (grub_util_raid_getmembers): Receive device name and
11460 not GRUB name as argument.
11461 Based on patch by: Florian Wagner <fwagner>.
11462
11463 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11464
11465 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
11466 Place mbi on low memory for better compatibility.
11467
11468 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11469
11470 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
11471
11472 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11473 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
11474
11475 * autogen.sh: Ensure that collate and ctype locale is C.
11476 * conf/Makefile.common: Likewise.
11477
11478 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11479
11480 * grub-core/normal/menu.c: Add missing include.
11481
11482 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11483
11484 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
11485
11486 2011-04-08 Martin Zuther <mzuther@mzuther.de>
11487
11488 * util/grub-mkconfig.in: Ignore emacsen backup.
11489
11490 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11491
11492 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
11493 on open.
11494 (grub_util_biosdisk_close): Likewise.
11495
11496 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11497
11498 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
11499 const attribute and use grub_isdigit.
11500
11501 2011-04-06 Andrey <dev_null@ukr.net>
11502
11503 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
11504 gcc warning.
11505
11506 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11507
11508 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
11509 useful grub_dprintf's.
11510
11511 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11512
11513 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
11514
11515 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11516
11517 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
11518
11519 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11520
11521 Output errors if theme loading failed.
11522
11523 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
11524 grub_gfxterm_fullscreen on error paths to ...
11525 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
11526 theme loading error.
11527
11528 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11529
11530 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
11531 space for older compilers.
11532 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
11533
11534 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11535
11536 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
11537 and report them as not RAID members since they are useless for GRUB.
11538 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11539
11540 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11541
11542 Increase LVM implementation robustness in order not to crash on
11543 configurations like pvmove. Previously code assumed that in some places
11544 only lvs or only pvs are used whereas it seems that they are used
11545 interchangeably.
11546
11547 * grub-core/disk/lvm.c (read_node): New function.
11548 (read_lv): Use read_node.
11549 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
11550 Match volumes only at the end when all lvs are found. Take both
11551 pvs (first) and lvs (second) into account.
11552 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
11553 mirror_* into node_*. All users updated.
11554 (grub_lvm_stripe): Merge this ...
11555 (grub_lvm_mirror): ... and this ...
11556 (grub_lvm_node): ... into this. All users updated.
11557
11558 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11559
11560 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
11561 of function to allow further scanning for LVMs.
11562
11563 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11564
11565 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
11566 on failed seek as it breaks open fd reusage.
11567
11568 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11569
11570 * util/grub-install.in: Add a recommendation to use --recheck before
11571 reporting bugs.
11572
11573 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11574
11575 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
11576 are obtained.
11577
11578 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11579
11580 GRUB developper manual based on existing Internals section and
11581 contributions by the various authors with active copyright assignment.
11582
11583 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
11584 * docs/font_char_metrics.png: New file.
11585 * docs/font_char_metrics.txt: Likewise.
11586 * docs/grub-dev.texi: Likewise.
11587 * docs/grub.texi (Internals): Move from here ...
11588 * docs/grub-dev.texi: ... here.
11589
11590 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
11591
11592 Store the loopback device as data on loopback grub_disk structures,
11593 rather than the file it points to. This fixes use of freed memory
11594 if an existing loopback device is replaced.
11595
11596 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
11597 disk->data, not dev->file.
11598 (grub_loopback_read): Adjust file assignment to match.
11599 Fixes Ubuntu bug #742967.
11600
11601 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
11602
11603 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
11604 when replacing an existing device.
11605
11606 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11607
11608 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
11609 memory corruptions.
11610
11611 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
11612 unsigned.
11613 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
11614 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
11615 (grub_jfs_read_inode): Likewise.
11616 (grub_jfs_opendir): Likewise. Remove now useless casts.
11617 (grub_jfs_getent): Likewise.
11618 Make ino a grub_uint32_t rather than int.
11619 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
11620 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
11621 division and module with bit operations.
11622 (grub_jfs_find_file): Make ino a grub_uint32_t.
11623 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
11624
11625 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
11626
11627 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
11628 warning. (This was in fact always initialised before use, but GCC
11629 wasn't smart enough to prove that.)
11630 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
11631
11632 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11633
11634 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
11635 stack alignment.
11636 (efi_wrap_1): Likewise.
11637 (efi_wrap_2): Likewise.
11638 (efi_wrap_3): Likewise.
11639 (efi_wrap_4): Likewise.
11640 (efi_wrap_5): Likewise.
11641 (efi_wrap_6): Likewise.
11642 (efi_wrap_10): Likewise.
11643 Based on information by: Red Hat/Peter Jones.
11644
11645 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
11646
11647 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
11648 set-but-not-used variable.
11649
11650 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
11651
11652 * docs/grub.texi (Simple configuration): Be more explicit about
11653 GRUB_DEFAULT, and add an example.
11654 Reported by: Leslie Rhorer.
11655
11656 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
11657
11658 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
11659 shell".
11660
11661 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
11662
11663 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
11664 * util/grub.d/20_linux_xen.in: Likewise.
11665
11666 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11667
11668 * util/grub.d/10_linux.in: Try alternative config filenames where
11669 we parse config file.
11670 * util/grub.d/20_linux_xen.in: Likewise.
11671
11672 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
11673
11674 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
11675 * util/grub.d/20_linux_xen.in: Likewise.
11676
11677 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11678
11679 * grub-core/disk/raid.c (insert_array): Add few potentially
11680 useful grub_util_info.
11681 (grub_raid_register): Likewise.
11682
11683 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11684
11685 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
11686 Preserve partition number in mdadm code path.
11687
11688 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11689
11690 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
11691 few potentially useful grub_util_info.
11692
11693 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11694
11695 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
11696
11697 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
11698
11699 * docs/grub.texi (default): Use @example rather than nested
11700 itemized lists to avoid breaking gendocs.
11701
11702 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
11703
11704 * docs/grub.texi (Future): Update.
11705
11706 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
11707
11708 * docs/grub.texi (Environment): New chapter.
11709 (Changes from GRUB Legacy): Link to "Environment block" section for
11710 details of limitations.
11711 (Simple configuration): Likewise. Link to documentation of gfxmode
11712 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
11713 respectively.
11714 (Shell-like scripting): Note that normal variables are stored in the
11715 environment.
11716 (gettext): Link to documentation of lang and locale_dir.
11717 (list_env): New section.
11718 (load_env): New section.
11719 (save_env): New section.
11720
11721 (Reporting bugs): Fix typo.
11722
11723 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11724
11725 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
11726 the example.
11727
11728 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11729
11730 * grub-core/term/at_keyboard.c (set_scancodes)
11731 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
11732
11733 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
11734
11735 * docs/grub.texi (Menu-specific commands): Remove some semantics
11736 that were true in GRUB Legacy but not in GRUB 2.
11737 (submenu): New section.
11738 (false): New section.
11739 (read): New section.
11740 (true): New section.
11741
11742 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
11743
11744 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
11745
11746 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
11747
11748 * docs/grub.texi (Simple configuration): Explain some of the
11749 current limitations of grub-mkconfig.
11750 Reported by: Leslie Rhorer.
11751
11752 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11753
11754 Old macs search for boot.efi rather than for bootia32.efi.
11755
11756 * util/grub-install.in: Copy bootia32.efi to boot.efi.
11757 * util/grub-mkrescue.in: Likewise.
11758 Suggested by: Peter Jones.
11759
11760 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11761
11762 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
11763
11764 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11765
11766 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
11767 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
11768 (grub_lvm_mirror): New struct.
11769 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
11770 (grub_lvm_iterate): Iterate only visible volumes.
11771 (grub_lvm_read): Factor out to ..
11772 (read_lv): ... this. Support mirrors.
11773 (grub_lvm_read): New wrapper function.
11774 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
11775 stripped or mirrored.
11776
11777 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11778
11779 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
11780
11781 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
11782
11783 * docs/grub.texi (loopback): New section.
11784
11785 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
11786
11787 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
11788 removed -p option.
11789
11790 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
11791
11792 * docs/grub.texi (BIOS installation): New section, partly based on
11793 previous text in other sections.
11794 (Installing GRUB using grub-install): Replace BIOS discussion with a
11795 cross-reference.
11796 (Images): Likewise.
11797
11798 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11799
11800 * grub-core/kern/emu/hostdisk.c (find_partition_start)
11801 [HAVE_DIOCGDINFO]: Add safety checks.
11802
11803 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11804
11805 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
11806 per default compiled in kernel and prior to 8.0 isn't shipped at all.
11807
11808 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
11809
11810 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
11811 real_sb->size is zero (e.g. RAID-0), get the disk size from
11812 real_sb->data_size instead.
11813 Fixes Ubuntu bug #743136.
11814
11815 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11816
11817 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
11818 printf clauses for printing size and start.
11819
11820 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11821
11822 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
11823 Reported and tested by: Timothy Nikkel.
11824
11825 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11826
11827 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
11828 (dirty_region_add_real): ... this.
11829 (dirty_region_add): Don't discard margin refresh when performing
11830 scheduled repaint.
11831
11832 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11833
11834 * grub-core/lib/relocator.c (allocate_regstart)
11835 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
11836 terminals are capabple of malloc-free operation.
11837 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
11838 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
11839
11840 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
11841
11842 * util/grub-setup.c: Copy the partition table zone if floppy support
11843 is disabled, even if no partition table is found.
11844
11845 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
11846 during POST if an invalid partition table is contained in the PBR
11847 of the active partition when GRUB is installed to a partition.
11848
11849 2011-03-28 Colin Watson <cjwatson@debian.org>
11850
11851 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
11852 comment.
11853
11854 2011-03-28 Colin Watson <cjwatson@debian.org>
11855
11856 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
11857 to be specific about what kind of RAID device we're scanning for.
11858
11859 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
11860
11861 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
11862 return freed string.
11863
11864 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11865
11866 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
11867
11868 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11869
11870 Use libgeom on FreeBSD to detect partitions.
11871
11872 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
11873 (grub-mkrelpath): Likewise.
11874 (grub-script-check): Likewise.
11875 (grub-editenv): Likewise.
11876 (grub-mkpasswd-pbkdf2): Likewise.
11877 (grub-fstest): Likewise.
11878 (grub-mkfont): Likewise.
11879 (grub-mkdevicemap): Likewise.
11880 (grub-probe): Likewise.
11881 (grub-setup): Likewise.
11882 (grub-ofpathname): Likewise.
11883 (grub-mklayout): Likewise.
11884 (example_unit_test): Likewise.
11885 (grub-menulst2cfg): Likewise.
11886 * grub-core/Makefile.core.def (grub-emu): Likewise.
11887 (grub-emu-lite): Likewise.
11888 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
11889 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
11890 define HAVE_DIOCGDINFO.
11891 (follow_geom_up) [FreeBSD]: New function.
11892 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
11893 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
11894 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
11895 unconditionally of HAVE_DIOCGDINFO.
11896
11897 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11898
11899 Fix FreeBSD compilation problem.
11900
11901 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
11902 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
11903
11904 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
11905
11906 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
11907 Switch back to page zero before loading a kernel, since some kernel
11908 drivers expect that.
11909 Thanks to: Felix Kuehling.
11910
11911 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
11912
11913 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
11914 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
11915 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
11916
11917 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
11918
11919 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
11920 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
11921
11922 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
11923
11924 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
11925 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
11926 malloc is disabled.
11927
11928 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
11929
11930 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
11931 for modules headers when counting the needed allocation size.
11932
11933 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11934
11935 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
11936 if no ASCII character is found to prevent crash.
11937
11938 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
11939
11940 * grub-core/video/bitmap.c (match_extension): Ignore case.
11941
11942 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11943
11944 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
11945
11946 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11947
11948 * grub-core/script/parser.y: Declare "time" as valid argument.
11949
11950 2011-03-23 Peter Jones <pjones@redhat.com>
11951
11952 Fix incorrect assert failure reporting.
11953
11954 * grub-core/tests/example_functional_test.c (example_test): Add
11955 a failure comment.
11956 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
11957 (failure_start): ...this. Check that malloc succeeded.
11958 Don't call xvasprintf. Return failure struct.
11959 (failure_append_vtext): New function.
11960 (failure_append_text): Likewise.
11961 (add_failure): Likewise.
11962 (grub_test_assert_helper): Likewise.
11963 * include/grub/test.h (grub_test_assert_helper): New declaration.
11964 (grub_test_assert): Macro rewritten.
11965
11966 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11967
11968 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
11969
11970 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11971
11972 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
11973
11974 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11975
11976 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
11977 into GRUB-style one.
11978
11979 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11980
11981 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
11982 error and not grub_errno.
11983 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
11984
11985 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11986
11987 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
11988 GRUB_USB_SPEED_NONE in case of failure and not the error code.
11989
11990 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11991
11992 * grub-core/efiemu/i386/pc/cfgtables.c
11993 (grub_machine_efiemu_init_tables): Make declaration a prototype.
11994 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
11995 (grub_xnu_unlock): Likewise.
11996 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
11997
11998 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11999
12000 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
12001 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
12002 * grub-core/commands/hashsum.c (aliases): Likewise.
12003 * grub-core/commands/setpci.c (pci_registers): Likewise.
12004 * grub-core/disk/usbms.c (attach_hook): Likewise.
12005 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
12006 (zio_checksum_table): Likewise.
12007 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
12008 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
12009 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
12010 * grub-core/lib/relocator.c (leftovers): Likewise.
12011 (extra_blocks): Likewise.
12012 * grub-core/loader/i386/bsd.c (relocator): Likewise.
12013 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
12014 (modules_last): Likewise.
12015 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
12016 (devices): Likewise.
12017 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
12018 (modules_last): Likewise.
12019 * grub-core/normal/auth.c (users): Likewise.
12020 * grub-core/normal/context.c (initial_menu): Likewise.
12021 (current_menu): Likewise.
12022 * grub-core/normal/crypto.c (crypto_specs): Likewise.
12023 * grub-core/term/serial.c (grub_serial_ports): Likewise.
12024 (grub_serial_terminfo_input_template): Likewise.
12025 (grub_serial_terminfo_output_template): Likewise.
12026 (grub_serial_terminfo_input): Likewise.
12027 (grub_serial_terminfo_output): Likewise.
12028 (registered): Likewise.
12029 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
12030
12031 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12032
12033 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
12034 grub_video_mode_type_t.
12035 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
12036 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
12037 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
12038
12039 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12040
12041 * util/grub-install.in: Correct the x86-64 name as x86_64.
12042
12043 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
12044
12045 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
12046 initial chunk read from the kernel always includes GRUB's multiboot
12047 header, which is now outside the first sector.
12048
12049 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
12050
12051 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
12052 cached mmap_size, so that this works correctly when called multiple
12053 times.
12054 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
12055
12056 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
12057
12058 * docs/grub.texi (Simple configuration): Tidy up formatting.
12059
12060 2011-03-07 Szymon Janc <szymon@janc.net.pl>
12061
12062 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
12063 Set-but-not-used variable removed.
12064
12065 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12066
12067 Workaround yet another IEEE1275 bug.
12068
12069 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
12070 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
12071 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
12072 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
12073 is set.
12074 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12075 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
12076
12077 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12078
12079 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
12080 error.
12081
12082 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
12083
12084 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
12085 empty, since in that case we can only generate either nothing or a
12086 syntactically invalid configuration file.
12087 Reported by: Michal Suchanek. Fixes Debian bug #612898.
12088
12089 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
12090
12091 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
12092 (Making a GRUB bootable CD-ROM): Likewise.
12093 (Invoking grub-mkrescue): New section.
12094 Reported by: Yann Dirson. Fixes Debian bug #612585.
12095
12096 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
12097
12098 * util/grub-install.in: Remove unnecessary brackets from tr
12099 arguments.
12100 * util/grub.d/10_hurd.in: Likewise.
12101 * util/grub.d/10_kfreebsd.in: Likewise.
12102 * util/grub.d/10_linux.in: Likewise.
12103 * util/grub.d/20_linux_xen.in: Likewise.
12104 Reported by: Jamie Heilman. Fixes Debian bug #612564.
12105
12106 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
12107
12108 * include/grub/file.h (not_easly_seekable): Rename to ...
12109 (not_easily_seekable): ... this. Update all users.
12110
12111 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
12112
12113 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
12114 grub-mkrescue.
12115
12116 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12117
12118 * util/grub-mkimage.c (generate_image): Refuse to create the images
12119 bigger than the actual flash (512K) in Loongson machines. 512K is also
12120 the biggest chip supported by them.
12121
12122 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12123
12124 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
12125
12126 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
12127
12128 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
12129 super_offset field.
12130
12131 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12132
12133 * util/grub-install.in: Ignore install device on platforms
12134 where it doesn't make sense. Always use UUIDs except on pc, efi and
12135 sparc64.
12136 Reported by: Daniel Kahn Gillmor.
12137
12138 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12139
12140 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
12141
12142 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12143
12144 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
12145 (iterate_real): Don't rely on partition being non-NULL.
12146
12147 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12148
12149 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
12150 supported platforms. Put a compile time assert for this rather than
12151 generate a warning with 32-bit shift.
12152
12153 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12154
12155 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
12156 logical expression more readable.
12157
12158 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12159
12160 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
12161 even if some elements have a name.
12162 Reported by: Alexander GQ Gerasiov.
12163
12164 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
12165
12166 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
12167 path unreadable if `grub-probe -t abstraction' fails, for example if
12168 memberlist fails on an LVM volume group.
12169 Reported by: Darius Jahandarie.
12170
12171 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
12172
12173 * docs/grub.texi (Simple configuration): Document
12174 GRUB_PRELOAD_MODULES.
12175
12176 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
12177
12178 * .bzrignore: Remove nonexistent grub-pbkdf2.
12179
12180 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
12181
12182 * configure.ac: Bump version to 1.99~rc1.
12183
12184 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
12185
12186 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
12187 for safety.
12188
12189 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12190
12191 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
12192 module.
12193
12194 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12195
12196 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
12197
12198 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12199
12200 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
12201 diskdevid.
12202
12203 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12204
12205 Fix compilation on cygwin.
12206
12207 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
12208 -R .drectve on cygwin.
12209 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
12210 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
12211 (COND_CYGWIN): New condition.
12212 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
12213 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
12214 not @TARGET_OBJ2ELF@.
12215 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
12216 type to determine whether aux is to be used.
12217
12218 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12219
12220 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
12221 realpath'ed device string.
12222 Handle floppy (somewhat).
12223 Issue error in unknown case rather than garbage.
12224 Reported by: Axel Beckert.
12225
12226 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12227
12228 * util/grub.d/00_header.in (load_video): Handle the case when no video
12229 drivers available.
12230 Thanks to: Axel Beckert.
12231
12232 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12233
12234 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
12235 variable. Fixes problem on big endian platforms.
12236
12237 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12238
12239 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
12240 It doesn't work well there.
12241
12242 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12243
12244 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
12245 warning.
12246 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
12247 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
12248 counter.
12249
12250 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12251
12252 Use alias->path rather than buggy "canon".
12253
12254 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
12255 (ofdisk_hash_add): New argument curcan. All users updated.
12256
12257 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
12258
12259 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
12260
12261 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12262
12263 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
12264 loadmask before doing any calculations. Use correct type for offset.
12265 (grub_linux_load64): Likewise.
12266
12267 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
12268
12269 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
12270 with NULL.
12271 (console_grub_equivalences_unshift): Likewise.
12272 Reported by: Daniel Dehennin.
12273
12274 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12275
12276 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
12277 (set_env_limn_ro): Likewise.
12278 (GRUB_MOD_INIT): Likewise.
12279 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
12280 ARRAY_SIZE while on it.
12281 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
12282 * grub-core/normal/context.c (grub_env_export): Move from here ...
12283 * grub-core/kern/env.c (grub_env_export): ... here.
12284 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
12285 prefix.
12286 * grub-core/kern/main.c (grub_main): Export root and prefix.
12287 * include/grub/env.h (grub_env_export): Export.
12288 Reported by: Seth Goldberg.
12289
12290 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12291
12292 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12293 Take into account space used by ELF sections and multiboot palette.
12294 Reported by: Grégoire Sutre.
12295
12296 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12297
12298 * BUGS: New file.
12299
12300 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12301
12302 Pass more appropriate video id to Linux.
12303
12304 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
12305 grub_video_get_driver_id and variable gfxpayloadforcelfb to
12306 fill have_vga.
12307 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
12308 shift params->lfb_size.
12309 * include/grub/i386/linux.h: Make an enume out of have_vga values.
12310
12311 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12312
12313 * util/grub-menulst2cfg.c: Add missing include of misc.h.
12314
12315 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12316
12317 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
12318 separator and pass bootpath/devid even if only one of them is available.
12319 Reported by: Seth Goldberg.
12320
12321 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12322
12323 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
12324 implementations bug on them.
12325
12326 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
12327 memory.
12328 (filter_memory_map): Likewise.
12329
12330 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12331
12332 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
12333 Reported by: nebuchadnezzar.
12334
12335 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12336
12337 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
12338 Reported by: nebuchadnezzar.
12339
12340 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12341
12342 Submenu default support.
12343
12344 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
12345 auto_boot. All users updated.
12346 Declared static.
12347 Handle chosen and default with submenus.
12348 (grub_menu_execute_with_fallback): Declared static.
12349 Don't notify failure if autobooted. Upper level does it.
12350 (menuentry_eq): New function.
12351 (get_entry_number): Use menuentry_eq.
12352 (show_menu): New parameter "autobooted". All users updated.
12353 (grub_show_menu): Likewise.
12354 * include/grub/normal.h (grub_show_menu): Likewise.
12355 * include/grub/menu.h (grub_menu_execute_entry): Removed.
12356 (grub_menu_execute_with_fallback): Likewise.
12357
12358 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12359
12360 * util/grub-mklayout.c (usage): Update help text.
12361
12362 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12363
12364 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
12365
12366 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12367
12368 * util/grub-menulst2cfg.c (main): Trim the line.
12369
12370 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12371
12372 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
12373 (grub_machine_init): Don't check amount of low memory as reportedly
12374 INT 12h can be broken and if low memory is too low we wouldn't have
12375 gotten into grub_machine_init anyway.
12376
12377 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12378
12379 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
12380 (grub_machine_mmap_iterate): Take low memory into account
12381
12382 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12383
12384 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
12385 badfs.
12386 Reported by: TiCPU.
12387
12388 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12389
12390 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
12391 members errors.
12392
12393 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
12394
12395 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
12396 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
12397
12398 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
12399
12400 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
12401 openbsd and netbsd types being in part_bsd module.
12402
12403 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12404
12405 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
12406 (_FILE_OFFSET_BITS): Likewise.
12407 Reported by: Seth Goldberg.
12408
12409 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
12410
12411 * configure.ac: Check for libdevmapper header.
12412
12413 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12414
12415 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
12416 avoid aliasing.
12417 (fzap_lookup): Likewise.
12418 (dnode_get): Likewise.
12419 (make_mdn): Likewise.
12420 (zfs_mount): Likewise.
12421 (fzap_iterate): Use temporary pointer to avoid aliasing.
12422 (grub_zfs_read): Likewise.
12423 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
12424 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
12425 pointers to avoid aliasing.
12426 (grub_cmd_xnu_kernel64): Likewise.
12427 (grub_xnu_load_driver): Likewise.
12428
12429 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12430
12431 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
12432 aliasing warning.
12433 (grub_cmd_terminal_output): Likewise.
12434 Reported and tested by: Grégoire Sutre.
12435
12436 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12437
12438 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
12439 warning.
12440 Reported and tested by: Grégoire Sutre.
12441
12442 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12443
12444 * configure.ac: Do CPU substitution even if it's specified explicitly.
12445 Reported and tested by: Alain Greppin.
12446
12447 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12448
12449 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
12450 Reported and tested by: Alain Greppin.
12451
12452 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12453
12454 Satisfy some bison versions need for inttypes.h.
12455
12456 * grub-core/lib/posix_wrap/inttypes.h: New file.
12457 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
12458 (int16_t): Likewise.
12459 (int32_t): Likewise.
12460 (int64_t): Likewise.
12461 Reported and tested by: Alain Greppin.
12462
12463 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12464
12465 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
12466 Silence spurious warning.
12467 Reported and tested by: Alain Greppin.
12468
12469 2011-01-07 Szymon Janc <szymon@janc.net.pl>
12470
12471 * docs/grub.texi (Support automatic decompression): Update with xz
12472 decompression support.
12473
12474 2011-01-07 Szymon Janc <szymon@janc.net.pl>
12475
12476 Improve loaders' kernel command line handling.
12477
12478 * grub-core/lib/cmdline.c: New file.
12479 * include/grub/lib/cmdline.h: Likewise.
12480 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
12481 grub_create_loader_cmdline to create kernel command line.
12482 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12483 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
12484 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
12485 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
12486 (linux): Add lib/cmdline.c on common.
12487
12488 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12489
12490 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
12491 inopos might be unaligned.
12492
12493 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12494
12495 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
12496 endian transformations.
12497 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12498 Based on report by: Doug Nazar.
12499
12500 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
12501
12502 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
12503 array->members[i].start_sector.
12504 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
12505
12506 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12507
12508 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
12509 Reported and tested by: Grégoire Sutre.
12510
12511 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
12512
12513 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
12514 avoid causing test failures by clearing the screen.
12515
12516 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
12517
12518 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
12519 Fix prefix check to handle the case where dir ends with a slash
12520 (most significantly, "/" itself).
12521 Reported by: Michael Vogt.
12522
12523 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
12524
12525 Run terminfo_cls on initing terminfo output to clear the screen and
12526 move the cursor to (0,0).
12527
12528 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
12529 Call grub_terminfo_output_init.
12530 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
12531 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
12532 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
12533
12534 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
12535
12536 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
12537 only when needed.
12538
12539 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
12540
12541 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
12542 CTRL.
12543
12544 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
12545
12546 The E820 type 5 is BADRAM, not EXEC_CODE.
12547
12548 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
12549 (GRUB_E820_BADRAM): New define.
12550 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
12551 into reserved. Propagate BADRAM.
12552 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
12553 (GRUB_E820_BADRAM): New define.
12554
12555 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12556
12557 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
12558 Ignore the memory post-4G.
12559 (grub_relocator_firmware_alloc_region): Additional debug statement.
12560
12561 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12562
12563 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
12564 names.
12565 Reported by: David Pravec.
12566
12567 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12568
12569 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
12570 BIOSes.
12571
12572 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12573
12574 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
12575 Prevent overflow.
12576 (grub_reed_solomon_recover): Likewise.
12577
12578 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12579
12580 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
12581
12582 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12583
12584 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
12585 variable.
12586
12587 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
12588
12589 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
12590 descriptions of extract_legacy_entries_source and
12591 extract_legacy_entries_configfile.
12592 Reported by: Seung Soo, Ha.
12593
12594 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
12595
12596 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
12597 on devices that do not implement function 0.
12598
12599 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
12600
12601 * grub-core/fs/hfsplus.c: Make parent unsigned.
12602 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
12603 overflows.
12604 (grub_hfsplus_cmp_extkey): Likewise
12605
12606 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
12607
12608 * util/grub-install.in: Correctly use bootloader_id and not
12609 GRUB_DISTRIBUTOR on efibootmgr line.
12610
12611 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
12612
12613 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
12614
12615 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
12616
12617 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
12618 Xen and reorder menu item wording to make it clearer that this entry
12619 will launch Xen. Print separate messages when loading Xen and
12620 Linux.
12621
12622 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
12623
12624 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
12625 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
12626 loop in case of incorrect amiga partmap.
12627
12628 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
12629
12630 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
12631 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
12632 Reported by:EHeM.
12633
12634 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
12635
12636 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
12637 spurious warning.
12638 Reported by: crocket
12639
12640 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12641
12642 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
12643 Preload EFIemu.
12644 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
12645
12646 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12647
12648 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
12649 is loaded
12650 (grub_cmd_xnu_kextdir): Likewise.
12651 (grub_cmd_xnu_splash): Likewise.
12652
12653 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12654
12655 Avoid using Reed-Solomon with 0 redundancy.
12656
12657 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
12658 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
12659 or 0 redundancy.
12660 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
12661 (grub_reed_solomon_recover): Likewise.
12662
12663 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12664
12665 Don't use disk subsystem in freebsd_boot.
12666
12667 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
12668 (freebsd_biosdev): Likewise.
12669 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
12670 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
12671
12672 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12673
12674 Handling of files of unknown size is currently limited. They can't be
12675 used e.g. for initrd or modules. Moreover gzip handling of not
12676 easily seekable files is buggy. Disable unknown file size for now. May
12677 be inefficient but works.
12678
12679 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
12680 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
12681
12682 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
12683
12684 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
12685 floppy probe.
12686
12687 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
12688
12689 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
12690
12691 2010-12-25 Shea Levy <shlevy>
12692
12693 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
12694
12695 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12696
12697 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
12698 Windows Server 2008.
12699 Reported by: Devin Giddings.
12700
12701 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12702
12703 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
12704 writing an error message because of async power management.
12705 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
12706 (grub_reboot): Likewise.
12707
12708 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
12709
12710 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
12711 keep unit tests from failing when they shouldn't.
12712
12713 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
12714
12715 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
12716 previous patch increased the size of the RS code by 20 bytes (at
12717 least with gcc-4.4), so increase this by 20 bytes to match.
12718 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
12719
12720 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
12721
12722 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
12723 scratch area. Make sure to initialise chosen in standalone mode as
12724 well as non-standalone.
12725 Reported by: Robert Hooker and Andy Whitcroft.
12726 Tested by: Andy Whitcroft.
12727
12728 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
12729
12730 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
12731 constructing a new unescaped string and passing it to grub_xputs in
12732 one go, rather than passing characters to grub_printf one at a time.
12733
12734 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
12735
12736 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
12737 initialising utf16.
12738
12739 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
12740
12741 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
12742 comment. Add an extra layer of quotation, requiring the output of
12743 this function to be used in a printf format string.
12744 (gettext_printf): New function.
12745 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
12746 Extract translatable strings from here-documents and use a temporary
12747 variable instead, so that xgettext can find them.
12748 * util/grub.d/10_kfreebsd.in: Likewise.
12749 * util/grub.d/10_linux.in: Likewise.
12750 * util/grub.d/20_linux_xen.in: Likewise.
12751
12752 * po/grub.d.sed: New file.
12753 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
12754 arguments. Set c-format flags on all strings extracted from
12755 util/grub.d/ (xgettext refuses to include these itself for strings
12756 it extracted from a shell file, but these really are c-format).
12757
12758 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
12759
12760 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
12761 Avoid next pointing to nowhere.
12762
12763 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
12764
12765 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
12766 rather than assuming than rootblock is exactly in the middle.
12767 (grub_affs_label): Likewise.
12768
12769 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
12770
12771 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
12772 reserved_first_sector to 0.
12773 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
12774 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
12775 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
12776
12777 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
12778
12779 Fix handling of UTF-16 UDF labels.
12780
12781 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
12782 (read_string): .. here.
12783 (grub_udf_label): Use read_string.
12784
12785 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
12786
12787 * grub-core/normal/menu_entry.c (run): Execute commands from menu
12788 editor under argument scope.
12789 Reported by: Jordan Uggla
12790
12791 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
12792
12793 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
12794
12795 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
12796
12797 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
12798 line, and other keys scroll an entire page (previous handling was
12799 for \r and \n to scroll a page and other keys to scroll two lines).
12800
12801 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
12802
12803 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12804 Set ptrdest to correct get_physical_target_address rather than
12805 incorrect get_virtual_current_address.
12806
12807 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
12808
12809 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
12810 correct cat to grub_uint8_t * rather than grub_uint32_t *.
12811
12812 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
12813
12814 * .bzrignore: Ignore grub-core/rs_decoder.S.
12815
12816 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
12817
12818 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
12819 .mo/.mo.gz opening sequence to ...
12820 (grub_mofile_open_lang): ... here.
12821 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
12822 * util/grub.d/00_header.in (grub_lang): Include country part of
12823 locale.
12824 Reported by: Mario Limonciello.
12825
12826 2010-12-09 Robert Millan <rmh@gnu.org>
12827
12828 * NEWS: Document addition of ZFS support.
12829
12830 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
12831
12832 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
12833 rather than `/ 2', as the latter requires -Wa,--divide which would
12834 require bumping our minimum binutils version.
12835
12836 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
12837
12838 * util/grub-script-check.c (main): Print script line number on
12839 error.
12840
12841 2010-12-01 Robert Millan <rmh@gnu.org>
12842
12843 * grub-core/fs/zfs/zfs.c: New file.
12844 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
12845 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
12846 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
12847 * grub-core/fs/zfs/zfsinfo.c: Likewise.
12848
12849 * include/grub/zfs/dmu.h: Likewise.
12850 * include/grub/zfs/dmu_objset.h: Likewise.
12851 * include/grub/zfs/dnode.h: Likewise.
12852 * include/grub/zfs/dsl_dataset.h: Likewise.
12853 * include/grub/zfs/dsl_dir.h: Likewise.
12854 * include/grub/zfs/sa_impl.h: Likewise.
12855 * include/grub/zfs/spa.h: Likewise.
12856 * include/grub/zfs/uberblock_impl.h: Likewise.
12857 * include/grub/zfs/vdev_impl.h: Likewise.
12858 * include/grub/zfs/zap_impl.h: Likewise.
12859 * include/grub/zfs/zap_leaf.h: Likewise.
12860 * include/grub/zfs/zfs.h: Likewise.
12861 * include/grub/zfs/zfs_acl.h: Likewise.
12862 * include/grub/zfs/zfs_znode.h: Likewise.
12863 * include/grub/zfs/zil.h: Likewise.
12864 * include/grub/zfs/zio.h: Likewise.
12865 * include/grub/zfs/zio_checksum.h: Likewise.
12866
12867 * Makefile.util.def: Build ZFS into libgrubmods.
12868 * grub-core/Makefile.core.def: Build zfs.mod.
12869
12870 2010-11-30 Szymon Janc <szymon@janc.net.pl>
12871
12872 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
12873 variable.
12874 * grub-core/commands/wildcard.c (match_files): Likewise.
12875
12876 2010-11-30 Robert Millan <rmh@gnu.org>
12877
12878 * grub-core/loader/i386/bsd.c
12879 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
12880 whether kernel is loaded using grub_loader_is_loaded(), rather
12881 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
12882 certain error conditions.
12883
12884 2010-11-30 Robert Millan <rmh@gnu.org>
12885
12886 * grub-core/commands/echo.c: Include `<grub/term.h>'.
12887 (grub_cmd_echo): Call grub_refresh() after printing a message.
12888
12889 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
12890
12891 Avoid using tricks for initialising endian variables.
12892
12893 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
12894 Make const.
12895 (GRUB_MOD_INIT): Don't byte-swap.
12896 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
12897 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
12898 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
12899 (grub_swap_bytes32_compile_time): Likewise.
12900 (grub_cpu_to_le32_compile_time): Likewise.
12901 (grub_cpu_to_le16_compile_time): Likewise.
12902
12903 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
12904
12905 * util/grub-setup.c (setup): Stop recommending --force. People who
12906 understand the dangers of blocklists are able to find this option
12907 anyway and the ones who don't shouldn't use it anyway.
12908
12909 2010-11-26 Robert Millan <rmh@gnu.org>
12910
12911 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
12912 Update all users.
12913
12914 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
12915
12916 Fix LVM-on-RAID probing.
12917
12918 * util/grub-probe.c (probe): Remember which disk was detected as
12919 RAID (perhaps an LVM physical volume). Use that disk's raidname
12920 rather than that of the top-level disk.
12921
12922 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
12923
12924 Fix cmdline argument quotes for setparams command of menuentry
12925 definitions.
12926
12927 * grub-core/commands/menuentry.c (setparams_prefix): Use single
12928 quotes for arguments.
12929 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
12930 grub_strchrsub function instead.
12931
12932 * include/grub/misc.h (grub_strchrsub): New function.
12933
12934 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
12935
12936 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
12937 effort by skipping "." and ".." entries up-front.
12938 Suggested by: Michael Lazarev.
12939
12940 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
12941
12942 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
12943 ldflags to ldadd, to fix link line ordering.
12944 (none_decompress): Likewise.
12945
12946 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
12947
12948 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
12949 platforms.
12950 (grub-emu-lite): Remove kern/emu/cache.S.
12951
12952 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
12953
12954 * util/deviceiter.c (compare_devices): If the by-id link for a
12955 device couldn't be resolved, fall back to sorting by the by-id link
12956 rather than segfaulting.
12957 Reported and tested by: Daniel Mierswa.
12958
12959 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
12960
12961 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
12962 ldflags, to fix link line ordering.
12963
12964 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
12965
12966 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
12967 linkers are picky about this.
12968
12969 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
12970
12971 * grub-core/Makefile.am (command.lst): Adjust sed expression
12972 ordering so that extended and priority commands aren't treated as
12973 ordinary commands.
12974
12975 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
12976
12977 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
12978 Remove byte-swapping function calls, which are not valid in
12979 structure initialisers.
12980 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
12981 non-const.
12982 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
12983 grub_gpt_partition_type_bios_boot.
12984
12985 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
12986
12987 Fix test program build on GNU/kFreeBSD.
12988
12989 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
12990 $(LIBNVPAIR)' library dependencies.
12991
12992 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
12993
12994 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
12995
12996 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
12997
12998 * util/grub-install.in: Remove excessive quoting that broke
12999 installations to RAID devices.
13000
13001 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13002
13003 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
13004 bootloader version instead of 0.
13005
13006 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13007
13008 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
13009 warning.
13010
13011 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13012
13013 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
13014 retrieve the metadat sector if size isn't known.
13015 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13016
13017 2010-11-18 Robert Millan <rmh@gnu.org>
13018
13019 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
13020 with grub_memcmp().
13021
13022 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
13023
13024 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
13025 arrow.
13026 Reported by: Jordan Uggla.
13027
13028 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13029
13030 Make better UTF compliant.
13031
13032 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
13033 sequences as incorrect.
13034 (grub_is_valid_utf8): Likewise.
13035 (grub_utf8_to_ucs4): Likewise.
13036 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
13037 (grub_ucs4_to_utf8_alloc): Likewise.
13038 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
13039
13040 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13041
13042 Make legacy_source behave like source.
13043
13044 * grub-core/commands/legacycfg.c (legacy_file): Don't call
13045 grub_show_menu.
13046 (grub_cmd_legacy_source): Call grub_show_menu if needed.
13047
13048 2010-11-16 Colin Watson <cjwatson@debian.org>
13049
13050 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
13051 (-Wunused implies -Wunused-parameter, but not vice versa).
13052
13053 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
13054
13055 * configure.ac: Make error messages less confusing by testing for
13056 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
13057 accepted, but produces a diagnostic if something else is wrong).
13058
13059 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
13060
13061 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
13062 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
13063 (now unused).
13064 (grub_keyboard_controller_init)
13065 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
13066 read the initial state since controller isn't inited yet.
13067
13068 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
13069
13070 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
13071 allocate_regbeg may need to create new chunk header.
13072
13073 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13074
13075 Fix quoting in legacy parser.
13076
13077 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
13078 single quotes.
13079 (grub_legacy_parse): Likewise.
13080 Reported by: Jordan Uggla.
13081 Tested by: Jordan Uggla.
13082
13083 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13084
13085 Don't add -lgcc on i386 and x86_64.
13086
13087 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
13088 * conf/Makefile.common (LDADD_KERNEL): Likewise.
13089 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
13090
13091 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13092
13093 * configure.ac: Add -Wno-trampolines when supported.
13094
13095 2010-11-14 Modestas Vainius <modax@debian.org>
13096
13097 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
13098 fakeraid.
13099
13100 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13101
13102 Add generic logical block size support for UDF.
13103
13104 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
13105 (GRUB_UDF_BLKSZ): Removed.
13106 (struct grub_udf_data): New field "lbshift" to hold the logical block
13107 size of the file system in log2 format. All users updated.
13108 (sblocklist): Change type to unsigned.
13109 (grub_udf_mount): Change type of "sblklist" to unsigned.
13110 Move AVDP search before VRS recognition, because the latter requires
13111 knowledge of the logical block size, which is detected during the
13112 former.
13113 Detect and validate logical block size during AVDP search, adding
13114 support for block sizes 512, 1024 and 4096.
13115 Make VRS recognition independent of block size.
13116
13117 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13118
13119 Properly handle deleted files on UDF.
13120
13121 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
13122 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
13123 set.
13124
13125 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13126
13127 Support reading files larger than 2 GiB.
13128
13129 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
13130 "offset" to grub_off_t.
13131 (grub_udf_read_file): Likewise for parameter "pos".
13132
13133 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13134
13135 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
13136 unavailable.
13137 (Simple configuration): Refer to Changes from GRUB Legacy about
13138 save_env availability.
13139
13140 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13141
13142 * util/grub-install.in: Ignore empty partition table detection
13143 instead of trying to include part_ module.
13144
13145 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13146
13147 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
13148 LVM on RAID support.
13149
13150 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13151
13152 Properly define WORDS_BIGENDIAN in wrapped environments.
13153
13154 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
13155 definition.
13156 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
13157
13158 Reported by: Manoel Rebelo Abranches.
13159 Tested by: Manoel Rebelo Abranches.
13160
13161 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13162
13163 * util/grub-mkconfig.in: Fix quoting.
13164
13165 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13166
13167 Support big ext2 files.
13168
13169 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
13170 (grub_ext2_read_block): Support triple indirect blocks.
13171 (grub_ext2_read_file): Use 64-bit types and read size_high.
13172 (grub_ext2_open): Read size_high.
13173 Reported by: Ximin Luo.
13174 Tested by: Manoel Rebelo Abranches.
13175
13176 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13177
13178 * util/grub-install.in: Handle filenames containing spaces.
13179 Reported by: Jordan Uggla.
13180 Tested by: Jordan Uggla.
13181
13182 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13183
13184 * util/grub-mkconfig.in (grub_script_check): New variable.
13185 Use grub_script_check instead of grub-script-check.
13186 Reported by: Barry Jackson.
13187
13188 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13189
13190 * docs/grub.texi (menu): Correct the order.
13191 Reported by: D. Hugh Redelmeier.
13192
13193 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13194
13195 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
13196 jump.
13197
13198 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
13199
13200 * include/grub/elfload.h (grub_elf32_size): New parameter.
13201 All users updated.
13202 Return maximum segments alignment.
13203 (grub_elf64_size): Likewise.
13204 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
13205 Return maximum segments alignment.
13206 (grub_elf64_size): Likewise.
13207 * grub-core/loader/powerpc/ieee1275/linux.c:
13208 (grub_linux_claimmap_iterate): New function. Uses the
13209 "available" property in the "memory" node for memory allocation
13210 for kernel in the PowerPC loader.
13211 (grub_linux_load32): Correctly find linux entry point offset.
13212 (grub_linux_load64): Likewise.
13213
13214 2010-11-07 Robert Millan <rmh@gnu.org>
13215
13216 On mips-yeeloong, build with -march=loongson2f when this flag is
13217 available (GCC >= 4.4).
13218 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
13219 `-march=mips3'.
13220 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
13221 or otherwise add -march=mips3.
13222
13223 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
13224
13225 Suppress shell expansion on echo '*' and echo "*" like cases.
13226 Reported by: Jordan Uggla.
13227
13228 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
13229 string arguments before shell expansion.
13230 * tests/grub_cmd_echo.in: New testcases.
13231
13232 2010-11-07 Robert Millan <rmh@gnu.org>
13233
13234 * conf/mips-qemu-mips.rmk: Remove stale file from previous
13235 transition.
13236
13237 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
13238
13239 * grub-core/kern/emu/hostdisk.c
13240 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
13241
13242 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13243
13244 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
13245 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
13246 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
13247
13248 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13249
13250 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
13251
13252 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13253
13254 * util/grub-install.in: Replace useless recomendation to pass
13255 --modules with a recomendation to report a bug.
13256
13257 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13258
13259 Properly register serial terminfo.
13260 Reported by: Jordan Uggla
13261
13262 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
13263 const.
13264 (grub_serial_terminfo_output_template): Likewise.
13265 (grub_cmd_serial): Register "serial" with terminfo.
13266 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
13267 grub_serial_terminfo_output.
13268
13269 2010-11-05 Robert Millan <rmh@gnu.org>
13270
13271 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
13272 needed).
13273
13274 2010-11-05 Robert Millan <rmh@gnu.org>
13275
13276 On Yeeloong, pass machine type information to Linux.
13277
13278 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
13279 (LOONGSON_MACHTYPE): New macro, set to
13280 "machtype=lemote-yeeloong-2f-8.9inches".
13281 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
13282 additional argument to Linux.
13283
13284 2010-11-04 Robert Millan <rmh@gnu.org>
13285
13286 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
13287 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
13288 (its SATA disks are detected as slaveless IDE master drives on
13289 kFreeBSD).
13290 Reported by Carsten Aulbert.
13291
13292 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
13293
13294 * util/bin2h.c (main): Fix spelling error in generated output.
13295
13296 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
13297
13298 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
13299
13300 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13301
13302 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
13303 vga= option is supplied.
13304
13305 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13306
13307 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
13308 * util/grub.d/10_kfreebsd.in: Likewise.
13309 * util/grub.d/10_linux.in: Likewise.
13310 * util/grub.d/20_linux_xen.in: Likewise.
13311
13312 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13313
13314 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
13315 argument as an argument to no-argument option.
13316
13317 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13318
13319 * util/grub.d/10_linux.in: Add missing load_video with explicit
13320 GRUB_GFXPAYLOAD_LINUX.
13321
13322 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13323
13324 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
13325
13326 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13327
13328 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
13329 elements with invlid index.
13330 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13331 * grub-core/disk/raid.c (insert_array): Automatically reallocate
13332 members.
13333 * include/grub/raid.h (grub_raid_member): New struct.
13334 (grub_raid_array): Transform devices and start_sector into usage of
13335 grub_raid_member. All users updated
13336 (allocated_devs): New member.
13337
13338 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13339
13340 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
13341 is modified
13342
13343 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
13344
13345 NetBSD build fix for getline function conflict from gnulib.
13346
13347 * Makefile.util.def (libgrubkern.a): New library for grub kernel
13348 components that depend on gnulib headers.
13349 (libgrubmods.a): Renamed from earlier libgrub.a.
13350 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
13351
13352 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13353
13354 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
13355 install rather than creating a broken install.
13356
13357 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13358
13359 * util/grub-setup.c (argp): Remove misleading example of installing to
13360 a partition.
13361
13362 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13363
13364 * util/grub-setup.c (setup): Clarify the error message.
13365
13366 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13367
13368 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
13369
13370 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13371
13372 * grub-core/kern/emu/misc.c
13373 (grub_make_system_path_relative_to_its_root)
13374 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
13375
13376 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13377
13378 * grub-core/kern/emu/misc.c
13379 (grub_make_system_path_relative_to_its_root): Revert r2882.
13380
13381 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
13382
13383 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
13384 useless field head. All users updated.
13385 (free_subchunk): Correct handling of IN_REGION subchunk.
13386
13387 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
13388
13389 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
13390 (Supported kernels): Likewise.
13391
13392 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
13393
13394 Make mktemp invocations portable.
13395
13396 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
13397 exit if mktemp fails.
13398 * tests/grub_script_blockarg.in: Likewise.
13399 * tests/partmap_test.in: Likewise.
13400 * tests/util/grub-shell-tester.in: Likewise.
13401 * tests/util/grub-shell.in: Likewise.
13402 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13403 * Makefile.am: Likewise, and chain shell commands with `&&'
13404 instead of ';'.
13405 * util/grub-mkrescue.in: Use the same explicit template as above, and
13406 exit if mktemp fails.
13407
13408 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
13409
13410 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
13411 Linux kernel, reported by Dennis Schridde.
13412
13413 2010-10-17 Szymon Janc <szymon@janc.net.pl>
13414
13415 * grub-core/normal/auth.c (grub_auth_check_authentication):
13416 Set-but-not-used variable removed.
13417
13418 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13419
13420 * docs/grub.texi (GNU/Linux): Document APM unavailability with
13421 32-bit linux protocol.
13422
13423 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13424
13425 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
13426 cursor shape for sanity.
13427
13428 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13429
13430 * docs/grub.texi (Installation): Document buggy BIOS install.
13431
13432 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13433
13434 * docs/grub.texi (Installation): Indent.
13435
13436 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13437
13438 * util/grub-setup.c (setup): New parameter allow_floppy.
13439 (arguments): New member allow_floppy.
13440 (argp_parser): Handle --allow-floppy.
13441 (main): Pass allow_floppy.
13442 * util/grub-install.in: New option --allow-floppy passed though to
13443 grub-setup.
13444
13445 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13446
13447 * util/grub-install.in: Handle partitionless disks.
13448
13449 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13450
13451 * util/grub-setup.c (setup): Don't clean blocklists before readability
13452 verfification.
13453
13454 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13455
13456 * docs/grub.texi (Installation): Document embedding zone. Remove
13457 obsolete grub-install example.
13458
13459 2010-10-16 Szymon Janc <szymon@janc.net.pl>
13460
13461 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
13462 Set-but-not-used variable ifdef'ed.
13463 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
13464 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
13465 variable removed.
13466 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
13467 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
13468 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
13469 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
13470 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
13471 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
13472 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
13473 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
13474 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
13475 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
13476 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
13477 Likewise.
13478
13479 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13480
13481 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
13482 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
13483 enum value.
13484
13485 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13486
13487 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
13488 synonym to _S5_. Needed for some DSDTs.
13489
13490 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13491
13492 Userspace ACPI parser debugging.
13493
13494 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
13495 headers and add relevant defines. Don't include standard headers.
13496 (main) [GRUB_DSDT_TEST]: New function.
13497 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
13498 Don't declare functions.
13499
13500 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13501
13502 Remove dead grub_efi_mm_fini.
13503
13504 * grub-core/kern/efi/mm.c (allocated_page): Removed.
13505 (ALLOCATED_PAGES_SIZE): Likewise.
13506 (MAX_ALLOCATED_PAGES): Likewise.
13507 (allocated_pages): Likewise.
13508 (grub_efi_allocate_pages): Don't record allocated pages.
13509 (grub_efi_free_pages): Likewise.
13510 (grub_efi_mm_init): Likewise.
13511 (grub_efi_mm_fini): Removed.
13512
13513 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13514
13515 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
13516 (grub_efi_mm_init): Take into account the memory map size increase.
13517
13518 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13519
13520 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
13521 (serial_hw_put): Wait based on real time rather than port reads. Don't
13522 roken ports.
13523 * include/grub/serial.h (grub_serial_port): New field broken.
13524
13525 2010-10-16 Robert Millan <rmh@gnu.org>
13526
13527 * grub-core/kern/emu/misc.c
13528 (grub_make_system_path_relative_to_its_root): Fix premature return
13529 when processing non-root ZFS filesystems.
13530 Reported by Sergio Talens-Oliag.
13531
13532 2010-10-15 Robert Millan <rmh@gnu.org>
13533
13534 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
13535 guarantee compressed ones are processed first.
13536
13537 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13538
13539 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
13540 grub_efiemu_autocore.
13541
13542 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13543
13544 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
13545 rather than 0x1b.
13546 (grub_console_getkey): Use correct jae opcode rather than ja.
13547
13548 2010-10-12 Robert Millan <rmh@gnu.org>
13549
13550 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
13551 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
13552 variable. All references updated.
13553
13554 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
13555
13556 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
13557
13558 Correctly distinguish mdraid flavours.
13559
13560 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
13561 (insert_array): New argument raid.
13562 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
13563 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
13564 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
13565
13566 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
13567
13568 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
13569 handling of special keys.
13570
13571 2010-10-02 Aleš Nesrsta <starous@volny.cz>
13572
13573 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
13574 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
13575
13576 2010-10-02 Aleš Nesrsta <starous@volny.cz>
13577
13578 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
13579 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
13580 users updated.
13581 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
13582 Use right endpoint when querying descriptor.
13583
13584 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
13585
13586 Clear out 0x80 color bit on EFI.
13587 Tested by: decoder
13588 Reported by: decoder and meta tech.
13589
13590 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
13591 (grub_console_setcolorstate): Clear out 0x80 bit.
13592 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
13593 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
13594 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
13595
13596 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
13597
13598 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
13599 Set to "auto".
13600
13601 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13602
13603 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
13604 mo_file after freeing.
13605
13606 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13607
13608 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
13609
13610 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13611
13612 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
13613 flags.
13614
13615 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13616
13617 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
13618 usage.
13619
13620 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13621
13622 Put terminfo into core on ieee1275 and yeeloong (needed for console).
13623
13624 * gentpl.py: New groups terminfoinkernel and terminfomodule.
13625 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
13626 and terminfo.h when needed.
13627 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
13628 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
13629 (terminfo): Enable only on terminfokernel.
13630 (extcmd): Likewise.
13631 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
13632 * include/grub/lib/arg.h: Likewise.
13633 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
13634 incorrect usage of ->.
13635
13636 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13637
13638 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
13639 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
13640
13641 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13642
13643 Fix coreboot compilation.
13644
13645 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
13646 Take VBE info into account even if only text is supported.
13647 (fill_vbe_info): Take into account the case when only VGA text
13648 is supported.
13649 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
13650 on coreboot, multiboot and qemu.
13651
13652 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13653
13654 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
13655 debug messages.
13656 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
13657
13658 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13659
13660 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
13661 parameters.
13662
13663 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13664
13665 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
13666 if they were BSD-style.
13667
13668 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13669
13670 * grub-core/boot/i386/pc/lnxboot.S: Replace
13671 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
13672 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
13673
13674 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13675
13676 Write embedding zone using Reed-Solomon.
13677
13678 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
13679 * grub-core/Makefile.am (rs_decoder.S): New target.
13680 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
13681 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
13682 (multiboot): Move to RS part.
13683 (post_reed_solomon): New label.
13684 (grub_boot_drive): Move to non-RS part since it's modified in memory
13685 on boot.
13686 Include rs_decoder.S.
13687 * grub-core/lib/reed_solomon.c: New file.
13688 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
13689 New definition.
13690 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
13691 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
13692 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
13693 * include/grub/partition.h (grub_partition_map): Change prototype of
13694 embed to allow returning additional sectors.
13695 * include/grub/reed_solomon.h: New file.
13696 * util/grub-setup.c (setup): Handle Reed-Solomon.
13697
13698 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
13699
13700 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
13701 i386 and x86-64 definedness tests.
13702
13703 2010-09-27 Yves Blusseau <blusseau@zetam.org>
13704
13705 Fix generation of kernel_syms.lst
13706
13707 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
13708 ASM_PREFIX
13709
13710 2010-09-26 Robert Millan <rmh@gnu.org>
13711
13712 Support degraded ZFS arrays in "grub-probe -t device" resolution.
13713
13714 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
13715 the pool is an array of devices, iterate through it and return the
13716 first device that passes a stat() test (instead of blindly returning
13717 the first one).
13718
13719 2010-09-26 Robert Millan <rmh@gnu.org>
13720
13721 Build fixes for GNU/kFreeBSD.
13722
13723 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
13724 to programs that require ZFS conversion.
13725 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
13726 kernels that don't have FLOPPY_MAJOR.
13727
13728 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
13729
13730 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
13731
13732 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
13733
13734 Fix grub-emu build.
13735
13736 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
13737 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
13738 mdraid09 and mdraid1x.
13739
13740 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
13741
13742 Re-enable grub-extras.
13743
13744 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
13745 avoid confusing Automake. Run autogen only twice, once for the top
13746 level and once for grub-core. Add Makefile.util.def and
13747 Makefile.core.def from extra modules to the appropriate autogen
13748 invocations. If Makefile.common exists in an extra module, include
13749 it in both Makefile.util.am and grub-core/Makefile.core.am;
13750 similarly, include any Makefile.util.common file in Makefile.util.am
13751 and any Makefile.core.common file in grub-core/Makefile.core.am.
13752 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
13753 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
13754 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
13755 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
13756
13757 * gentpl.py (gvar_add): Turn GVARS into a set.
13758 (global_variable_initializers): Sort global variables on output.
13759 (vars_init): New function.
13760 (first_time): Likewise.
13761 (library): Ensure that non-global variable initialisations are
13762 emitted before the first time we emit code for a library block.
13763 Append to variables rather than setting them. Only emit
13764 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
13765 each conditional path.
13766 (program): installdir() emits an Autogen macro, so must be passed to
13767 var_add rather than gvar_add.
13768 (data): Likewise.
13769 (script): Likewise.
13770 (rules): New function, centralising handling for different target
13771 types. Set up Guile association lists for first_time and vars_init,
13772 and send most output to a diversion so that variable initialisations
13773 can be emitted first.
13774 (module_rules): Use new rules function.
13775 (kernel_rules): Likewise.
13776 (image_rules): Likewise.
13777 (library_rules): Likewise.
13778 (program_rules): Likewise.
13779 (script_rules): Likewise.
13780 (data_rules): Likewise.
13781
13782 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
13783
13784 * .bzrignore: Add contrib and grub-core/contrib. Remove
13785 grub-core/Makefile.gcry.am.
13786
13787 2010-09-24 Yves Blusseau <blusseau@zetam.org>
13788
13789 * grub-core/lib/LzFind.c: Add missing include.
13790 * grub-core/lib/LzmaEnc.c: Likewise.
13791 * grub-core/script/lexer.c: Likewise.
13792 * grub-core/script/yylex.l: Likewise.
13793 * util/grub-macho2img.c: Likewise.
13794 * util/grub-menulst2cfg.c: Likewise.
13795 * util/grub-mklayout.c: Likewise.
13796 * util/grub-mkpasswd-pbkdf2.c
13797 * util/grub-mkrelpath.c: Likewise.
13798 * util/resolve.c: Likewise.
13799
13800 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
13801
13802 * Makefile.util.def (example_unit_test): Add
13803 grub-core/gnulib/libgnu.a.
13804
13805 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
13806
13807 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
13808
13809 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
13810
13811 Support xz compression on yeeloong.
13812
13813 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
13814 * configure.ac: Check for LZMA.
13815 * grub-core/Makefile.core.def (xz_decompress): New target.
13816 (none_decompress): Likewise.
13817 * grub-core/boot/decompressor/minilib.c: New file.
13818 * grub-core/boot/decompressor/none.c: Likewise.
13819 * grub-core/boot/decompressor/xz.c: Likewise.
13820 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
13821 * grub-core/kern/mips/cache_flush.S: Likewise.
13822 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
13823 * grub-core/kern/mips/startup.S: Move first stage to ...
13824 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
13825 nomacro.
13826 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
13827 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
13828 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
13829 Allocate statically.
13830 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
13831 Allocate statically or use scratch. Don't check CRC32.
13832 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
13833 Allocate statically. Don't check CRC32.
13834 * include/grub/decompressor.h: New file.
13835 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
13836 Removed.
13837 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
13838 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
13839 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
13840 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
13841 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
13842 * util/grub-mkimage.c (grub_compression_t): New type.
13843 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
13844 (image_target_desc): New field default_compression.
13845 (image_targets): Adjust yeeloong targets.
13846 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
13847 (compress_kernel): New parameter comp.
13848 (generate_image): Likewise. Handle new compression case.
13849 (options): New option --compression
13850 (help): Likewise.
13851 (main): Handle new option.
13852
13853 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
13854
13855 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
13856
13857 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
13858
13859 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
13860 typo in __i386__ conditional.
13861
13862 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
13863
13864 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
13865 include.
13866
13867 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
13868
13869 Implement EFI and ACPI multiboot2 extensions.
13870
13871 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
13872 new tags as supported.
13873 (acpiv2_size): New function.
13874 (grub_multiboot_get_mbi_size): Take new tags into account.
13875 (grub_multiboot_make_mbi): Add new tags.
13876 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
13877
13878 2010-09-21 Aleš Nesrsta <starous@volny.cz>
13879
13880 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
13881 Added missing configuration of USB device.
13882
13883 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
13884
13885 * grub-core/normal/menu_entry.c (run): Make sure we always return
13886 a value.
13887
13888 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
13889
13890 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
13891 NumberOfPages is UINT64 according to the UEFI specification, not
13892 UINTN. Fix printf format.
13893
13894 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
13895
13896 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
13897 `err' to grub_usb_err_t.
13898 Reported and tested by: KESHAV P.R.
13899
13900 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
13901
13902 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
13903 tpart non-const, so that we can assign to it. (Since this is a
13904 typedef, the constness refers to the pointer rather than what it
13905 points to.)
13906
13907 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
13908
13909 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
13910 $(top_srcdir)/grub-core/gnulib as well as
13911 $(top_builddir)/grub-core/gnulib.
13912 Reported by: KESHAV P.R.
13913
13914 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
13915
13916 * util/grub-install.in: Fix the bootloader ID option to be
13917 consistently --bootloader-id, not --bootloader_id.
13918 Reported by: KESHAV P.R.
13919
13920 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
13921
13922 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
13923 check hash checksum." consistently translatable.
13924
13925 2010-09-21 Yves Blusseau <blusseau@zetam.org>
13926
13927 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
13928 $(top_builddir).
13929
13930 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
13931
13932 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
13933 (GRUB_MOD_INIT): Register sha1sum command.
13934 (GRUB_MOD_FINI): Unregister sha1sum command.
13935
13936 2010-09-21 Yves Blusseau <blusseau@zetam.org>
13937
13938 Keep boot and grub directory names in sync with utils scripts
13939
13940 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
13941 * config.h.in: Add previous macros.
13942 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
13943 * util/grub-install.in: Use $bootdir and $grubdir variables.
13944
13945 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
13946
13947 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
13948 convert partition names to disk names if the new `convert' parameter
13949 is set.
13950 (grub_util_biosdisk_get_grub_dev): If opening the disk device
13951 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
13952 disk in its own right. This can happen with Xen disk images.
13953
13954 2010-09-21 Yves Blusseau <blusseau@zetam.org>
13955
13956 * util/grub-editenv.c: Update strings to avoid warnings when generating
13957 grub.pot file.
13958 * util/grub-setup.c: Likewise.
13959
13960 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
13961
13962 * configure.ac: Change version to 1.99~beta0.
13963
13964 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
13965
13966 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
13967 Add BADRAM.
13968 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
13969 Likewise.
13970 * include/multiboot.h: Resynced with specification.
13971 * include/multiboot2.h: Likewise.
13972
13973 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
13974
13975 Fix po directory handling.
13976
13977 * configure.ac: Create po/Makefile.in rather than po/Makefile.
13978 * grub-core/gnulib/Makefile.am: Import gettext module.
13979 * m4/gnulib-cache.m4: Likewise.
13980 * m4/gnulib-comp.m4: Likewise.
13981 * m4/gettext.m4: New file, from gnulib.
13982 * m4/glibc2.m4: Likewise.
13983 * m4/iconv.m4: Likewise.
13984 * m4/intdiv0.m4: Likewise.
13985 * m4/intl.m4: Likewise.
13986 * m4/intldir.m4: Likewise.
13987 * m4/intlmacosx.m4: Likewise.
13988 * m4/intmax.m4: Likewise.
13989 * m4/inttypes-pri.m4: Likewise.
13990 * m4/lcmessage.m4: Likewise.
13991 * m4/lib-ld.m4: Likewise.
13992 * m4/lib-link.m4: Likewise.
13993 * m4/lib-prefix.m4: Likewise.
13994 * m4/lock.m4: Likewise.
13995 * m4/nls.m4: Likewise.
13996 * m4/po.m4: Likewise.
13997 * m4/printf-posix.m4: Likewise.
13998 * m4/progtest.m4: Likewise.
13999 * m4/threadlib.m4: Likewise.
14000 * m4/uintmax_t.m4: Likewise.
14001 * m4/visibility.m4: Likewise.
14002 * po/Makefile.am: Remove.
14003 * po/Makefile.in.in: New file, from gettext.
14004 ($(DOMAIN).pot-update): Support POTFILES-shell.
14005 * po/Makevars: New file.
14006 * po/POTFILES-shell: Rename to ...
14007 * po/POTFILES-shell.in: ... this. Update.
14008 * po/POTFILES: Rename to ...
14009 * po/POTFILES.in: ... this. Update.
14010 * po/Rules-quot: New file, from gettext.
14011 * po/boldquot.sed: Likewise.
14012 * po/en@boldquot.header: Likewise.
14013 * po/en@quot.header: Likewise.
14014 * po/insert-header.sin: Likewise.
14015 * po/quot.sed: Likewise.
14016 * po/remove-potcdate.sin: Likewise.
14017
14018 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14019
14020 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
14021
14022 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14023
14024 * util/grub.d/20_linux_xen.in: Use submenus.
14025
14026 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14027
14028 Support submenus.
14029
14030 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
14031 parameter submenu. All users updated.
14032 * grub-core/normal/main.c (free_menu): Rename to ...
14033 (grub_normal_free_menu): ... this. Made global.
14034 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
14035 if requested.
14036 * grub-core/normal/menu_entry.c (screen): New field submenu.
14037 (make_screen): Set submenu.
14038 (run): Open new context if requested.
14039 * include/grub/menu.h (grub_menu_entry): New field submenu.
14040 * include/grub/normal.h (grub_normal_free_menu): New proto.
14041
14042 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14043
14044 Menu entries extractor.
14045
14046 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
14047 variants.
14048 (GRUB_MOD_INIT): Register new variants.
14049 (GRUB_MOD_FINI): Unregister new variants.
14050 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
14051 into grub_cmd_legacy_source.
14052 (grub_cmd_legacy_source): Implement extractor variants.
14053 (GRUB_MOD_INIT): Register new variants.
14054 (GRUB_MOD_FINI): Unregister new variants.
14055 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
14056 as an extractor.
14057 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
14058 search as an extractor.
14059 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
14060 test as an extractor.
14061 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
14062 as an extractor.
14063 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
14064 (grub_env_new_context): New function.
14065 (grub_env_context_open): Likewise.
14066 (grub_env_extractor_open): Likewise.
14067 (grub_env_extractor_close): Likewise.
14068 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
14069 grub_extractor_level.
14070 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
14071 * include/grub/env.h (grub_env_extractor_open): New proto.
14072 (grub_env_extractor_close): Likewise.
14073 * include/grub/normal.h (grub_extractor_level): New external variable.
14074
14075 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14076
14077 Make cutmem accept a region specification.
14078 Suggested by: Samuel Thibault
14079
14080 * grub-core/mmap/mmap.c (parsemem): New function.
14081 (grub_cmd_cutmem): Handle new arguments.
14082
14083 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14084
14085 New command cutmem.
14086
14087 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
14088 (GRUB_MOD_INIT): Register new command.
14089 (GRUB_MOD_FINI): Unregister new command.
14090
14091 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14092
14093 Support some annoying BSD and Minix subpartitions.
14094
14095 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
14096 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
14097 Properly handle concatenation.
14098 * grub-core/kern/device.c (grub_device_iterate): Likewise.
14099 * grub-core/normal/completion.c (iterate_partition): Likewise.
14100 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
14101 contain partition. All users updated.
14102 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
14103 struct.
14104 (grub_openbsdlabel_partition_map): Likewise.
14105 (bsdlabel_partition_map_iterate): Rename to ..
14106 (iterate_real): ... this. New arguments sector, freebsd and pmap.
14107 (bsdlabel_partition_map_iterate): New function.
14108 (netopenbsdlabel_partition_map_iterate): Likewise.
14109 (netbsdlabel_partition_map_iterate): Likewise.
14110 (openbsdlabel_partition_map_iterate): Likewise.
14111 (GRUB_MOD_INIT): Register new partmaps.
14112 (GRUB_MOD_FINI): Unregister new partmaps.
14113 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
14114 (grub_partition_msdos_iterate): ... this. All users updated.
14115 Don't support embedding other than in a minix partition.
14116 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
14117 proto.
14118 * include/grub/partition.h (grub_partition): New field msdostype.
14119 * util/grub-install.in: Handle openbsd and netbsd types being in
14120 part_bsd module.
14121
14122 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14123
14124 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
14125
14126 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
14127 * grub-core/Makefile.core.def (mdraid): Renamed to ...
14128 (mdraid09): ... this.
14129 (mdraid1x): New module.
14130 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
14131 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
14132
14133 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14134
14135 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
14136 vsprintf.
14137
14138 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14139
14140 * grub-core/commands/efi/lsefimmap.c: Correct header.
14141 * NEWS: Update.
14142
14143 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14144
14145 * util/grub-editenv.c (argp_parser): Don't pass translated strings
14146 as printf format strings; the translations might contain '%' which
14147 could cause a crash.
14148 (main): Likewise.
14149 * util/grub-fstest.c (argp_parser): Likewise.
14150 * util/grub-setup.c (argp_parser): Likewise.
14151 (main): Likewise.
14152
14153 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14154
14155 Use argp in grub-fstest.
14156
14157 * util/grub-fstest.c: Don't include getopt.h.
14158 Include argp.h.
14159 (root): New variable.
14160 (args_count): Likewise.
14161 (nparm): Likewise.
14162 (num_disks): Likewise.
14163 (images): Likewise.
14164 (cmd): Likewise.
14165 (debug_str): Likewise.
14166 (args): Likewise.
14167 (options): Transformed to argp.
14168 (usage): Removed.
14169 (main): Split argument parsing into ...
14170 (argp_parser): ... this. Changed to argp format.
14171 (argp): New variable.
14172 (main): Use argp_parse.
14173
14174 2010-09-20 Tristan Gingold <gingold@free.fr>
14175 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
14176 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14177
14178 * grub-core/commands/efi/lsefimmap.c: New file.
14179 * grub-core/Makefile.core.def (lsefimmap): New module.
14180 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
14181
14182 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14183
14184 Pause the execution (10s max) if any errors are displayed so the user
14185 has a chance to see them.
14186
14187 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
14188 (grub_print_error): Increment grub_err_printed_errors.
14189 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
14190 execution if any errors were displayed.
14191 (show_menu): Remove old code for pause.
14192 * grub-core/normal/menu_entry.c (run): Likewise.
14193 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
14194 users updated.
14195 (grub_normal_get_char_counter): Likewise.
14196 * include/grub/err.h (grub_err_printed_errors): New external variable.
14197 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
14198
14199 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14200
14201 Support multiboot VBE info.
14202
14203 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14204 Take VBE info into account.
14205 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
14206 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
14207 Call fill_vbe_info when appropriate.
14208 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
14209 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
14210 as supported.
14211 (grub_multiboot_get_mbi_size): Take new tags into account.
14212 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
14213 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
14214 Call fill_vbe_tag when appropriate.
14215 (grub_multiboot_make_mbi): Properly align tags.
14216 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
14217 function.
14218 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
14219 proto.
14220 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
14221
14222 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14223
14224 Suport manual terminal geometry specification.
14225
14226 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
14227 Save state in grub_ofconsole_terminfo_output.
14228 (grub_ofconsole_term): Use grub_terminfo_getwh.
14229 (grub_ofconsole_getwh): Removed.
14230 * grub-core/term/serial.c (grub_serial_getwh): Removed.
14231 (grub_serial_term): Use grub_terminfo_getwh.
14232 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
14233 (options): New struct.
14234 (OPTION_*): New enum.
14235 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
14236 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
14237 width and height.
14238 (grub_terminfo_getwh): New proto.
14239 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
14240
14241 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14242
14243 Handle legacy "terminal" command.
14244
14245 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
14246 and FLAG_TERMINAL.
14247 (legacy_commands): Add terminal and title.
14248 (grub_legacy_parse): Handle terminal. Simplify title handling.
14249
14250 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14251
14252 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
14253 parameters overflow.
14254
14255 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14256
14257 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
14258 widthspec.h.
14259
14260 * docs/grub.texi (Shell-like scripting): Document `!'.
14261 (Network): Simplify using new i386-pc-pxe format. Mention
14262 grub-mknetdir.
14263
14264 * NEWS: Update.
14265
14266 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14267
14268 * Makefile.am (SUBDIRS): Restore "."; it's important to force
14269 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
14270 when needed.
14271
14272 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14273
14274 * grub-core/commands/efi/lsefisystab.c: Correct header.
14275 * grub-core/commands/efi/lssal.c: Likewise.
14276 * grub-core/commands/testload.c: Likewise.
14277
14278 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14279
14280 * util/grub-mkrescue.in: Add explicit root argument to --set to
14281 prevent the UUID being interpreted as an argument to --set (matches
14282 previous change to prepare_grub_to_access_device).
14283
14284 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14285
14286 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
14287 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
14288 the verbosity of later #ifs.
14289 (find_partition_start): Define this function on FreeBSD too.
14290 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
14291 function.
14292 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
14293 on FreeBSD.
14294
14295 2010-09-20 Yves Blusseau <blusseau@zetam.org>
14296
14297 * util/grub-editenv.c: Use argp instead of getopt.
14298
14299 2010-09-20 Yves Blusseau <blusseau@zetam.org>
14300
14301 * util/grub-setup.c: Use argp instead of getopt.
14302
14303 2010-09-20 Yves Blusseau <blusseau@zetam.org>
14304
14305 Use gnulib-tool to create gnulib source files.
14306
14307 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
14308 grub-core/gnulib directories
14309 * .bzignore: Add **/.deps and autogenerated gnulib files
14310 * configure.ac: Assign auxiliary directory to build-aux, add invocation
14311 of gnulib macros, add grub-core/gnulib/Makefile
14312 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
14313 include m4 directory to aclocal.
14314 * Makefile.util.def: Remove direct compilation of gnulib source files
14315 and use the new grub-core/gnulib/libgnu.a.
14316 * build-aux/config.rpath: move config.rpath from top directory to
14317 build-aux
14318 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
14319 in gnulib headers
14320 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
14321 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
14322 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
14323 header.
14324 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
14325 string.
14326
14327 2010-09-20 Yves Blusseau <blusseau@zetam.org>
14328
14329 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
14330 grub-core/genmod.sh and grub-core/gensyminfo.sh
14331
14332 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
14333
14334 Add a test for echo command options.
14335
14336 * tests/grub_cmd_echo.in: New test.
14337 * Makefile.util.def: Rules for new test.
14338
14339 2010-09-20 Szymon Janc <szymon@janc.net.pl>
14340
14341 Remove crc.mod and move crc command to hashsum.mod.
14342 Remove lib/crc.c - users updated to use gcrypt implementation.
14343
14344 * grub-core/commands/crc.c: Removed.
14345 * grub-core/Makefile.core.def (crc): Module removed.
14346 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
14347 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
14348 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
14349 * grub-core/lib/crc.c: Removed.
14350 * include/grub/lib/crc.h: Removed.
14351 * Makefile.util.def (crc): Remove lib/crc.c
14352 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
14353 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
14354 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
14355 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
14356 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
14357 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
14358
14359 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14360
14361 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
14362
14363 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14364
14365 Split config.h for util and core.
14366
14367 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
14368 (ADDR32): Likewise.
14369 (DATA32): Likewise.
14370 (BSS_START_SYMBOL): Likewise.
14371 (END_SYMBOL): Likewise.
14372 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
14373 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
14374 * config.h.in: New file.
14375 * configure.ac: Use config-util.h as config define file.
14376 Rename MACHINE into GRUB_MACHINE. All users updated.
14377 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
14378 updated.
14379 (NESTED_FUNC_ATTR): Likewise.
14380 Substitue new variables.
14381 (COND_HAVE_ASM_USCORE): New conditional.
14382 * grub-core/Makefile.am (ASM_PREFIX): New variable.
14383 (kernel_syms.lst): Use ASM_PREFIX.
14384 * grub-core/kern/emu/console.c: Include config-util.h.
14385 * grub-core/kern/emu/misc.c: Likewise.
14386 * grub-core/kern/emu/mm.c: Likewise.
14387 * include/grub/emu/misc.h: Likewise.
14388 * include/grub/libgcc.h: Likewise.
14389
14390 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14391
14392 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
14393 constants usage.
14394 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
14395 Fix GRUB_TERM_KEY_* constants usage.
14396 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
14397
14398 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14399
14400 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
14401 print pointer.
14402 * grub-core/bus/usb/uhci.c: Remove empty define.
14403 (grub_uhci_check_transfer): Add missing cast.
14404 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
14405 print pointer.
14406 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
14407 PRIuGRUB_SIZE.
14408 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
14409
14410 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14411
14412 * grub-core/Makefile.core.def (legacycfg): Add
14413 lib/i386/pc/vesa_modes_table.c on emu.
14414
14415 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
14416
14417 Reduce number of temporary files generated by build system.
14418
14419 * grub-core/gencmdlist.sh: Removed.
14420 * grub-core/genfslist.sh: Removed.
14421 * grub-core/genhandlerlist.sh: Removed.
14422 * grub-core/genmodsrc.sh: Removed.
14423 * grub-core/genpartmaplist.sh: Removed.
14424 * grub-core/genparttoollist.sh: Removed.
14425 * grub-core/gentermiinallist.sh: Removed.
14426 * grub-core/genvideolist.sh: Removed.
14427
14428 * grub-core/genmod.sh.in: New file.
14429 * grub-core/gensyminfo.sh.in: New file.
14430
14431 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
14432 * conf/Makefile.extra-dist: Update with new files.
14433 * gentpl.py: Remove rules related to unnecessary temporary files.
14434 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
14435 and und-* files.
14436 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
14437 genmod.sh scripts.
14438 * grub-core/bus/usb/uhci.c: Remove empty #define.
14439 * grub-core/genmoddep.awk: Updated with new syminfo format.
14440 * util/bash-completion.d/Makefile.am: Add config.log to
14441 CLEANFILES.
14442
14443 2010-09-19 Yves Blusseau <blusseau@zetam.org>
14444
14445 * Makefile.util.def: Add forgotten $(LIBINTL) library.
14446
14447 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
14448
14449 * util/grub-mkconfig.in: Check the config script for syntax errors
14450 before saving.
14451
14452 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
14453 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14454
14455 * Makefile.util.def (grub-install): Use util/grub-install.in on all
14456 platforms.
14457 * util/grub-install.in: Add EFI and IEEE1275 support.
14458 * util/i386/efi/grub-install.in: Removed.
14459 * util/ieee1275/grub-install.in: Likewise.
14460
14461 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14462
14463 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
14464 (grub_cmd_cmosclean): Likewise.
14465 (GRUB_MOD_INIT): Register command cmosclean.
14466 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
14467 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
14468
14469 2010-09-18 Carles Pina i Estany <carles@pina.cat>
14470 2010-09-18 Aleš Nesrsta <starous@volny.cz>
14471 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
14472
14473 Add keyboard layouts support.
14474
14475 * Makefile.util.def (grub-mklayout): New file.
14476 (grub-kbdcomp): New script.
14477 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
14478 Add keyboard_layouts.h.
14479 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
14480 commands/boot.c on yeeloong.
14481 (keylayouts): New module.
14482 * grub-core/bus/usb/ohci.c
14483 * grub-core/bus/usb/uhci.c
14484 * grub-core/bus/usb/usbhub.c (rescan): New variable.
14485 (grub_usb_add_hub): Poll interrupt pipe for device handling.
14486 (attach_root_port): Likewise.
14487 (poll_nonroot_hub): Likewise.
14488 (grub_usb_poll_devices): Likewise.
14489 (detach_device): Close transfer.
14490 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
14491 function.
14492 (grub_usb_bulk_setup_readwrite): Likewise.
14493 (grub_usb_bulk_finish_readwrite): Likewise.
14494 * grub-core/commands/keylayouts.c: New file.
14495 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
14496 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
14497 aliases.
14498 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
14499 support scancode 2.
14500 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
14501 * include/grub/keyboard_layouts.h: New file.
14502 * util/grub-mklayout.c: New file.
14503 * util/grub-kbdcomp.in: Likewise.
14504
14505 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
14506
14507 Unify memory types.
14508
14509 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
14510 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
14511 types.
14512 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
14513 (grub_upper_mem): Likewise.
14514 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
14515 * include/grub/memory.h (grub_memory_type_t): New enum.
14516 All users updated.
14517
14518 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
14519
14520 * grub-core/Makefile.core.def (lsapm): New module.
14521 * grub-core/commands/i386/pc/lsapm.c: New file.
14522 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
14523 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
14524 Likewise.
14525 * include/grub/i386/pc/apm.h: New file.
14526 * include/multiboot.h (multiboot_apm_info): New struct.
14527
14528 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
14529
14530 GRUB-legacy configuration file support.
14531
14532 * Makefile.util.def (grub-menulst2cfg): New util.
14533 * docs/man/grub-menulst2cfg.h2m: New file.
14534 * grub-core/Makefile.core.def (legacycfg): New module.
14535 * grub-core/commands/legacycfg.c: New file.
14536 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
14537 (grub_normal_add_menu_entry): ... this.
14538 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
14539 (grub_normal_set_password): ...this.
14540 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
14541 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
14542 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
14543 * grub-core/lib/legacy_parse.c: New file.
14544 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
14545 * include/grub/i386/pc/vesa_modes_table.h: New file.
14546 * include/grub/legacy_parse.h: Likewise.
14547 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
14548 * util/grub-menulst2cfg.c: New file.
14549
14550 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
14551
14552 * grub-core/kern/emu/hostdisk.c
14553 (convert_system_partition_to_system_disk): Initialise node.
14554
14555 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
14556
14557 * grub-core/kern/emu/hostdisk.c
14558 (convert_system_partition_to_system_disk): Fix devmapper memory pool
14559 leak.
14560 Reported and based on patch by: Modestas Vainius.
14561
14562 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
14563
14564 Fix DM-RAID probing with recent versions of device-mapper udev
14565 rules.
14566
14567 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
14568 canonicalise device paths under /dev/mapper/.
14569 (convert_system_partition_to_system_disk): Compare the
14570 uncanonicalised path to /dev/mapper/ rather than the canonicalised
14571 path, since device nodes under /dev/mapper/ are often symlinks.
14572
14573 2010-09-17 Yves Blusseau <blusseau@zetam.org>
14574
14575 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
14576
14577 2010-09-16 Yves Blusseau <blusseau@zetam.org>
14578
14579 * configure.ac: Avoid some annoying error messages if freetype-config
14580 program is not found.
14581
14582 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
14583
14584 Support RAID on virtio devices, and others.
14585
14586 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
14587 Rename to ...
14588 [__MINGW32__] (grub_find_device): ... this.
14589 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
14590 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
14591 reasonable default if dir is NULL.
14592 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
14593 ...
14594 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
14595 (grub_guess_root_device): Update callers.
14596 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
14597
14598 * util/raid.c (grub_util_getdiskname): Remove.
14599 (grub_util_raid_getmembers): Use grub_find_device rather than
14600 grub_util_getdiskname.
14601
14602 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
14603
14604 * docs/grub.texi (serial): Remove obsolete comment about GRUB
14605 needing to be compiled with serial support.
14606 (ls): Indicate that multiple files are accepted.
14607 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
14608 indicate that multiple files are accepted.
14609
14610 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
14611
14612 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
14613 libgrub_a_init.c, and util/bash-completion.d/grub.
14614
14615 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14616
14617 * util/grub-setup.c (setup): Fix incorrect container semantics.
14618
14619 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14620
14621 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
14622 misusage.
14623 Reported by: J. Nick Terry
14624
14625 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14626
14627 Move embedding routines to partmap sources files.
14628
14629 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
14630 [GRUB_UTIL]: New variable.
14631 (gpt_partition_map_iterate): Set part.parent.
14632 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
14633 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
14634 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
14635 New function.
14636 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
14637 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
14638 (grub_partition_map) [GRUB_UTIL]: New field embed.
14639 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
14640 (setup): Use ->embed.
14641
14642 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14643
14644 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
14645 function.
14646 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
14647 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
14648
14649 2010-09-15 Yves Blusseau <blusseau@zetam.org>
14650
14651 Add function to get completions from usage.
14652
14653 * util/bash-completion.d/grub-completion.bash.in: Add function to get
14654 completions from usage. Use LC_ALL=C to get options properly.
14655
14656 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14657
14658 * grub-core/gnulib/basename-lgpl.c: Imported.
14659 * grub-core/gnulib/basename.c: Likewise.
14660 * grub-core/gnulib/dirname-lgpl.c: Likewise.
14661 * grub-core/gnulib/dirname.c: Likewise.
14662 * grub-core/gnulib/dirname.h: Likewise.
14663 * grub-core/gnulib/stripslash.c: Likewise.
14664
14665 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14666
14667 * grub-core/gnulib/error.c: Resynced.
14668 * grub-core/gnulib/getopt.c: Likewise.
14669 * grub-core/gnulib/getopt_int.h: Likewise.
14670 * grub-core/gnulib/regex.h: Likewise.
14671 * grub-core/gnulib/regex_internal.c: Likewise.
14672 * grub-core/gnulib/regex_internal.h: Likewise.
14673
14674 2010-09-15 Szymon Janc <szymon@janc.net.pl>
14675
14676 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
14677 CRC calculations and validity checks.
14678 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
14679 calculations.
14680
14681 2010-09-15 Szymon Janc <szymon@janc.net.pl>
14682
14683 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
14684
14685 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14686
14687 Fix incorrect echo options handling.
14688 Reported by: Yves Blusseau.
14689
14690 * include/grub/command.h (grub_command_flags_t): New flags
14691 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
14692 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
14693 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
14694
14695 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14696
14697 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
14698 users updated.
14699 (GRUB_COMMAND_FLAG_MENU): Likewise.
14700 (GRUB_COMMAND_FLAG_BOTH): Likewise.
14701 (GRUB_COMMAND_FLAG_TITLE): Removed.
14702 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
14703 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
14704 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
14705 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
14706 (grub_command_flags_t): New enum. All users updated.
14707
14708 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
14709
14710 Fix solaris compilation.
14711
14712 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
14713 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
14714 (grub-emu-list): Likewise.
14715
14716 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14717
14718 Remove deprecated root command.
14719
14720 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
14721 updated.
14722
14723 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14724
14725 * util/i386/pc/grub-setup.c: Merge this ...
14726 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
14727 * util/grub-setup.c: ... into this.
14728 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
14729 New struct.
14730
14731 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14732
14733 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
14734 possible.
14735
14736 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14737
14738 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
14739 allocate p.
14740
14741 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14742
14743 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
14744 explicit root argument to set to prevent UUID to be interpreted as
14745 argument to set.
14746
14747 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14748
14749 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
14750
14751 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14752
14753 Don't export grub_gate_a20.
14754
14755 * grub-core/kern/i386/pc/init.c: Remove leftovers.
14756 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
14757 to ...
14758 (grub_gate_a20): ... this. All users updated.
14759 * include/grub/i386/pc/init.h: Removed. All users updated.
14760
14761 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14762
14763 Create euro.pf2 which supports most European languages.
14764
14765 * Makefile.am (grubdata_DATA): Add euro.pf2.
14766 (euro.pf2): New target.
14767 (CLEANFILES): Add euro.pf2.
14768
14769 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14770
14771 * configure.ac: Disable emu-usb by default to prevent inadvertent
14772 device takeover.
14773
14774 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14775
14776 Disable usbserial on grub-emu since our libusb code isn't good enough
14777 yet.
14778
14779 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
14780 (usbserial_pl2303): Likewise.
14781 (usbserial_ftdi): Likewise.
14782
14783 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14784
14785 * include/grub/disk.h (grub_disk): Remove has_partitions.
14786 All users updated.
14787 * disk/loopback.c (grub_loopback): Remove has_partitions.
14788 All users updated.
14789 (options): Remove partitions. All users updated.
14790 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
14791 * util/i386/pc/grub-setup.c (setup): copy partition table only when
14792 actual partition table is found.
14793
14794 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14795
14796 Remove readability checks (too many false negatives).
14797
14798 * util/grub-install.in: Remove readability checks.
14799 * util/grub-mkconfig.in: Likewise.
14800 * util/grub.d/10_hurd.in: Likewise.
14801 * util/grub.d/10_kfreebsd.in: Likewise.
14802 * util/grub.d/10_linux.in: Likewise.
14803 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
14804 way.
14805
14806 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14807
14808 Enable acpi shutdown on all ACPI platforms.
14809
14810 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
14811 on coreboo, multiboot and EFI.
14812 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
14813 (grub_acpi_halt): Likewise.
14814 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
14815 (grub_cmd_halt): Don't call grub_acpi_halt directly.
14816 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
14817 * grub-core/lib/i386/halt.c (grub_halt)
14818 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
14819
14820 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14821
14822 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
14823 context.
14824
14825 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14826
14827 * grub-core/video/efi_gop.c: Fix over-80-chars line.
14828 * grub-core/video/efi_uga.c: Likewise.
14829
14830 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14831
14832 Filter devaliases and never open same device twice.
14833
14834 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
14835 (last_ihandle): Likewise.
14836 (ofdisk_hash_ent): New member shortest.
14837 (ofdisk_hash_add): Add canonical path too.
14838 (scan): New function.
14839 (grub_ofdisk_iterate): Iterate over hashed entries.
14840 (compute_dev_path): Don't add :0.
14841 (grub_ofdisk_open): Don't really open the disk.
14842 (grub_ofdisk_close): Avoid closing unrelated disk.
14843 (grub_ofdisk_read): Implement reopen logic.
14844 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
14845 New function.
14846 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
14847 New proto.
14848
14849 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14850
14851 Fix sparc64.
14852
14853 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
14854 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
14855 right address. Add sparc64_ieee1275_ldflags.
14856 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
14857 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
14858 to grub_host_to_target_addr
14859 (load_image): Likewise.
14860
14861 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14862
14863 * grub-core/normal/completion.c (complete_file): Handle device
14864 containing slash.
14865 Fix based on patch by Doug Nazar.
14866
14867 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14868
14869 grub-mknetdir script.
14870
14871 * Makefile.util.def (grub-mknetdir): New module.
14872 * tests/util/grub-shell.in: Support boot=net
14873 * util/grub-mknetdir.in: New file.
14874
14875 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14876
14877 videoinfo on non-vbe.
14878
14879 * grub-core/Makefile.core.def (vbeinfo): Removed.
14880 (vbetest): Removed.
14881 (videoinfo): New module.
14882 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
14883 * grub-core/commands/i386/pc/vbetest.c: Removed.
14884 * grub-core/commands/videoinfo.c: New file.
14885 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
14886 specification.
14887 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
14888 as vbetest.
14889 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
14890 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
14891 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
14892 mode_number. New parameter mode. All users updated.
14893 (grub_video_gop_iterate): New function.
14894 (grub_video_efi_gop): New member iterate.
14895 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
14896 (grub_vbe_set_video_mode): Remove setting useless fields.
14897 (vbe2videoinfo): New function.
14898 (grub_video_vbe_iterate): Likewise.
14899 (grub_video_vbe_setup): Use vbe2videoinfo.
14900 (grub_video_vbe_print_adapter_specific_info): New function.
14901 (grub_video_vbe_adapter): New fields iterate and
14902 print_adapter_specific_info.
14903 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
14904 All users updated.
14905 (grub_video_mode_info): New field mode_number.
14906 (grub_video_adapter): New fields iterate and
14907 print_adapter_specific_info.
14908
14909 2010-09-13 Tristan Gingold <gingold@free.fr>
14910 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
14911 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14912
14913 * grub-core/commands/efi/lsefisystab.c: New file.
14914 * grub-core/commands/efi/lssal.c: Likewise.
14915 * grub-core/Makefile.core.def (lsacpi): New module.
14916 (lsefisystab): Likewise.
14917 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
14918 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
14919 (grub_efi_sal_system_table): New struct.
14920 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
14921 (grub_efi_sal_system_table_memory_descriptor): Likewise.
14922 (grub_efi_sal_system_table_platform_features): Likewise.
14923 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
14924 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
14925 (grub_efi_sal_system_table_ap_wakeup): Likewise.
14926 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
14927
14928 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14929
14930 Support explicit user claim that a device is BIOS-visible.
14931
14932 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
14933 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
14934 * grub-core/kern/emu/hostdisk.c
14935 (convert_system_partition_to_system_disk): Support mdX.
14936 (find_system_device): New parameter add. All users updated.
14937 (grub_util_biosdisk_is_present): New function.
14938 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
14939 proto.
14940
14941 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14942
14943 Search hints support.
14944
14945 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
14946 All users updated.
14947
14948 2010-09-13 Yves Blusseau <blusseau@zetam.org>
14949
14950 Bash completion script for util commands
14951
14952 * Makefile.am: Add util/bash-completion.d directory
14953 * configure.ac: Likewise.
14954 * util/bash-completion.d/Makefile.am: New file.
14955 * util/bash-completion.d/grub-completion.bash.in: Likewise.
14956
14957 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14958
14959 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
14960 (print_backlog): set backlog_ucs4 and backlog_glyphs.
14961 Reported by: Yves Blusseau.
14962
14963 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14964
14965 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
14966 partition size and offset.
14967
14968 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14969
14970 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
14971
14972 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14973
14974 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
14975
14976 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14977
14978 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
14979 (grub_xvasprintf): Likewise.
14980
14981 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14982
14983 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
14984
14985 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14986
14987 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
14988 args ending with NULL.
14989
14990 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14991
14992 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
14993 pointer.
14994
14995 2010-09-11 Szymon Janc <szymon@janc.net.pl>
14996
14997 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
14998
14999 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15000
15001 Shutdown using ACPI.
15002
15003 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
15004 * grub-core/commands/acpihalt.c: New file.
15005 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
15006 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
15007 (grub_acpi_halt): New proto.
15008 (GRUB_ACPI_SLP_EN): New const.
15009 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
15010 (GRUB_ACPI_OPCODE_*): New enum.
15011 (GRUB_ACPI_EXTOPCODE_*): Likewise.
15012
15013 2010-09-11 Tristan Gingold <gingold@free.fr>
15014 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
15015 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15016
15017 * commands/lsacpi.c: New file.
15018 * grub-core/Makefile.core.def (lsacpi): New module.
15019 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
15020 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
15021 (grub_acpi_madt_entry_header): New struct.
15022 (grub_acpi_madt): Likewise.
15023 (grub_acpi_madt_entry_interrupt_override): Likewise.
15024 (grub_acpi_madt_entry_sapic): Likewise.
15025 (grub_acpi_madt_entry_lsapic): Likewise.
15026 (grub_acpi_madt_entry_platform_int_source): Likewise.
15027 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
15028 (PRIuGRUB_UINT32_T): Likewise.
15029 (PRIxGRUB_UINT64_T): Likewise.
15030
15031 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15032
15033 Implement loading palette on ieee1275_fb.
15034
15035 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
15036 (have_setcolors): Likewise.
15037 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
15038 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
15039 (grub_video_ieee1275_set_palette): Implement.
15040
15041 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15042 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
15043
15044 * util/grub-install.in (grub_partition): New variable.
15045 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
15046 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
15047 Fixes a bug reported by Yves Blusseau.
15048
15049 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15050
15051 Fix emu on mipsel.
15052
15053 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
15054 =grub_cpu_flush_cache on all mips and not only yeeloong.
15055 * configure.ac (COND_mips): New conditional.
15056 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
15057 platforms.
15058 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
15059 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
15060 [GRUB_LINKER_HAVE_INIT]: New function.
15061 (grub_emu_post_init): Likewise.
15062 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
15063 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
15064 * include/grub/cache.h (_mips): Include mips/cache.h.
15065 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
15066 LVM and RAID prototypes.
15067 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
15068 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
15069 function.
15070
15071 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
15072
15073 * util/grub-install.in: Don't try to verify core.img until after
15074 running grub-mkimage to create it.
15075
15076 2010-09-10 Robert Millan <rmh@gnu.org>
15077
15078 * util/grub.d/10_hurd.in: Add misc readability checks.
15079 * util/grub.d/10_kfreebsd.in: Likewise.
15080 * util/grub.d/10_linux.in: Likewise.
15081
15082 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
15083
15084 * util/grub-install.in: ${imgext} won't be defined here until the
15085 install branch is merged. For the meantime, only verify core.img on
15086 i386-pc and sparc64-ieee1275 platforms.
15087
15088 2010-09-10 Robert Millan <rmh@gnu.org>
15089
15090 Solaris support in grub_find_zpool_from_dir(). Thanks
15091 Seth Goldberg for referring to getextmntent() facility.
15092
15093 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
15094 `sys/mkdev.h'.
15095 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
15096 `<sys/mnttab.h>'.
15097 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
15098 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
15099 method for finding zpool name.
15100
15101 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
15102
15103 grub-fstest needs the host and hostfs modules while other utilities
15104 actively require those modules to be absent, so grub-fstest needs
15105 its own initialisation and finalisation code.
15106
15107 * Makefile.am (grub_fstest.pp): New target.
15108 (grub_fstest_init.lst): Likewise.
15109 (grub_fstest_init.c): Likewise.
15110 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
15111
15112 2010-09-10 Robert Millan <rmh@gnu.org>
15113
15114 * configure.ac: Check for `struct statfs.f_fstypename' and
15115 `struct statfs.f_mntfromname'.
15116
15117 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
15118 kFreeBSD-specific code.
15119
15120 2010-09-10 Robert Millan <rmh@gnu.org>
15121
15122 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
15123 on ZFS. Now non-main filesystems are supported as / too.
15124
15125 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
15126
15127 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
15128 and grub-core/disk/host.c to ...
15129 (grub-fstest): ... here. Having the host disk implementation
15130 present confuses grub-probe and other utility programs.
15131
15132 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
15133 when writing to a file, not when writing to stdout.
15134
15135 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
15136
15137 * tests/partmap_test.in: New test for partitions.
15138 * Makefile.util.def: Rules for new test.
15139
15140 2010-09-09 Robert Millan <rmh@gnu.org>
15141
15142 * util/grub-probe.c (probe): Fix a pair of unhandled error
15143 conditions.
15144
15145 2010-09-09 Robert Millan <rmh@gnu.org>
15146
15147 Basic Btrfs support (detection and UUID).
15148
15149 * grub-core/fs/btrfs.c: New file.
15150 * Makefile.util.def (library): Register btrfs.c.
15151 * grub-core/Makefile.core.def: Likewise.
15152
15153 2010-09-08 Robert Millan <rmh@gnu.org>
15154
15155 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
15156 with (optional) parameters to specify device and relative path.
15157 * util/grub-install.in: Use is_path_readable_by_grub() to
15158 verify readability of a few critical files.
15159 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
15160 verify readability of grub.cfg.new.
15161
15162 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
15163
15164 Split minix.mod into minix.mod and minix2.mod.
15165
15166 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
15167 * grub-core/Makefile.core.def (minix2): New module.
15168 * grub-core/fs/minix.c: Use definitions instead of runtime version
15169 checking.
15170 * grub-core/fs/minix2.c: New file.
15171
15172 2010-09-08 Yves Blusseau <blusseau@zetam.org>
15173
15174 Add new --boot-directory option to replace --root-directory
15175
15176 * util/grub-install.in: Add new --boot-directory option
15177 * util/grub-reboot.in: Likewise.
15178 * util/grub-set-default.in: Likewise.
15179
15180 2010-09-08 Yves Blusseau <blusseau@zetam.org>
15181
15182 * util/grub-mkconfig.in: Use new variable.
15183
15184 2010-09-08 Yves Blusseau <blusseau@zetam.org>
15185
15186 * configure.ac: Define some useful variables.
15187
15188 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
15189
15190 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
15191 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
15192 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
15193 Use terminfo and don't use cursor-on/cursor-off unless it's known
15194 to work.
15195 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
15196 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
15197
15198 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
15199
15200 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
15201 starts with "(,", fill the drive containing the loaded image in
15202 between those two characters, but expect that a full partition
15203 specification including partition map names will follow.
15204
15205 2010-09-08 Robert Millan <rmh@gnu.org>
15206
15207 * configure.ac: Remove `--enable-grub-fstest' option.
15208 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
15209
15210 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
15211 `grub-fstest' instead of `grub-probe' for readability verification.
15212 * util/grub-probe.c (probe): Remove readability verification kludge.
15213
15214 2010-09-08 Robert Millan <rmh@gnu.org>
15215
15216 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
15217 initializing `GRUB_FS'.
15218
15219 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
15220
15221 Not command (!) support to GRUB script.
15222
15223 * tests/grub_script_not.in: New test.
15224 * Makefile.util.def: Rules for new test.
15225
15226 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
15227 ! command as a special case.
15228 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
15229
15230 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15231
15232 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
15233 grub_free.
15234
15235 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15236
15237 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
15238
15239 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15240
15241 * docs/grub.texi (Shell-like scripting): Documentation for break,
15242 continue, shift and return commands.
15243
15244 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
15245
15246 Rename CD-ROM to cd on BIOS.
15247
15248 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
15249 "cd".
15250 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
15251
15252 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15253
15254 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
15255 * util/grub-probe.c (main): Likewise.
15256 * util/i386/pc/grub-setup.c (main): Likewise.
15257 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
15258 Reported and debugged by: alexxy
15259
15260 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15261
15262 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
15263 diagnostic info.
15264
15265 2010-09-05 Jo Shields <directhex@apebox.org>
15266
15267 * util/grub.d/30_os-prober.in: Add missing classes.
15268
15269 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15270
15271 * docs/grub.texi (Theme file format): Document new position format.
15272
15273 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15274
15275 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
15276 a table. Use @code instead of @verbatim.
15277
15278 2010-09-05 Colin D Bennett <colin@gibibit.com>
15279
15280 Gfxmenu documentation.
15281
15282 * docs/grub.texi (Theme file format): New chapter.
15283
15284 2010-09-05 Szymon Janc <szymon@janc.net.pl>
15285
15286 * grub-core/Makefile.core.def (xzio): New module.
15287 * grub-core/io/xzio.c: New file.
15288 * grub-core/lib/xzembed/xz.h: New file (from xembed).
15289 * grub-core/lib/xzembed/xz_config.h: Likewise.
15290 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
15291 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
15292 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
15293 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
15294 * grub-core/lib/xzembed/xz_private.h: Likewise.
15295 * grub-core/lib/xzembed/xz_stream.h: Likewise.
15296 * include/grub/file.h (grub_file_filter_id): New compression filter
15297 GRUB_FILE_FILTER_XZIO.
15298
15299 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15300
15301 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
15302 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
15303 size.
15304
15305 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15306
15307 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
15308 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
15309
15310 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15311
15312 Uncompressed checksum support.
15313
15314 * grub-core/commands/hashsum.c (options): Add option --uncompress.
15315 (check_list): New parameter uncompress.
15316 (grub_cmd_hashsum): Handle --uncompress.
15317
15318 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15319
15320 Reintroduce testload.
15321
15322 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
15323 from here ...
15324 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
15325 (GRUB_MOD_INIT): New function.
15326 (GRUB_MOD_FINI): Likewise.
15327 * grub-core/Makefile.core.def (testload): New module.
15328
15329 2010-09-05 Szymon Janc <szymon@janc.net.pl>
15330
15331 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
15332 (uint8_t): New type.
15333 (uint16_t): Likewise.
15334 (uint32_t): Likewise.
15335 (uint64_t): Likewise.
15336
15337 2010-09-05 Szymon Janc <szymon@janc.net.pl>
15338
15339 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
15340
15341 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15342
15343 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
15344 Made static.
15345 (grub_gzfile_open): Removed. All users updated.
15346 (GRUB_MOD_INIT): New function.
15347 (GRUB_MOD_FINI): Likewise.
15348 * grub-core/kern/file.c (grub_file_filters_all): New variable.
15349 (grub_file_filters_enabled): Likewise.
15350 (grub_file_open): Handle filters.
15351 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
15352 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
15353 * include/grub/file.h (grub_file_filter_id_t): New type.
15354 (grub_file_filter_t): Likewise.
15355 (grub_file_filters_all): New extern variable.
15356 (grub_file_filters_enabled): Likewise.
15357 (grub_file_filter_register): New inline function.
15358 (grub_file_filter_unregister): Likewise.
15359 (grub_file_filter_disable): Likewise.
15360 (grub_file_filter_disable_compression): Likewise.
15361 * include/grub/gzio.h: Removed.
15362
15363 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15364
15365 Filename expansion support for wildcards in GRUB script.
15366
15367 * tests/grub_script_expansion.in: New test.
15368 * Makefile.util.def: Rule for new test.
15369
15370 * grub-core/commands/wildcard.c: New file, implements filename
15371 expansion support for GRUB script.
15372 * grub-core/Makefile.core.def: Rule update for regexp.mod.
15373 * grub-core/script/argv.c: Cosmetic changes.
15374 * grub-core/script/execute.c (grub_script_arglist_to_argv):
15375 Refactored to perform wildcard expansion on arguments.
15376 * include/grub/script_sh.h (grub_script_wildcard_translator): New
15377 struct.
15378
15379 * tests/util/grub-shell.in: Fix quoting for read input.
15380
15381 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15382
15383 Support for updating environment variables with matched substrings
15384 of regexp.
15385
15386 * tests/grub_cmd_regexp.in: New test.
15387 * Makefile.util.def: Rule for new test.
15388
15389 * grub-core/commands/regexp.c: New option -s to update environment
15390 variables with regexp matches.
15391
15392 2010-09-04 Szymon Janc <szymon@janc.net.pl>
15393
15394 * include/grub/file.h (grub_file): New member not_easly_seekable.
15395 (grub_file_seekable): New inline function.
15396 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
15397 easily seekable.
15398 (grub_gzio_open): Set not_easly_seekable.
15399 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
15400 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
15401
15402 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15403
15404 Support for options to appear multiple times on cmdline.
15405
15406 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
15407 * grub-core/commands/extcmd.c: Support for repeatable option.
15408 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
15409 repeatable option support.
15410
15411 Refactor menuentry into a regular command.
15412
15413 * grub-core/commands/menuentry.c: New file, menuentry command
15414 implementation.
15415 * grub-core/Makefile.core.def: Rule update for normal.mod.
15416 * grub-core/normal/main.c: Moved menuentry creation to
15417 grub-core/commands/menuentry.c.
15418 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
15419 (grub_menu_execute_entry_real): Removed.
15420 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
15421 function.
15422 (grub_script_execute_menuentry): Removed.
15423 * grub-core/script/parser.y (menuentry): Removed.
15424 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
15425 * grub-core/script/yylex.l (menuentry): Removed.
15426 * include/grub/menu.h (grub_menu_init): New prototype.
15427 (grub_menu_fini): New prototype.
15428 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
15429 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
15430 (grub_script_execute_sourcecode): New prototype.
15431
15432 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15433
15434 "return" command for GRUB script functions.
15435
15436 * tests/grub_script_return.in: New test.
15437 * Makefile.util.def: Rules for new test.
15438
15439 * grub-core/script/execute.c (grub_script_return): New function.
15440 * grub-core/script/main.c: Register/unregister return commaond.
15441 * include/grub/script_sh.h (grub_script_return): New prototype.
15442
15443 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15444
15445 "setparams" command to update positional parameters.
15446
15447 * tests/grub_script_setparams.in: New test.
15448 * Makefile.util.def: Rules for new test.
15449
15450 * grub-core/script/argv.c (grub_script_argv_make): New function.
15451 * grub-core/script/execute.c (replace_scope): New function.
15452 (grub_script_setparams): New function.
15453 * grub-core/script/lexer.c: Remove unused variables.
15454 * grub-core/script/main.c: Register/unregister setparams command.
15455 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
15456 (grub_script_setparams): New prototype.
15457
15458 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15459
15460 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
15461 grub_free order.
15462
15463 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15464
15465 Support for passing block of commands as an argument to extcmds.
15466
15467 * Makefile.util.def: Rules for new test.
15468 * tests/grub_script_blockarg.in: New test.
15469 * grub-core/tests/test_blockarg.c: New file, block argument
15470 command used in the test.
15471
15472 * include/grub/extcmd.h (grub_extcmd_context): New struct.
15473 (grub_register_extcmd_prio): New function prototype.
15474 (grub_extcmd_dispatcher): New function prototype.
15475 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
15476 type.
15477 * include/grub/script_sh.h (struct grub_script): New members
15478 `children', `next_siblings' and `refcnt' for block arguments and
15479 reference counting.
15480 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
15481 (grub_script_arg): New member `script' for block argument.
15482 (grub_script_argv): New member `script' for block argument.
15483 (grub_parser_param): New member `scripts' for block argument.
15484 (grub_script_mem_free): New extern function prototype.
15485 (grub_script_ref): New function prototype.
15486 (grub_script_unref): New function prototype.
15487
15488 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
15489 extcmd form to support block arguments.
15490 * grub-core/script/argv.c: Block arguments support.
15491 * grub-core/script/execute.c: Likewise.
15492 * grub-core/script/lexer.c: Likewise.
15493 * grub-core/script/main.c: Likewise.
15494 * grub-core/script/script.c: Likewise.
15495 * grub-core/script/parser.y: Likewise. New `block' and `block0'
15496 non-terminals.
15497
15498 * grub-core/commands/acpi.c: Update extcmd implementations with
15499 grub_extcmd_context_t.
15500 * grub-core/commands/cat.c: Likewise.
15501 * grub-core/commands/echo.c: Likewise.
15502 * grub-core/commands/extcmd.c: Likewise.
15503 * grub-core/commands/hashsum.c: Likewise.
15504 * grub-core/commands/hdparm.c: Likewise.
15505 * grub-core/commands/help.c: Likewise.
15506 * grub-core/commands/hexdump.c: Likewise.
15507 * grub-core/commands/i386/cpuid.c: Likewise.
15508 * grub-core/commands/i386/pc/drivemap.c: Likewise.
15509 * grub-core/commands/i386/pc/halt.c: Likewise.
15510 * grub-core/commands/i386/pc/sendkey.c: Likewise.
15511 * grub-core/commands/iorw.c: Likewise.
15512 * grub-core/commands/keystatus.c: Likewise.
15513 * grub-core/commands/loadenv.c: Likewise.
15514 * grub-core/commands/ls.c: Likewise.
15515 * grub-core/commands/lspci.c: Likewise.
15516 * grub-core/commands/memrw.c: Likewise.
15517 * grub-core/commands/probe.c: Likewise.
15518 * grub-core/commands/search_wrap.c: Likewise.
15519 * grub-core/commands/setpci.c: Likewise.
15520 * grub-core/commands/sleep.c: Likewise.
15521 * grub-core/disk/loopback.c: Likewise.
15522 * grub-core/hello/hello.c: Likewise.
15523 * grub-core/loader/i386/bsd.c: Likewise.
15524 * grub-core/loader/xnu.c: Likewise.
15525 * grub-core/term/gfxterm.c: Likewise.
15526 * grub-core/term/serial.c: Likewise.
15527 * grub-core/tests/lib/functional_test.c: Likewise.
15528
15529 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15530
15531 Multi-line quoted strings support.
15532
15533 * grub-core/script/lexer.c (append_newline): Removed.
15534 (grub_script_lexer_yywrap): Refactored.
15535 (grub_script_lexer_init): Refactored.
15536 * grub-core/script/yylex.l (yywrap): New function.
15537 (grub_lexer_resplit): New function.
15538 (grub_lexer_unput): New function.
15539 * include/grub/script_sh.h (grub_lexer_param): New members, unput
15540 and resplit.
15541 * tests/grub_script_echo1.in: Added few more testcases.
15542
15543 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
15544
15545 * grub-core/kern/misc.c: Don't add abort alias in utils.
15546 Reported by: echoline.
15547
15548 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
15549
15550 Add missing files into "make dist" tarball for other platforms.
15551
15552 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
15553 * conf/Makefile.common (dist_noinst_DATA): New variable.
15554 * conf/Makefile.extra-dist: Added missing make dist files.
15555 * grub-core/Makefile.core.def: Likewise.
15556
15557 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
15558
15559 Compress grub_prefix.
15560
15561 * grub-core/boot/i386/pc/lnxboot.S: Use
15562 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
15563 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
15564 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
15565 GRUB_MACHINE_PREFIX_END. All users updated.
15566 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
15567 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
15568 + 0x40.
15569 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
15570 * util/grub-mkimage.c (image_target_desc): Change data_end to
15571 prefix_end. All users updated.
15572
15573 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
15574
15575 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
15576 value.
15577 (grub_openbsd_boot): Likewise.
15578 (grub_netbsd_boot): Likewise.
15579 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
15580 (grub_xnu_boot): Likewise.
15581
15582 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15583
15584 * configure.ac: Clean LIBS variable after tests.
15585
15586 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
15587
15588 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
15589
15590 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15591
15592 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
15593 echo if libdevmapper will be used.
15594
15595 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
15596
15597 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
15598 constant for the same file.
15599
15600 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15601
15602 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
15603
15604 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
15605
15606 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
15607 grub-core/*.pp.
15608
15609 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
15610
15611 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
15612 required by the boot protocol.
15613
15614 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
15615 ebp and edi members.
15616 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
15617 state.ebp and state.edi.
15618 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
15619 %ebp and %edi according to grub_relocator32_ebp and
15620 grub_relocator32_edi respectively.
15621 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
15622 and state.edi.
15623
15624 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15625
15626 Add i386-pc-pxe image target.
15627
15628 * util/grub-mkimage.c (image_target_desc): New enum value
15629 IMAGE_I386_PC_PXE.
15630 (image_targets): New target i386-pc-pxe.
15631 (generate_image): Handle i386-pc-pxe image.
15632
15633 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15634
15635 Fix grub_pxe_scan.
15636
15637 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
15638 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
15639 All users updated.
15640 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
15641 (grub_pxe_pxenv): Correct type.
15642
15643 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
15644
15645 * NEWS: Document most of the important changes since 1.98.
15646
15647 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
15648
15649 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
15650 generated manual page) a little.
15651
15652 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
15653
15654 * docs/grub.texi: Add myself as an author.
15655
15656 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
15657
15658 * Makefile.util.def (libgrub.a): Add missing sunpc.
15659 Reported by: Seth Goldberg.
15660
15661 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15662
15663 Interrupt wrapping and code simplifications.
15664
15665 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
15666 x86_noieee1275 which are functionaly equivalent in this case.
15667 (grub-install): Make source on each platform explicit. Enable on
15668 all noemu.
15669 * gentpl.py (x86_efi_pc): Removed group.
15670 (x86_noefi): Likewise.
15671 (i386_noefi): Likewise.
15672 (x86_noieee1275): Likewise.
15673 (i386_noieee1275): Likewise.
15674 (i386_noefi_noieee1275): Likewise.
15675 (i386_pc_qemu_coreboot): Likewise.
15676 (i386_coreboot_multiboot): Likewise.
15677 (i386_pc_coreboot_multiboot_qemu): Likewise.
15678 (x86_noefi_mips): Likewise.
15679 (noieee1275): Likewise.
15680 (ieee1275_mips): Likewise.
15681 (noemu_noieee1275): Likewise.
15682 (cmos): New group.
15683 (usb): Likewise.
15684 (videoinkernel): Likewise.
15685 (videomodules): Likewise.
15686 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
15687 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
15688 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
15689 include/grub/loader.h, include/grub/msdos_partition.h,
15690 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
15691 include/grub/machine/console.h, include/grub/machine/vga.h,
15692 include/grub/machine/vbe.h, include/grub/machine/init.h,
15693 include/grub/machine/kernel.h, include/grub/cpu/time.h,
15694 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
15695 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
15696 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
15697 * grub-core/Makefile.core.def (kernel): Explicit the source for
15698 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
15699 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
15700 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
15701 Use videoinkernel tag.
15702 (usb): Enable on all usb.
15703 (usbserial_common): Likewise.
15704 (usbserial_pl2303): Likewise.
15705 (usbserial_ftdi): Likewise.
15706 (uhci): Enable on all x86.
15707 (ohci): Enable on all pci.
15708 (cmostest): Enable on all CMOS.
15709 (acpi): Include commands/acpi.c on all platforms.
15710 (halt): Add relevant lib/*/halt.c.
15711 (hdparm): Enable on all pci.
15712 (lspci): Likewise.
15713 (usbtest): Enable on all usb.
15714 (ata): Enable on all pci.
15715 (ata_pthru): Likewise.
15716 (usbms): Enable on all usb.
15717 (usb_keyboard): Likewise.
15718 (font): Use tag videomodules.
15719 (bufio): Likewise.
15720 (datetime): Use tag cmos. Enable on all noemu.
15721 (mmap): Use tags common and x86.
15722 (gfxterm): Use tag videomodules.
15723 (bitmap): Likewise.
15724 (bitmap_scale): Likewise.
15725 (video_fb): Likewise.
15726 (video): Likewise.
15727 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
15728 adjust padding accordingly. All users updated.
15729 (grub_ohci_transaction): Fix bad format specification.
15730 (GRUB_MOD_INIT): Add asserts for struct size.
15731 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
15732 (grub_alloc_td): Likewise.
15733 (grub_free_queue): Likewise.
15734 (grub_uhci_transfer): Likewise.
15735 (grub_uhci_transaction): Fix bad format specification.
15736 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
15737 (grub_usb_bulk_readwrite): Likewise.
15738 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
15739 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
15740 Made static.
15741 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
15742 Made static.
15743 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
15744 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
15745 Transformed into C.
15746 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
15747 Moved from here ...
15748 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
15749 ... here. Transformed into C. Made static.
15750 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
15751 Moved from here ...
15752 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
15753 ... here. Transformed into C. Made static.
15754 * grub-core/kern/i386/pc/startup.S
15755 (grub_biosdisk_check_int13_extensions): Moved from here ...
15756 * grub-core/disk/i386/pc/biosdisk.c
15757 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
15758 Made static.
15759 * grub-core/kern/i386/pc/startup.S
15760 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
15761 * grub-core/disk/i386/pc/biosdisk.c
15762 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
15763 Transformed into C. Made static.
15764 * grub-core/kern/i386/pc/startup.S
15765 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
15766 * grub-core/disk/i386/pc/biosdisk.c
15767 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
15768 Transformed into C. Made static.
15769 * grub-core/kern/i386/pc/startup.S
15770 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
15771 * grub-core/disk/i386/pc/biosdisk.c
15772 (grub_biosdisk_get_diskinfo_standard): ... here.
15773 Transformed into C. Made static.
15774 * grub-core/kern/i386/pc/startup.S
15775 (grub_biosdisk_get_num_floppies): Moved from here ...
15776 * grub-core/disk/i386/pc/biosdisk.c
15777 (grub_biosdisk_get_num_floppies): ... here.
15778 Transformed into C. Made static.
15779 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
15780 New function.
15781 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
15782 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
15783 Transformed into C. Made static.
15784 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
15785 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
15786 Transformed into C. Made static.
15787 * grub-core/kern/i386/ieee1275/init.c: Removed.
15788 * grub-core/kern/i386/misc.S: Likewise.
15789 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
15790 Splitted from here ...
15791 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
15792 Transformed into C. Made static. All users updated.
15793 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
15794 Transformed into C. Made static. All users updated.
15795 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
15796 Moved from here...
15797 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
15798 Transformed into C. Made static. All users updated.
15799 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
15800 Moved from here...
15801 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
15802 Transformed into C. Made static. All users updated.
15803 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
15804 Removed (replaced by C version).
15805 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
15806 Moved from here...
15807 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
15808 Transformed into C. Made static.
15809 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
15810 Moved from here...
15811 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
15812 ... here. Transformed into C.
15813 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
15814 Moved from here...
15815 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
15816 ... here. Transformed into C.
15817 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
15818 Moved from here...
15819 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
15820 ... here. Transformed into C. Made static.
15821 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
15822 Moved from here...
15823 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
15824 ... here. Transformed into C.
15825 * grub-core/kern/i386/pc/startup.S
15826 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
15827 * grub-core/video/i386/pc/vbe.c
15828 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
15829 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
15830 Moved from here...
15831 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
15832 ... here. Transformed into C.
15833 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
15834 Moved from here...
15835 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
15836 ... here. Transformed into C.
15837 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
15838 Moved from here...
15839 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
15840 ... here. Transformed into C.
15841 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
15842 Moved from here...
15843 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
15844 ... here. Transformed into C.
15845 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
15846 Moved from here...
15847 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
15848 ... here. Transformed into C. Made static.
15849 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
15850 Moved from here...
15851 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
15852 ... here. Transformed into C. Made static.
15853 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
15854 Moved from here...
15855 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
15856 ... here. Transformed into C. Made static.
15857 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
15858 pxe_rm_entry as third argument.
15859 (grub_bios_interrupt): New function.
15860 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
15861 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
15862 of calling grub_stop.
15863 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
15864 * grub-core/lib/efi/halt.c (grub_halt): ...here.
15865 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
15866 * grub-core/lib/emu/halt.c (grub_halt): ... here.
15867 * grub-core/lib/i386/halt.c: Moved from here ...
15868 * grub-core/lib/i386/halt.c: ... here.
15869 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
15870 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
15871 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
15872 grub_stop_floppy.
15873 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
15874 * include/grub/i386/coreboot/init.h: Removed.
15875 * include/grub/i386/multiboot/init.h: Likewise.
15876 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
15877 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
15878 * include/grub/i386/pc/int.h: New file.
15879 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
15880 (grub_pxe_scan): Removed.
15881 (grub_pxe_call): Update prototype.
15882 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
15883 prototypes.
15884 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
15885 * include/grub/i386/qemu/init.h: Removed.
15886 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
15887 noreturn.
15888 (grub_halt): Likewise.
15889 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
15890 (grub_reboot): Likewise.
15891 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
15892 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
15893 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
15894
15895 2010-08-30 Robert Millan <rmh@gnu.org>
15896
15897 * NEWS: Document addition of ZFS support in `grub-install' and
15898 `grub-mkconfig'.
15899
15900 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
15901
15902 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
15903 dprintf output.
15904
15905 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15906
15907 Remove leftover embedding of font objects.
15908
15909 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
15910 * util/grub-install.in (font): Removed.
15911 * util/grub-mkimage.c (generate_image): Remove font support. All users
15912 updated.
15913
15914 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15915
15916 Remove leftover embedding of font objects.
15917
15918 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
15919 * util/grub-install.in (font): Removed.
15920 * util/grub-mkimage.c (generate_image): Remove font support. All users
15921 updated.
15922
15923 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15924
15925 * docs/grub.texi (Network): Fix reference to pxe_blksize.
15926 Reported by: Ian Turner
15927
15928 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15929
15930 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
15931 timeout to avoid indefinite boot stalling.
15932
15933 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15934
15935 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
15936 (grub_env_write_color_highlight): Likewise.
15937
15938 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15939
15940 * grub-core/normal/term.c (print_more): Return to normal and not
15941 to standard state after printing "---MORE---".
15942
15943 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15944
15945 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
15946 Mask out the bit 0x80 since it has other meaning that specifiing color.
15947
15948 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15949
15950 New relocator. Allows for more kernel support and more straightforward
15951 loader writing.
15952
15953 * Makefile.am (BOOTTARGET): New variable.
15954 (QEMU32): Likewise.
15955 (linux.init.x86_64): New target.
15956 (linux.init.i386): Likewise.
15957 (multiboot.elf): Likewise.
15958 (kfreebsd.elf): Likewise.
15959 (kfreebsd.aout): Likewise.
15960 (pc-chainloader.elf): Likewise.
15961 (pc-chainloader.bin): Likewise.
15962 (ntldr.elf): Likewise.
15963 (ntldr.bin): Likewise.
15964 (multiboot2.elf): Likewise.
15965 (kfreebsd.init.x86_64): Likewise.
15966 (kfreebsd.init.i386): Likewise.
15967 (knetbsd.init.i386): Likewise.
15968 (kopenbsd.init.i386): Likewise.
15969 (knetbsd.init.x86_64): Likewise.
15970 (kopenbsd.init.x86_64): Likewise.
15971 (linux-initramfs.i386): Likewise.
15972 (linux-initramfs.x86_64): Likewise.
15973 (kfreebsd-mfsroot.i386.img): Likewise.
15974 (knetbsd.image.i386): Likewise.
15975 (kopenbsd.image.i386): Likewise.
15976 (kopenbsd.image.x86_64): Likewise.
15977 (knetbsd.miniroot-image.i386.img): Likewise.
15978 (kfreebsd-mfsroot.x86_64.img): Likewise.
15979 (knetbsd.image.x86_64): Likewise.
15980 (knetbsd.miniroot-image.x86_64.img): Likewise.
15981 (kfreebsd-mfsroot.i386.gz): Likewise.
15982 (bootcheck-kfreebsd-i386): Likewise.
15983 (kfreebsd-mfsroot.x86_64.gz): Likewise.
15984 (bootcheck-kfreebsd-x86_64): Likewise.
15985 (knetbsd.miniroot-image.i386.gz): Likewise.
15986 (bootcheck-knetbsd-i386): Likewise.
15987 (bootcheck-kopenbsd-i386): Likewise.
15988 (bootcheck-kopenbsd-x86_64): Likewise.
15989 (knetbsd.miniroot-image.x86_64.gz): Likewise.
15990 (bootcheck-knetbsd-x86_64): Likewise.
15991 (bootcheck-linux-i386): Likewise.
15992 (bootcheck-linux-x86_64): Likewise.
15993 (bootcheck-linux16-i386): Likewise.
15994 (bootcheck-linux16-x86_64): Likewise.
15995 (bootcheck-multiboot): Likewise.
15996 (bootcheck-multiboot2): Likewise.
15997 (bootcheck-kfreebsd-aout): Likewise.
15998 (bootcheck-pc-chainloader): Likewise.
15999 (bootcheck-ntldr): Likewise.
16000 (CLEANFILES): Add new targets.
16001 (BOOTCHECKS): New variable.
16002 (.PHONY): Add bootchecks.
16003 (SUCCESSFUL_BOOT_STRING): New variable.
16004 (BOOTCHECK_TIMEOUT): Likewise.
16005 (bootcheck): New target
16006 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
16007 * configure.ac: Correct efiemu excuse.
16008 * docs/grub.texi (Supported kernels): New chapter.
16009 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
16010 include/grub/mm_private.h. Simplify inclusion of
16011 include/grub/boot.h, include/grub/loader.h
16012 and include/grub/msdos_partition.h
16013 (KERNEL_HEADER_FILES) [i386_coreboot]:
16014 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
16015 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
16016 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
16017 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
16018 include/grub/machine/loader.h.
16019 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
16020 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
16021 extra_dist.
16022 (pci.mod): Enable on i386-multiboot.
16023 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
16024 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
16025 i386-qemu.
16026 (relocator.mod): Rewritten.
16027 (aout.mod): Enable on all x86.
16028 (bsd.mod): Likewise.
16029 (ntldr.mod): New module.
16030 (linux.mod): Use loader/i386/linux.c on all x86.
16031 (xnu.mod): Enable on all x86.
16032 (vga_text.mod): disable on EFI and QEMU.
16033 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
16034 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
16035 * grub-core/efiemu/loadcore.c: Likewise.
16036 * grub-core/efiemu/main.c: Likewise.
16037 (grub_efiemu_exit_boot_services): Removed.
16038 (grub_efiemu_finish_boot_services): Likewise.
16039 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
16040 function.
16041 * grub-core/efiemu/i386/nocfgtables.c: New file.
16042 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
16043 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
16044 (grub_efi_finish_boot_services): Moved from here ...
16045 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
16046 Fille finish memory map and related data.
16047 (finish_mmap_buf): New variable.
16048 (grub_efi_uintn_t finish_mmap_size): Likewise.
16049 (grub_efi_uintn_t finish_key): Likewise.
16050 (grub_efi_uintn_t finish_desc_size): Likewise.
16051 (grub_efi_uint32_t finish_desc_version): Likewise.
16052 (grub_efi_is_finished): Likewise.
16053 (grub_efi_get_memory_map): Use saved memory map if EFI is already
16054 finished.
16055 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
16056 (grub_elf64_phdr_iterate): Likewise.
16057 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
16058 (grub_os_area_size): Likewise.
16059 (grub_machine_init): Don't reserve os area.
16060 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
16061 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
16062 * grub-core/kern/i386/loader.S: Removed.
16063 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
16064 (grub_os_area_size): Likewise.
16065 (grub_machine_init): Don't reserve os area.
16066 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
16067 Don't call grub_dl_unload_all.
16068 Don't include loader.S.
16069 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
16070 Declare the memory after _end as available.
16071 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
16072 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
16073 (GRUB_MM_ALLOC_MAGIC): Moved from here...
16074 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
16075 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
16076 * include/grub/mm_private.h (grub_mm_header): ... here.
16077 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
16078 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
16079 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
16080 (grub_mm_region): ..here. Removed addr. Added pre_size.
16081 All users updated.
16082 * grub-core/kern/mm.c (base): Renamed to ...
16083 (grub_mm_base): ... this. Made global.
16084 (grub_real_malloc): Alloc from end of region.
16085 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
16086 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
16087 * grub-core/kern/powerpc/cache_flush.S: ... here.
16088 * grub-core/lib/efi/relocator.c: New file.
16089 * grub-core/lib/i386/relocator.c: Rewritten.
16090 * grub-core/lib/i386/relocator16.S: New file.
16091 * grub-core/lib/i386/relocator32.S: Likewise.
16092 * grub-core/lib/i386/relocator64.S: Likewise.
16093 * grub-core/lib/i386/relocator_asm.S: Rewritten.
16094 * grub-core/lib/i386/relocator_common.S: New file.
16095 * grub-core/lib/ieee1275/relocator.c: Likewise.
16096 * grub-core/lib/mips/relocator.c: Rewritten.
16097 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
16098 stylistic adjustments.
16099 * grub-core/lib/powerpc/relocator.c: New file.
16100 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
16101 * grub-core/lib/relocator.c: Rewritten.
16102 * grub-core/lib/x86_64/relocator_asm.S: New file.
16103 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
16104 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
16105 (bsd_tag): New struct.
16106 (tags): New variable.
16107 (tags_last): Likewise.
16108 (netbsd_module): New struct.
16109 (netbsd_mods): New variable.
16110 (netbsd_mods_last): Likewise.
16111 (openbsd_opts): New parameter "serial".
16112 (OPENBSD_SERIAL_ARG): New definition.
16113 (netbsd_opts): New parameter "serial".
16114 (NETBSD_SERIAL_ARG): New definition.
16115 (grub_freebsd_add_meta): Reorganised into ...
16116 (grub_bsd_add_meta): ...this. All users updated.
16117 (grub_freebsd_add_mmap): Reorganised into ...
16118 (generate_e820_mmap): ...this...
16119 (grub_bsd_add_mmap): ...and this. All users updated.
16120 (grub_freebsd_list_modules): Use tags.
16121 (grub_netbsd_add_meta_module): New function.
16122 (grub_netbsd_list_modules): Likewise.
16123 (grub_freebsd_boot): Use relocator and finish EFI.
16124 (grub_openbsd_boot): Likewise.
16125 (grub_netbsd_setup_video): New function.
16126 (grub_netbsd_add_modules): Likewise.
16127 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
16128 and finish EFI.
16129 (grub_bsd_unload): Unload tags.
16130 (grub_bsd_load_aout): Use relocator.
16131 (grub_bsd_elf32_size_hook): New function.
16132 (grub_bsd_elf32_hook): Use relocator.
16133 (grub_bsd_elf64_size_hook): New function.
16134 (grub_bsd_elf64_hook): Use relocator.
16135 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
16136 (grub_bsd_load): Zero-out openbsd_ramdisk.
16137 (grub_bsd_load): Use relocator.
16138 (grub_cmd_openbsd): Support serial.
16139 (grub_cmd_netbsd): Support modules.
16140 (grub_cmd_freebsd_module): Use relocator.
16141 (grub_netbsd_module_load): New function.
16142 (grub_cmd_netbsd_module): Likewise.
16143 (grub_cmd_openbsd_ramdisk): Likewise.
16144 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
16145 kopenbsd_ramdisk.
16146 (GRUB_MOD_FINI): Unregister new commands.
16147 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
16148 (grub_freebsd_load_elfmodule_obj): Use relocator.
16149 (grub_freebsd_load_elfmodule): Likewise.
16150 (grub_freebsd_load_elf_meta): Likewise.
16151 (grub_netbsd_load_elf_meta): New function.
16152 (grub_openbsd_find_ramdisk): Likewise.
16153 * grub-core/loader/i386/bsd_helper.S: Removed.
16154 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
16155 * grub-core/loader/i386/bsd_trampoline.S: Removed.
16156 * grub-core/loader/i386/efi/linux.c: Likewise.
16157 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
16158 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
16159 (DEFAULT_VIDEO_MODE): Likewise.
16160 (real_mode_target): New variable.
16161 (prot_mode_target): Likewise.
16162 (initrd_mem_target): Likewise.
16163 (relocator): Likewise.
16164 (efi_mmap_buf): Likewise.
16165 (efi_mmap_size): Likewise.
16166 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
16167 (free_pages): Use relocator.
16168 (allocate_pages): Account for efi_mmap and use relocator. Return error.
16169 (grub_linux_setup_video): Return error.
16170 (grub_linux_trampoline_start): Removed.
16171 (grub_linux_trampoline_end): Likewise.
16172 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
16173 andd video parameters depending on firmware.
16174 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
16175 [GRUB_MACHINE_EFI]: Pass EFI parameters.
16176 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
16177 (grub_cmd_initrd): Use relocator.
16178 * grub-core/loader/i386/linux_trampoline.S: Removed.
16179 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
16180 (elf_sec_entsize): Likewise.
16181 (elf_sec_shstrndx): Likewise.
16182 (elf_sections): Likewise.
16183 (grub_multiboot_load): Use relocator.
16184 (grub_multiboot_get_mbi_size): Account for sections.
16185 (grub_multiboot_make_mbi): Use relocator and support sections.
16186 (grub_multiboot_add_elfsyms): New function.
16187 (grub_multiboot_free_mbi): Free sections.
16188 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
16189 (grub_linux_real_target): Likewise.
16190 (grub_linux_real_chunk): Likewise.
16191 (grub_linux16_prot_size): Likewise.
16192 (grub_linux16_boot): Use relocator.
16193 (grub_linux_unload): Unload relocator.
16194 (grub_cmd_linux): Use relocator.
16195 (grub_cmd_initrd): Likewise.
16196 * grub-core/loader/i386/pc/ntldr.c: New file.
16197 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
16198 Don't try to guess CPU frequency.
16199 (grub_xnu_set_video): Stretch bitmap.
16200 (grub_xnu_boot): Use relocator.
16201 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
16202 (grub_linux_unload): Free relocator.
16203 (grub_linux_load32): Use relocator.
16204 (grub_linux_load64): Likewise.
16205 (grub_cmd_initrd): Likewise.
16206 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
16207 (grub_multiboot_unload): Unload relocator.
16208 (grub_cmd_multiboot): Use relocator.
16209 (grub_cmd_module): Likewise.
16210 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
16211 Use relocator and support sections.
16212 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
16213 (elf_sec_entsize): Likewise.
16214 (elf_sec_shstrndx): Likewise.
16215 (elf_sections): Likewise.
16216 (grub_multiboot_load): Use relocator.
16217 (grub_multiboot_get_mbi_size): Account for sections.
16218 (grub_multiboot_make_mbi): Use relocator and support sections.
16219 (grub_multiboot_add_elfsyms): New function.
16220 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
16221 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
16222 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
16223 Prototype changed. All users updated.
16224 (grub_xnu_align_heap): Simplified.
16225 (grub_xnu_writetree_toheap): Likewise.
16226 (grub_xnu_unload): Unload relocator.
16227 (grub_cmd_xnu_kernel): Use relocator.
16228 (grub_cmd_xnu_kernel64): Likewise.
16229 (grub_xnu_register_memory): Simplified.
16230 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
16231 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
16232 EFI is finished.
16233 (grub_console_checkkey): Likewise.
16234 (grub_console_getkey): Likewise.
16235 (grub_console_getwh): Likewise.
16236 (grub_console_getxy): Likewise.
16237 (grub_console_gotoxy): Likewise.
16238 (grub_console_cls): Likewise.
16239 (grub_console_setcolorstate): Likewise.
16240 (grub_console_setcursor): Likewise.
16241 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
16242 * grub-core/tests/boot/kbsd.init-i386.S: New file.
16243 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
16244 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
16245 * grub-core/tests/boot/kernel-8086.S: Likewise.
16246 * grub-core/tests/boot/kernel-i386.S: Likewise.
16247 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
16248 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
16249 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
16250 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
16251 * grub-core/tests/boot/knetbsd.cfg: Likewise.
16252 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
16253 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
16254 * grub-core/tests/boot/linux.cfg: Likewise.
16255 * grub-core/tests/boot/linux.init-i386.S: Likewise.
16256 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
16257 * grub-core/tests/boot/linux16.cfg: Likewise.
16258 * grub-core/tests/boot/multiboot.cfg: Likewise.
16259 * grub-core/tests/boot/multiboot2.cfg: Likewise.
16260 * grub-core/tests/boot/ntldr.cfg: Likewise.
16261 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
16262 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
16263 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
16264 New definition.
16265 * include/grub/dl.h (grub_dl_unload_all): Removed.
16266 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
16267 (grub_efi_finish_boot_services): Change prototype.
16268 (grub_efi_is_finished): New variable.
16269 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
16270 Changed prototype.
16271 (grub_efiemu_finish_boot_services): Removed.
16272 (grub_machine_efiemu_init_tables): New prototype.
16273 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
16274 (grub_elf64_phdr_iterate): Likewise.
16275 * include/grub/i386/bsd.h: Include relocator.h.
16276 (freebsd_tag_header): New struct.
16277 (grub_openbsd_bios_mmap): Removed.
16278 (grub_unix_real_boot): Removed.
16279 (grub_freebsd_load_elfmodule32): Changed prototype.
16280 (grub_freebsd_load_elfmodule_obj64): Likewise.
16281 (grub_freebsd_load_elf_meta32): Likewise.
16282 (grub_freebsd_load_elf_meta64): Likewise.
16283 (grub_freebsd_add_meta): Removed.
16284 (grub_netbsd_load_elf_meta32): New prototype.
16285 (grub_netbsd_load_elf_meta64): Likewise.
16286 (grub_bsd_add_meta): Likewise.
16287 (grub_openbsd_ramdisk_descriptor): New struct.
16288 (grub_openbsd_find_ramdisk32): New prototype.
16289 (grub_openbsd_find_ramdisk64): Likewise.
16290 * include/grub/i386/coreboot/loader.h: Removed.
16291 * include/grub/i386/efi/loader.h: Likewise.
16292 * include/grub/i386/ieee1275/loader.h: Likewise.
16293 * include/grub/i386/linux.h (linux_kernel_header): Change void *
16294 to grub_uint32_t.
16295 * include/grub/i386/loader.h: Removed.
16296 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
16297 value.
16298 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
16299 (grub_phys_addr_t): New type.
16300 (grub_vtop): New inline function.
16301 (grub_map_memory): Likewise.
16302 (grub_unmap_memory): Likewise.
16303 * include/grub/i386/multiboot/loader.h: Removed.
16304 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
16305 (NETBSD_BTINFO_CONSOLE): New definition.
16306 (NETBSD_BTINFO_SYMTAB): Likewise.
16307 (NETBSD_BTINFO_MODULES): Likewise.
16308 (NETBSD_BTINFO_FRAMEBUF): Likewise.
16309 (grub_netbsd_bootinfo): New struct.
16310 (grub_netbsd_btinfo_common): Use explicit bitsize.
16311 (grub_netbsd_btinfo_mmap_entry): Removed.
16312 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
16313 (grub_netbsd_btinfo_bootdisk): New struct.
16314 (grub_netbsd_btinfo_symtab): Likewise.
16315 (grub_netbsd_btinfo_serial): Likewise.
16316 (grub_netbsd_btinfo_modules): Likewise.
16317 (grub_netbsd_btinfo_framebuf): Likewise.
16318 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
16319 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
16320 Likewise.
16321 (grub_openbsd_bootargs): Use explicit bitsize.
16322 (grub_openbsd_bootarg_console): New struct.
16323 (GRUB_OPENBSD_COM_MAJOR): New definition.
16324 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
16325 * include/grub/i386/pc/efiemu.h: Removed.
16326 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
16327 * include/grub/i386/qemu/loader.h: Removed.
16328 * include/grub/i386/relocator.h: Rewritten.
16329 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
16330 * include/grub/mips/memory.h: New file.
16331 * include/grub/mips/multiboot.h: Rewritten.
16332 * include/grub/mips/relocator.h: Rewritten.
16333 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
16334 (grub_vtop): New function.
16335 (grub_map_memory): Likewise.
16336 (grub_unmap_memory): Likewise.
16337 * include/grub/misc.h (ALIGN_DOWN): New definition.
16338 * include/grub/mm.h (grub_mm_check_real): New proto.
16339 (GRUB_MM_CHECK): New definition.
16340 * include/grub/mm_private.h: New file.
16341 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
16342 (grub_multiboot_get_mbi_size): Removed.
16343 (grub_multiboot_make_mbi): Change prottype.
16344 (grub_multiboot_set_accepts_video): New proto.
16345 (grub_multiboot_add_elfsyms): Likewise.
16346 (grub_multiboot_payload_eip): New variable.
16347 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
16348 New prototype.
16349 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
16350 New definition.
16351 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
16352 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
16353 * include/grub/powerpc/ieee1275/loader.h: Removed.
16354 * include/grub/powerpc/memory.h: New file.
16355 * include/grub/powerpc/relocator.h: Likewise.
16356 * include/grub/relocator.h: Likewise.
16357 * include/grub/relocator_private.h: Likewise.
16358 * include/grub/sparc64/ieee1275/loader.h: Removed.
16359 * include/grub/x86_64/memory.h: New file.
16360 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
16361 (grub_xnu_heap_malloc): Likewise.
16362 (grub_xnu_heap_real_start): Removed.
16363 (grub_xnu_heap_start): Likewise.
16364 (grub_xnu_relocator): New variable.
16365 (grub_xnu_heap_target_start): Likewise.
16366 * tests/util/grub-shell.in: Support non-pc.
16367 * util/grub-mkimage.c (image_targets): Fix multiboot target.
16368
16369 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16370
16371 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
16372 on malloc error.
16373 (grub_bidi_logical_to_visual): Check that malloc succeded.
16374 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
16375 puts.
16376 (grub_xputs_normal): Likewise.
16377
16378 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16379
16380 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
16381 extra_dist.
16382
16383 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16384
16385 * grub-core/efiemu/runtime/efiemu.sh: Removed.
16386
16387 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16388
16389 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
16390
16391 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16392
16393 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
16394 dprintf.
16395
16396 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
16397
16398 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
16399
16400 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16401
16402 * grub-core/normal/term.c (print_more): Fix a memory leak.
16403 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
16404 (grub_xputs_normal): Likewise.
16405
16406 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16407
16408 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
16409 the begining of the string
16410
16411 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16412
16413 * grub-core/script/script.c (grub_script_parse): Free parsed on
16414 failure.
16415
16416 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16417
16418 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
16419 on failure.
16420
16421 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16422
16423 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
16424 return.
16425
16426 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16427
16428 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
16429 (scroll_up): Fix a memory leak.
16430
16431 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16432
16433 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
16434 errors.
16435
16436 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
16437
16438 Handle USB pendrives exposed as floppies.
16439
16440 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
16441 floppy.
16442 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
16443 Check for partitions on all devices.
16444
16445 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
16446
16447 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
16448 (readkey): Likewise.
16449
16450 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
16451
16452 Multiple variable names support to "export" command.
16453
16454 * normal/context.c (grub_cmd_export): "export" command supports
16455 multiple variable names.
16456
16457 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
16458
16459 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
16460 --target=drive output to Mach device name.
16461
16462 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
16463
16464 New Automake based build system for GRUB.
16465
16466 * ABOUT-NLS: New file.
16467 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
16468 in Makefile.util.def file.
16469 * Makefile.util.def: New file. Autogen build definitions file for
16470 GRUB host utils.
16471 * conf/Makefile.common: New file. Common variables for GRUB host
16472 utils and target modules.
16473 * conf/Makefile.extra-dist: New file. Extra files for make dist.
16474 * docs/Makefile.am: New file. Automake file for docs.
16475 * gentpl.py: New file. Python script to generate Autogen
16476 template.
16477 * grub-core/Makefile.am: New file. GRUB target modules' rules
16478 that doesn't fit in Makefile.core.def file.
16479 * grub-core/Makefile.core.def: New file. Autogen build
16480 definitions file for GRUB target modules.
16481 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
16482 specific setjmp.S file.
16483 * po/Makefile.am: New file.
16484
16485 * .bzrignore: New ignores.
16486 * INSTALL: New requirements, without Ruby.
16487 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
16488 * autogen.sh: Updated to invoke autogen as necessary.
16489 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
16490 and defines for Automake conditionals.
16491 * geninit.sh: Refactoring.
16492
16493 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
16494 necessary.
16495 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
16496 New prototype.
16497
16498 * include/grub/test.h: Fix functional test modules' naming.
16499 * grub-core/tests/example_functional_test.c: Fix test module name.
16500
16501 * util/misc.c: Hosted versions' of grub functions for libgrub.a
16502 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
16503 * util/grub-editenv.c: Likewise.
16504 * util/grub-fstest.c: Likewise.
16505 * util/grub-mkdevicemap.c: Likewise.
16506 * util/grub-mkfont.c: Likewise.
16507 * util/grub-mkimage.c: Likewise.
16508 * util/grub-mkpasswd-pbkdf2.c: Likewise.
16509 * util/grub-probe.c: Likewise.
16510 * util/grub-script-check.c: Likewise.
16511 * util/i386/pc/grub-setup.c: Likewise.
16512 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16513
16514 * tests/util/grub-shell.in: Fix override directory path.
16515 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
16516 * util/import_gcry.py: Create Makefile.gcry.def file instead.
16517
16518 * util/lvm.c: Update #includes.
16519 * util/raid.c: Likewise.
16520 * util/resolve.c: Likewise.
16521 * grub-core/bus/emu/pci.c: Likewise.
16522 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
16523 * grub-core/lib/posix_wrap/string.h: Likewise.
16524 * grub-core/kern/emu/main.c: Likewise.
16525
16526 * grub-core/gensymlist.sh: New file. Script for generating kernel
16527 symbols file.
16528 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
16529
16530 * grub-core/gentrigtables.c: Fix unused variable warnings.
16531
16532 * Makefile.in: Removed.
16533 * conf/any-emu.rmk: Removed.
16534 * conf/common.rmk: Removed.
16535 * conf/i386-coreboot.rmk: Removed.
16536 * conf/i386-efi.rmk: Removed.
16537 * conf/i386-ieee1275.rmk: Removed.
16538 * conf/i386-multiboot.rmk: Removed.
16539 * conf/i386-pc.rmk: Removed.
16540 * conf/i386-qemu.rmk: Removed.
16541 * conf/i386.rmk: Removed.
16542 * conf/mips-yeeloong.rmk: Removed.
16543 * conf/mips.rmk: Removed.
16544 * conf/powerpc-ieee1275.rmk: Removed.
16545 * conf/sparc64-ieee1275.rmk: Removed.
16546 * conf/tests.rmk: Removed.
16547 * conf/x86-efi.rmk: Removed.
16548 * conf/x86_64-efi.rmk: Removed.
16549 * gendistlist.sh: Removed.
16550 * geninitheader.sh: Removed.
16551 * genkernsyms.sh.in: Removed.
16552 * genmk.rb: Removed.
16553 * gensymlist.sh.in: Removed.
16554 * mkinstalldirs: Removed.
16555 * boot: Moved ...
16556 * grub-core/boot: ... to here.
16557 * bus: Moved ...
16558 * grub-core/bus: ... to here.
16559 * commands: Moved ...
16560 * grub-core/commands: ... to here.
16561 * disk: Moved ...
16562 * grub-core/disk: ... to here.
16563 * efiemu: Moved ...
16564 * grub-core/efiemu: ... to here.
16565 * font: Moved ...
16566 * grub-core/font: ... to here.
16567 * fs: Moved ...
16568 * grub-core/fs: ... to here.
16569 * gencmdlist.sh: Moved ...
16570 * grub-core/gencmdlist.sh: ... to here.
16571 * genemuinit.sh: Moved ...
16572 * grub-core/genemuinit.sh: ... to here.
16573 * genemuinitheader.sh: Moved ...
16574 * grub-core/genemuinitheader.sh: ... to here.
16575 * genfslist.sh: Moved ...
16576 * grub-core/genfslist.sh: ... to here.
16577 * genhandlerlist.sh: Moved ...
16578 * grub-core/genhandlerlist.sh: ... to here.
16579 * genmoddep.awk: Moved ...
16580 * grub-core/genmoddep.awk: ... to here.
16581 * genmodsrc.sh: Moved ...
16582 * grub-core/genmodsrc.sh: ... to here.
16583 * genpartmaplist.sh: Moved ...
16584 * grub-core/genpartmaplist.sh: ... to here.
16585 * genparttoollist.sh: Moved ...
16586 * grub-core/genparttoollist.sh: ... to here.
16587 * genterminallist.sh: Moved ...
16588 * grub-core/genterminallist.sh: ... to here.
16589 * gentrigtables.c: Moved ...
16590 * grub-core/gentrigtables.c: ... to here.
16591 * genvideolist.sh: Moved ...
16592 * grub-core/genvideolist.sh: ... to here.
16593 * gettext: Moved ...
16594 * grub-core/gettext: ... to here.
16595 * gfxmenu: Moved ...
16596 * grub-core/gfxmenu: ... to here.
16597 * gnulib: Moved ...
16598 * grub-core/gnulib: ... to here.
16599 * hello: Moved ...
16600 * grub-core/hello: ... to here.
16601 * hook: Moved ...
16602 * grub-core/hook: ... to here.
16603 * io: Moved ...
16604 * grub-core/io: ... to here.
16605 * kern: Moved ...
16606 * grub-core/kern: ... to here.
16607 * lib: Moved ...
16608 * grub-core/lib: ... to here.
16609 * loader: Moved ...
16610 * grub-core/loader: ... to here.
16611 * mmap: Moved ...
16612 * grub-core/mmap: ... to here.
16613 * normal: Moved ...
16614 * grub-core/normal: ... to here.
16615 * partmap: Moved ...
16616 * grub-core/partmap: ... to here.
16617 * parttool: Moved ...
16618 * grub-core/parttool: ... to here.
16619 * script: Moved ...
16620 * grub-core/script: ... to here.
16621 * term: Moved ...
16622 * grub-core/term: ... to here
16623 * tests/example_functional_test.c: Moved ...
16624 * grub-core/tests/example_functional_test.c: ... to here.
16625 * tests/lib/functional_test.c: Moved ...
16626 * grub-core/tests/lib/functional_test.c: ... to here.
16627 * tests/lib/test.c: Moved ...
16628 * grub-core/tests/lib/test.c: ... to here.
16629 * video: Moved ...
16630 * grub-core/video: ... to here.
16631
16632 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
16633
16634 Replace --enable-grub-emu-modules with grub-emu-lite.
16635
16636 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
16637 cache.S.
16638
16639 * include/grub/emu/misc.h (grub_emu_init): New prototype.
16640 * kern/emu/full.c: New file. For grub-emu specific initialization.
16641 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
16642 * kern/emu/main.c: Call initialization function grub_emu_init.
16643
16644 * Makefile.in: Include grub-emu-lite in install.
16645 * commands/parttool.c: Use grub_no_autoload to differentiate
16646 between grub-emu and grub-emu-lite.
16647 * include/grub/misc.h: New variable grub_no_autoload.
16648
16649 * conf/any-emu.rmk: New rules for grub-emu-lite.
16650 * configure.ac: Remove --enable-grub-emu-modules.
16651 * genmk.rb: Cleanup unnecessary rules.
16652 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
16653
16654 * normal/main.c: Don't load list files on grub-emu-lite.
16655 * util/misc.c (grub_arch_sync_caches): Removed.
16656
16657 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
16658
16659 * kern/mips/startup.S (grub_prefix): Update comment to refer to
16660 grub-mkimage rather than grub-mkelfimage.
16661 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
16662
16663 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
16664
16665 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
16666 a key after CapsLock or NumLock. It's just a qemu bug.
16667
16668 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
16669
16670 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
16671 needed by libusb wrapper.
16672
16673 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
16674
16675 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
16676
16677 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
16678
16679 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
16680 --nounzip is passed.
16681
16682 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
16683
16684 USB hotunplugging and USB serial support.
16685
16686 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
16687 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
16688 (grub_uhci_transfer): Respect timeout and set *actual.
16689 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
16690 non-standard length.
16691 (grub_usb_device_attach): Autoload modules.
16692 (GRUB_MOD_INIT): Set grub_term_poll_usb.
16693 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
16694 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
16695 users updated.
16696 (grub_usb_add_hub): Fill nports and children.
16697 (attach_root_port): Receive hub instead of controller.
16698 All users updated. Fill hub->devices.
16699 (grub_usb_root_hub): Allocate hub->devices.
16700 (detach_device): New function.
16701 (poll_nonroot_hub): Fill children and detach devices.
16702 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
16703 actual arguments. All users updated.
16704 (grub_usb_bulk_read_extended): New function.
16705 * bus/usb/serial/common.c: New file.
16706 * bus/usb/serial/ftdi.c: Likewise.
16707 * bus/usb/serial/pl2303.c: Likewise.
16708 * commands/terminal.c (handle_command): Support wildcard.
16709 * commands/usbtest.c: Output "Unknown" instead of empty string.
16710 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
16711 (usbserial_common_mod_SOURCES): New variable.
16712 (usbserial_common_mod_CFLAGS): Likewise.
16713 (usbserial_common_mod_LDFLAGS): Likewise.
16714 (pkglib_MODULES): Add usbserial_pl2303.mod.
16715 (usbserial_pl2303_mod_SOURCES): New variable.
16716 (usbserial_pl2303_mod_CFLAGS): Likewise.
16717 (usbserial_pl2303_mod_LDFLAGS): Likewise.
16718 (pkglib_MODULES): Add usbserial_ftdi.mod.
16719 (usbserial_ftdi_mod_SOURCES): New variable.
16720 (usbserial_ftdi_mod_CFLAGS): Likewise.
16721 (usbserial_ftdi_mod_LDFLAGS): Likewise.
16722 (pkglib_MODULES): Add serial.mod.
16723 (serial_mod_SOURCES): New variable.
16724 (serial_mod_CFLAGS): Likewise.
16725 (serial_mod_LDFLAGS): Likewise.
16726 * conf/i386-pc.rmk: Likewise.
16727 * conf/mips-yeeloong.rmk: Likewise.
16728 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
16729 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
16730 * disk/usbms.c (first_available_slot): New variable.
16731 (grub_usbms_attach): Don't reuse free slots due to potential cache
16732 problems.
16733 * include/grub/serial.h: Moved to ..
16734 * include/grub/ns8250.h: ...this.
16735 * include/grub/serial.h: New file.
16736 * include/grub/term.h (grub_term_poll_usb): New variable.
16737 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
16738 readkey. All users updated.
16739 (grub_terminfo_output_state): Pass term to put.
16740 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
16741 (grub_usb_controller_dev): Add timeout and actual arguments to
16742 transfer. All users updated.
16743 (grub_usb_interface): New field detach_data.
16744 (grub_usb_device): New fields children and nports.
16745 (grub_usb_ep_type_t): New type.
16746 (grub_usb_get_ep_type): New function.
16747 (grub_usb_bulk_read_extended): Likewise.
16748 * include/grub/usbdesc.h (grub_usb_desc): New type.
16749 * include/grub/usbserial.h: New file.
16750 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
16751 * kern/term.c (grub_term_poll_usb): New variable.
16752 (grub_getkey): Call grub_term_poll_usb if set.
16753 (grub_checkkey): Likewise.
16754 (grub_getkeystatus): Likewise.
16755 * term/serial.c: Moved controller-specific parts to ...
16756 * term/ns8250.c: ... here.
16757 * term/serial.c: Mostly rewritten.
16758 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
16759 according to spec.
16760
16761 2010-08-20 Robert Millan <rmh@gnu.org>
16762
16763 Make kFreeBSD code more generic to support ext2fs as root, ufs as
16764 a separate module and maybe other interesting combinations.
16765
16766 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
16767 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
16768 (kfreebsd_entry): Add generic filesystem module load routine.
16769 Map GRUB `ext2' to kFreeBSD `ext2fs'.
16770
16771 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
16772
16773 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
16774 "numcenter" (I misunderstood the purpose of this entry).
16775 * docs/grub.texi (sendkey): Likewise.
16776
16777 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
16778
16779 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
16780 status flag options; simply omitting the option is equivalent and
16781 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
16782 (keysym_table): Rename "num5numlock" to "numlock".
16783 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
16784 can uniformly say that only the last of multiple `sendkey'
16785 invocations has any effect.
16786 * docs/grub.texi (sendkey): New section.
16787
16788 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
16789
16790 * commands/i386/pc/sendkey.c (options): Fix three typos.
16791
16792 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16793
16794 Implement sendkey support.
16795
16796 * commands/i386/pc/sendkey.c: New file.
16797 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
16798 (sendkey_mod_SOURCES): New variable.
16799 (sendkey_mod_CFLAGS): Likewise.
16800 (sendkey_mod_LDFLAGS): Likewise.
16801
16802 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
16803
16804 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
16805 fix warnings from Autoconf.
16806
16807 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
16808
16809 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
16810 to avoid false positives with some assemblers that output things
16811 like "someprefix_func" as part of their output.
16812
16813 2010-08-15 Robert Millan <rmh@gnu.org>
16814
16815 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
16816 errors.
16817 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
16818 grub_get_libzfs_handle() errors.
16819
16820 2010-08-14 Robert Millan <rmh@gnu.org>
16821
16822 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
16823 filesystem is not ZFS.
16824
16825 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16826
16827 Fix for misspelled color names defaulting to black/black (bug
16828 reported by Doug Nazar)
16829
16830 * include/grub/normal.h (grub_parse_color_name_pair): Add return
16831 status to prototype.
16832 * normal/color.c (grub_parse_color_name_pair): Return failure
16833 status.
16834 (grub_env_write_color_normal): Ignore bad color names.
16835 (grub_env_write_color_highlight): Likewise.
16836 * normal/main.c (GRUB_MOD_INIT): Set default color names.
16837
16838 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16839
16840 "shift" command support to GRUB script.
16841
16842 * include/grub/script_sh.h (grub_script_shift): New prototype.
16843 * script/execute.c (grub_script_shift): New function.
16844 * script/main.c (grub_script_init): Register shift command.
16845 (grub_script_fini): Unregister shift command.
16846 * util/grub-script-check.c (grub_script_cmd_shift): New function.
16847
16848 * tests/grub_script_shift.in: New testcase.
16849 * conf/tests.rmk: Rules for new testcase.
16850
16851 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16852
16853 "continue" command support to GRUB script.
16854
16855 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
16856 (grub_script_break): Continue support.
16857 * script/main.c (grub_script_init): Register continue command.
16858 (grub_script_fini): Unregister continue command.
16859
16860 * tests/grub_script_continue.in: New testcase.
16861 * conf/tests.rmk: Rules for new testcase.
16862
16863 2010-08-12 BVK Chaitanya <bvk@dbook>
16864
16865 "break" command support to GRUB script.
16866
16867 * conf/common.rmk: Rule updates to grub-script-check.
16868 * include/grub/misc.h (grub_min): New function.
16869 * include/grub/script_sh.h (grub_script_init): New prototype.
16870 (grub_script_fini): New prototype.
16871 (grub_script_break): New prototype.
16872 * script/main.c (grub_script_init): New function.
16873 (grub_script_fini): New function.
16874 * script/execute.c (grub_script_break): New function.
16875 * normal/main.c: Calls to grub_script_{init,fini}.
16876 * util/grub-script-check.c (grub_script_break): New function.
16877
16878 * tests/grub_script_break.in: New testcase.
16879 * conf/tests.rmk: Rules for new test case.
16880
16881 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16882
16883 Function parameters support to GRUB script.
16884
16885 * script/yylex.l (VARIABLE): Regular expression update.
16886 * script/function.c (grub_script_function_call): Moved ...
16887 * script/execute.c (grub_script_function_call): ... to here.
16888 (grub_script_execute_arglist_to_argv): Removed.
16889 (grub_script_arglist_to_argv): New function.
16890 * script/argv.c: New file.
16891 (grub_script_argv_free): New function.
16892 (grub_script_argv_next): Likewise.
16893 (grub_script_argv_append): Likewise.
16894 (grub_script_argv_split_append): Likewise.
16895 * include/grub/script_sh.h (grub_script_argv): New struct.
16896 (grub_script_argv_free): New function.
16897 (grub_script_argv_next): Likewise.
16898 (grub_script_argv_append): Likewise.
16899 (grub_script_argv_split_append): Likewise.
16900
16901 * conf/common.rmk (normal.mod): New source script/argv.c.
16902
16903 * tests/grub_script_echo1.in: More tests.
16904 * tests/grub_script_vars1.in: Likewise.
16905 * tests/grub_script_functions.in: New test case.
16906 * conf/tests.rmk: Rules for new testcase.
16907
16908 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16909
16910 Remove grub_script_cmdblock struct.
16911
16912 * include/grub/script_sh.h: Remove grub_script_cmdblock.
16913 * script/parser.y: Likewise.
16914 * script/execute.c: Rename cmdblock suffix to cmdlist.
16915 * script/script.c: Likewise.
16916 * util/grub-script-check.c: Likewise.
16917
16918 2010-08-11 Yves Blusseau <blusseau@zetam.org>
16919
16920 * .bzrignore: add grub-macho2img
16921
16922 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
16923
16924 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
16925
16926 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
16927
16928 Remove the dump of sm712 initialisation sequence.
16929
16930 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
16931 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
16932 (GRUB_VGA_IO_MISC_WRITE): Likewise.
16933 (GRUB_VGA_CR_*): Added many registers.
16934 (GRUB_VGA_SR_*): Likewise.
16935 (GRUB_VGA_GR_*): Likewise.
16936 (grub_vga_write_arx): New function.
16937 (grub_video_hw_config): New struct.
16938 (grub_vga_set_geometry): New function.
16939 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
16940 GRUB_PCI_CLASS_SUBCLASS_VGA.
16941 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
16942 * video/sm712.c (grub_sm712_write_reg): New function
16943 (grub_sm712_read_reg): Likewise.
16944 (grub_sm712_sr_write): Likewise.
16945 (grub_sm712_gr_write): Likewise.
16946 (grub_sm712_cr_write): Likewise.
16947 (grub_sm712_write_arx): Likewise.
16948 (grub_sm712_cr_shadow_write): Likewise.
16949 (grub_sm712_write_dda_lookup): Likewise.
16950 (grub_video_sm712_setup): Initialise the video rather then
16951 blindly replay the dump.
16952 (main) [TEST]: Add a routine to be able to compile as standalone for
16953 tests.
16954 * video/sm712_init.c (sm712_init): Removed.
16955 (sm712_sr_seq1): New array.
16956 (sm712_sr_seq2): Likewise.
16957
16958 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
16959
16960 * include/grub/vga.h: Add missing grub/pci.h include.
16961
16962 2010-08-10 Yves Blusseau <blusseau@zetam.org>
16963
16964 * util/grub-macho2img.c (main): fix typo
16965
16966 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
16967
16968 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
16969 (grub_vga_gr_read): Likewise.
16970 (grub_vga_cr_write): Likewise.
16971 (grub_vga_cr_read): Likewise.
16972 (grub_vga_sr_write): Likewise.
16973 (grub_vga_sr_read): Likewise.
16974 (grub_vga_palette_read): Likewise.
16975 (grub_vga_palette_write): Likewise.
16976 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
16977 (grub_sm712_sr_read): New function.
16978 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
16979 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
16980
16981 2010-08-09 Robert Millan <rmh@gnu.org>
16982
16983 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
16984 out unused variables on non-ZFS build.
16985
16986 2010-08-08 Robert Millan <rmh@gnu.org>
16987
16988 Fix path generation for sub-filesystems in ZFS.
16989
16990 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
16991 missing slash.
16992
16993 2010-08-08 Robert Millan <rmh@gnu.org>
16994
16995 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
16996
16997 2010-08-08 Robert Millan <rmh@gnu.org>
16998
16999 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
17000 exist, issue a proper error message (rely on `ls' for translated
17001 strings).
17002
17003 2010-08-08 Robert Millan <rmh@gnu.org>
17004
17005 Fix grub-probe invocation.
17006
17007 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
17008
17009 2010-08-04 Robert Millan <rmh@gnu.org>
17010
17011 * configure.ac: Remove checks for getfsstat() and getmntany().
17012 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
17013 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
17014 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
17015 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
17016 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
17017 function.
17018 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
17019 via find_mount_point_from_dir() and getfsstat() / getmntany().
17020
17021 2010-08-04 Robert Millan <rmh@gnu.org>
17022
17023 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17024 (grub_find_zpool_from_mount_point): Merge into ...
17025 (grub_find_zpool_from_dir): ... this.
17026 * kern/emu/misc.c: Likewise.
17027
17028 * kern/emu/misc.c
17029 (grub_make_system_path_relative_to_its_root): Replace
17030 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
17031 with grub_find_zpool_from_dir().
17032 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
17033
17034 2010-08-04 Robert Millan <rmh@gnu.org>
17035
17036 Support OpenSolaris in ZFS device resolution.
17037
17038 * configure.ac: Check for getmntany().
17039 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
17040 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
17041 support.
17042
17043 2010-08-03 Robert Millan <rmh@gnu.org>
17044
17045 Fix grub-emu build.
17046
17047 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
17048 * include/grub/emu/misc.h: ... here.
17049
17050 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
17051 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
17052
17053 * util/misc.c: Remove `<grub/util/libzfs.h>'.
17054 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
17055 (grub_get_libzfs_handle): Move to ...
17056 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
17057 (grub_get_libzfs_handle): ... here.
17058
17059 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
17060
17061 * script/execute.c (grub_script_execute_cmdline): Check for NULL
17062 as command name case.
17063
17064 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
17065
17066 * disk/raid.c (insert_array): Select unique numbers for named arrays
17067 as well, for use as keys in the disk cache.
17068
17069 2010-08-01 Robert Millan <rmh@gnu.org>
17070
17071 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
17072 kFreeBSD device name, except on ZFS where the filesystem label is
17073 used.
17074 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
17075 `/boot/zfs/zpool.cache'.
17076 Set mountfrom kernel variable using ${kfreebsd_device}.
17077
17078 2010-08-01 Robert Millan <rmh@gnu.org>
17079
17080 Make it even harder to use uninitialized `libzfs_handle' (and
17081 make the interface a bit simpler).
17082
17083 * include/grub/util/misc.h (grub_util_init_libzfs)
17084 (libzfs_handle): Remove.
17085 (grub_get_libzfs_handle): New prototype.
17086
17087 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
17088 attribute.
17089 (grub_util_init_libzfs): Remove.
17090 (grub_get_libzfs_handle): New function.
17091
17092 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
17093 grub_get_libzfs_handle() to obtain a libzfs handle instead of
17094 accessing `libzfs_handle' directly.
17095
17096 2010-08-01 Robert Millan <rmh@gnu.org>
17097
17098 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17099 (grub_find_zpool_from_mount_point): New function prototypes.
17100
17101 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
17102 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
17103
17104 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
17105 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
17106 `static' attribute.
17107
17108 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
17109 finding zpool from mount point into ...
17110 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
17111
17112 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
17113 requested path is part of a ZFS pool, use
17114 grub_find_zpool_from_mount_point() to detect its filesystem name,
17115 and generate a path with `/fsname@path' syntax.
17116
17117 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17118
17119 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
17120 (void) rather than () so that this is a proper prototype.
17121
17122 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17123
17124 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
17125
17126 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17127
17128 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
17129 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
17130
17131 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17132
17133 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
17134
17135 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17136
17137 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
17138
17139 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17140
17141 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
17142 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
17143 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
17144 disable gfxpayload.
17145 (Shell-like scripting): Add real content.
17146 (Serial terminal): Suggest `terminal_input serial; terminal_output
17147 serial' rather than putting the two commands on separate lines,
17148 since console input will be inoperative after the first command.
17149 (menuentry): Document --class, --users, and --hotkey options.
17150 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
17151 Vladimir Serbinenko).
17152
17153 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17154 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17155
17156 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
17157
17158 2010-08-01 Robert Millan <rmh@gnu.org>
17159
17160 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17161 (grub_find_zpool_from_mount_point): New function prototypes.
17162
17163 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
17164 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
17165
17166 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
17167 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
17168 `static' attribute.
17169
17170 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
17171 finding zpool from mount point into ...
17172 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
17173
17174 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
17175 requested path is part of a ZFS pool, use
17176 grub_find_zpool_from_mount_point() to detect its filesystem name,
17177 and generate a path with `/fsname@path' syntax.
17178
17179 2010-08-01 Robert Millan <rmh@gnu.org>
17180
17181 Prevent accidental use of uninitialized libzfs_handle.
17182
17183 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
17184 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
17185 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
17186
17187 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17188
17189 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
17190 util/grub.d/10_linux.in). Fixes Debian bug #591093.
17191
17192 2010-08-01 Robert Millan <rmh@gnu.org>
17193
17194 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
17195
17196 2010-07-31 Robert Millan <rmh@gnu.org>
17197
17198 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
17199
17200 2010-07-31 Robert Millan <rmh@gnu.org>
17201
17202 * kern/emu/misc.c: Add missing license header.
17203
17204 2010-07-31 Robert Millan <rmh@gnu.org>
17205
17206 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
17207
17208 * include/grub/util/libnvpair.h: Include `<config.h>'.
17209 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
17210 declaring libnvpair prototypes ourselves.
17211 * include/grub/util/libzfs.h: Include `<config.h>'.
17212 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
17213 declaring libzfs prototypes ourselves.
17214
17215 (libzfs_handle): Moved to ...
17216 * include/grub/util/misc.h (libzfs_handle): ... here.
17217 Include `<grub/util/libzfs.h>'.
17218
17219 2010-07-30 Robert Millan <rmh@gnu.org>
17220
17221 * include/grub/emu/misc.h: Add missing license header.
17222
17223 2010-07-30 Robert Millan <rmh@gnu.org>
17224
17225 Enable `grub-probe -t device' resolution on ZFS.
17226
17227 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
17228 * include/grub/util/libnvpair.h: New file.
17229 * include/grub/util/libzfs.h: New file.
17230
17231 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
17232 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
17233 `<grub/util/libnvpair.h>'.
17234 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
17235
17236 (find_mount_point_from_dir): New static function.
17237 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
17238 function.
17239 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
17240 find_root_device_from_libzfs() before ressorting to find_root_device().
17241
17242 * include/grub/util/misc.h (grub_util_init_libzfs): New function
17243 prototype.
17244 * util/misc.c: Include `<grub/util/libzfs.h>'.
17245 (grub_util_init_libzfs): New function.
17246 [HAVE_LIBZFS] (libzfs_handle): New global variable.
17247 [HAVE_LIBZFS] (fini_libzfs): New static function.
17248 (grub_util_init_libzfs): New function.
17249 * util/grub-probe.c (main): Call grub_util_init_libzfs().
17250
17251 2010-07-30 Robert Millan <rmh@gnu.org>
17252
17253 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
17254 (xmalloc, xrealloc, xstrdup, xasprintf): Add
17255 `warn_unused_result' attribute.
17256 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
17257 (grub_xasprintf, grub_xvasprintf): Likewise.
17258 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
17259
17260 2010-07-29 Robert Millan <rmh@gnu.org>
17261
17262 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
17263 (probe): Handle `PRINT_FS_LABEL'.
17264 (main): Handle `-t fs_label'.
17265
17266 2010-07-29 Robert Millan <rmh@gnu.org>
17267
17268 * configure.ac: Remove grub-mkisofs checks.
17269
17270 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
17271
17272 * util/ieee1275/grub-install.in: Don't use empty grub_device.
17273 Reported by: Lennart Sorensen.
17274
17275 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17276
17277 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
17278 prior to terminal_input/terminal_output separation. It's been over 1.5
17279 years and those versions weren't widely deployed.
17280
17281 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
17282
17283 * disk/raid.c (insert_array): Don't count named arrays when looking
17284 for unused array numbers.
17285 Reported and tested by: Michael Guntsche.
17286
17287 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17288
17289 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
17290 implementation of this so that grub-emu links again, with a note
17291 that this should support hotplugging in the future.
17292
17293 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17294
17295 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
17296
17297 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17298
17299 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
17300 handle on failure.
17301 (grub_loopback_close): Remove empty function.
17302 (grub_loopback_dev): Remove close method.
17303
17304 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17305
17306 Disable EFI cursor when the EFI console becomes inactive.
17307
17308 * term/efi/console.c (grub_efi_console_init): New function.
17309 (grub_efi_console_fini): New function.
17310 (grub_console_term_output): Register init and fini methods.
17311
17312 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17313
17314 * tests/util/grub-shell-tester.in: Remove bashism and declare as
17315 sh script.
17316
17317 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17318
17319 * disk/loopback.c (grub_loopback): Replace filename with file.
17320 (delete_loopback): Handle new semantics.
17321 (grub_cmd_loopback): Likewise.
17322 (grub_loopback_iterate): Likewise.
17323 (grub_loopback_close): Likewise.
17324
17325 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17326
17327 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
17328 with -p "".
17329 Reported by: Tito Keitel.
17330
17331 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17332
17333 * docs/grub.texi (Naming convention): Document new naming convention.
17334
17335 2010-07-20 Vadim Solomin <vadic052@gmail.com>
17336 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17337
17338 Generate device.map in something closer to the old ordering.
17339
17340 * util/deviceiter.c (struct device): New declaration.
17341 (compare_file_names): Rename to ...
17342 (compare_devices): ... this. Sort by kernel name in preference to
17343 the stable by-id name, but keep the latter as a fallback comparison.
17344 Update header comment.
17345 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
17346 of `struct device' rather than of plain file names.
17347
17348 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
17349
17350 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
17351 on i386.
17352
17353 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17354
17355 * commands/acpi.c (setup_common_tables): Use sizeof instead of
17356 hardcoding size.
17357 (setv1table): Likewise.
17358
17359 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17360
17361 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
17362 removing the homehost if present.
17363 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
17364 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
17365 removing the homehost if present.
17366 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
17367 if possible.
17368 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
17369
17370 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
17371 parameter. Set its pointer target to 0.
17372 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
17373 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
17374 `data_offset' value from the superblock for 1.x metadata.
17375 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
17376 data on the device.
17377 (insert_array): Record the start sector of data on the device.
17378 (grub_raid_register): Pass start_sector parameters to
17379 grub_raid_list->detect and insert_array.
17380 * include/grub/raid.h (struct grub_raid_array): Add start_sector
17381 member.
17382 (struct grub_raid): Add start_sector parameter to `detect'.
17383
17384 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
17385 __attribute__ ((packed)), leaving a comment.
17386 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
17387 (grub_mdraid_detect_09): ... here and ...
17388 (grub_mdraid_detect_1x): ... here.
17389
17390 2010-07-20 Peter Henn <peter.henn@web.de>
17391
17392 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
17393 chunk size and disk size, which are already given as sector counts
17394 as distinct from the 0.90 units. Fetch the correct device number
17395 from the role table instead of using the table index.
17396
17397 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
17398
17399 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
17400 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
17401 (WriteMostly1): New macro.
17402 Set array->name to NULL for metadata format 0.90. Add support for
17403 metadata 1.x. Fix some comments.
17404 * disk/raid.c (): Add support for name based RAID arrays. Fix a
17405 few comments.
17406 * util/getroot.c (grub_util_get_grub_dev): Add support for
17407 /dev/md/name style devices.
17408
17409 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17410
17411 * .bzrignore: Ignore 20_linux_xen.
17412
17413 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
17414
17415 * util/import_unicode.py: Remove unnecessary imports.
17416
17417 2010-07-17 Aleš Nesrsta <starous@volny.cz>
17418
17419 Hotplugging and USB hub support.
17420
17421 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
17422 (grub_ohci): Likewise.
17423 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
17424 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
17425 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
17426 (GRUB_OHCI_CTRL_EDS): Likewise.
17427 (GRUB_OHCI_BULK_EDS): Likewise.
17428 (GRUB_OHCI_TDS): Likewise.
17429 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
17430 (grub_ohci_ed_phys2virt): New function.
17431 (grub_ohci_virt_to_phys): Likewise.
17432 (grub_ohci_td_phys2virt): Likewise.
17433 (grub_ohci_td_virt2phys): Likewise.
17434 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
17435 attachment.
17436 (grub_ohci_find_ed): New function.
17437 (grub_ohci_alloc_td): Likewise.
17438 (grub_ohci_free_td): Likewise.
17439 (grub_ohci_free_tds): Likewise.
17440 (grub_ohci_transfer): Use previously allocated memory.
17441 (grub_ohci_portstatus): Reset status changed bit.
17442 (grub_ohci_detect_dev): Supply status changed.
17443 (grub_ohci_fini_hw): Free memory.
17444 (grub_ohci_restore_hw): Reallocate memory.
17445 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
17446 Reset status change.
17447 (grub_uhci_detect_dev): Supply status_change.
17448 * bus/usb/usb.c (attach_hooks): New var.
17449 (grub_usb_device_attach): New function.
17450 (grub_usb_register_attach_hook_class): Likewise.
17451 (grub_usb_unregister_attach_hook_class): Likewise.
17452 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
17453 (grub_usb_add_hub): Reset connection changed bit.
17454 (attach_root_port): New function.
17455 (grub_usb_root_hub): Likewise.
17456 (poll_nonroot_hub): Likewise.
17457 (grub_usb_poll_devices): Likewise.
17458 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
17459 * disk/usbms.c (grub_usbms_open): Use device hooks.
17460 (grub_usbms_iterate) :Poll devices.
17461 (grub_usbms_finddevs): Split into ...
17462 (grub_usbms_attach): ... this ...
17463 (grub_usbms_attach): ... and this.
17464 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
17465 in detect_dev.
17466 (grub_usb_interface): New fields attached and detach_hook.
17467 (grub_usb_attach_hook_class): New type.
17468 (grub_usb_attach_desc): New struct.
17469 (grub_usb_register_attach_hook_class): New function.
17470 (grub_usb_unregister_attach_hook_class): Likewise.
17471 (grub_usb_poll_devices): Likewise.
17472 (grub_usb_device_attach): Likewise.
17473 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
17474 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
17475
17476 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
17477
17478 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
17479 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
17480 delta determination style. Works with most NetBSD partitions too.
17481
17482 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
17483
17484 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
17485 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
17486
17487 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
17488
17489 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
17490
17491 2010-07-14 Anton Blanchard <anton@samba.org>
17492
17493 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
17494 ET_DYN files.
17495
17496 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17497
17498 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
17499
17500 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17501
17502 * kern/partition.c (grub_partition_check_containment): New function to
17503 check that a partition is physically contained in a parent. Since
17504 offsets are relative (and non-negative), this reduces to checking that
17505 the partition ends before its parent.
17506 (grub_partition_map_probe): Discard out-of-range sub-partitions.
17507 (grub_partition_iterate): Likewise.
17508 * include/grub/partition.h (grub_partition_map): Slightly more detailed
17509 comments.
17510 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
17511 partitions that start before their parent, and add debug printfs.
17512
17513 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
17514
17515 * Makefile.in (.SUFFIX): Spell correctly, as ...
17516 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
17517 bare module name without `.mod', e.g. `test') tried to invoke a
17518 Modula-2 compiler.
17519
17520 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
17521
17522 * README: Point to the Info manual.
17523
17524 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
17525
17526 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
17527 2nd superblock position from partition size.
17528
17529 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
17530
17531 * Makefile.in (MAINTAINER_CLEANFILES): Remove
17532 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
17533 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
17534 outputs.
17535
17536 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17537
17538 Restructure SCSI .id handling.
17539 Reported and tested by: Aleš Nesrsta.
17540
17541 * disk/ata.c (grub_atapi_close): Removed. All users updated.
17542 (grub_atapi_dev): Changed .name to "ata". New field .id.
17543 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
17544 (grub_usbms_dev): New field .id.
17545 * disk/scsi.c (grub_scsi_iterate): Generate name.
17546 (grub_scsi_open): Parse name.
17547 * include/grub/scsi.h (grub_make_scsi_id): New function.
17548 (grub_scsi_dev): Change iterate and open to number instead of naming
17549 busses. All users updated.
17550 (grub_scsi): Remove name. Add .bus.
17551
17552 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17553
17554 * commands/help.c (grub_cmd_help): Fix a typo.
17555
17556 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17557
17558 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
17559 Reported and tested by: Colin Watson.
17560
17561 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17562
17563 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
17564 in this context.
17565
17566 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
17567
17568 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
17569
17570 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
17571
17572 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
17573 indentation.
17574
17575 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
17576
17577 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
17578 and disk/raid6_recover.c.
17579 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
17580 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
17581
17582 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
17583
17584 * term/gfxterm.c (repaint_schedulded): Rename to ...
17585 (repaint_scheduled): ... this. Update all callers.
17586 (repaint_was_schedulded): Rename to ...
17587 (repaint_was_scheduled): ... this. Update all callers.
17588
17589 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
17590
17591 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
17592 which we expect to be handled by upper layers.
17593
17594 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
17595
17596 * bus/usb/usbhub.c: #include time.h header.
17597
17598 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
17599
17600 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
17601 entry_name also for entries without stat blocks (e.g. ".."); fixes
17602 corruption of the first entry in a directory.
17603
17604 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
17605
17606 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
17607 after setting gfxterm as the active terminal. GRUB_BACKGROUND
17608 doesn't work otherwise.
17609
17610 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
17611
17612 * docs/grub.texi (Features): Update list of supported file systems.
17613 (GNU/Linux): Update for GRUB 2.
17614 (Serial terminal): Remove mention of --disable-serial, which was a
17615 GRUB Legacy configure option. Update instructions to use
17616 `terminal_input' and `terminal_output' rather than `terminal'.
17617 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
17618 configuration' and `Installing GRUB using grub-install'.
17619 (Menu entry editor): Update for GRUB 2.
17620 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
17621 Document new -a, -u, and -v options.
17622 (initrd): New section.
17623 (initrd16): New section.
17624 (linux): New section.
17625 (linux16): New section.
17626 (search): The `var' argument to `--set' is optional.
17627 (GRUB only offers a rescue shell): Go into a little more detail on
17628 drive ordering.
17629
17630 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
17631
17632 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
17633
17634 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
17635
17636 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
17637 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
17638
17639 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
17640
17641 * util/i386/pc/grub-setup.c (setup): Rename prefix to
17642 install_prefix, in line with install_dos_part and install_bsd_part.
17643 Add new prefix variable, which is copied to install_prefix after
17644 comparing core.img in memory with the one read from disk in the
17645 no-embedding case, and use that rather than overwriting
17646 install_prefix immediately when installing to a partition.
17647 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
17648 Bicakci.
17649
17650 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
17651
17652 * configure.ac: Avoid == in test command, it's not portable.
17653 * util/grub.d/30_os-prober.in: Likewise.
17654
17655 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
17656
17657 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
17658
17659 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
17660
17661 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
17662 multiple (top-level) partmaps.
17663
17664 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17665
17666 * util/i386/efi/grub-install.in: Don't use empty grub_device.
17667 Reported by: Tino Keitel.
17668
17669 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17670
17671 Bidi and diacritics support.
17672
17673 * Makefile.in (widthspec.bin): New target.
17674 (widthspec.h): Likewise.
17675 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
17676 * autogen.sh: Generate unidata.c.
17677 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
17678 * commands/ls.c (grub_ls_list_devices): Likewise.
17679 (grub_ls_list_files): Likewise.
17680 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
17681 (grub_mini_cmd_lsmod): Likewise.
17682 * commands/read.c: Likewise.
17683 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
17684 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
17685 * lib/arg.c (grub_arg_show_help): Likewise.
17686 * lib/crypto.c (grub_password_get): Likewise.
17687 * normal/auth.c (grub_username_get): Likewise.
17688 * normal/misc.c (grub_normal_print_device_info): Likewise.
17689 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
17690 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
17691 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
17692 (normal/charset.c_DEPENDENCIES): New variable.
17693 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
17694 (pkglib_MODULES): Remove charset.mod.
17695 (charset_mod_SOURCES): Removed.
17696 (charset_mod_CFLAGS): Likewise.
17697 (charset_mod_LDFLAGS): Likewise.
17698 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
17699 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
17700 and term/tparm.c.
17701 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17702 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17703 (kernel_img_HEADERS): Add terminfo.h.
17704 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
17705 Fill ->font. Reverse ascii bitmaps.
17706 (grub_font_get_xheight): New function.
17707 * font/font.c (grub_font_get_string_width): Moved from here ...
17708 * gfxmenu/font.c (grub_font_get_string_width): ... here.
17709 * font/font.c (grub_font_draw_string): Moved from here ...
17710 * gfxmenu/font.c (grub_font_draw_string): ... here.
17711 * font/font.c (grub_font_dup_glyph): New function.
17712 (grub_font_blit_glyph): Likewise.
17713 (grub_font_blit_glyph_mirror): Likewise.
17714 (blit_comb): Likewise.
17715 (grub_font_construct_dry_run): Likewise.
17716 (grub_font_get_constructed_device_width): Likewise.
17717 (grub_font_construct_glyph): Likewise.
17718 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
17719 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
17720 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
17721 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
17722 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
17723 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
17724 (grub_font_get_xheight): New proto.
17725 (grub_font_get_constructed_device_width): Likewise.
17726 (grub_font_construct_glyph): Likewise.
17727 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
17728 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
17729 * include/grub/font.h (grub_font_draw_string): Moved from here ...
17730 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
17731 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
17732 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
17733 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
17734 (grub_console_getcharwidth): Likewise.
17735 * include/grub/misc.h (grub_xputs): New proto.
17736 (grub_puts): Inlined.
17737 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
17738 (grub_normal_get_line_counter): Removed.
17739 (grub_install_newline_hook): Likewise.
17740 (grub_normal_get_char_counter): New proto.
17741 (grub_normal_reset_more): Likewise.
17742 (grub_xputs_normal): Likewise.
17743 * include/grub/powerpc/ieee1275/console.h: Removed.
17744 * include/grub/sparc64/ieee1275/console.h: Likewise.
17745 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
17746 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
17747 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
17748 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
17749 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
17750 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
17751 (grub_term_input): Pass reference to self. All users updated.
17752 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
17753 Pass reference to self. New fields normal_color, highlight_color and
17754 data. All users updated.
17755 (grub_putchar): Removed.
17756 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
17757 (grub_unicode_estimate_width): New function.
17758 (grub_term_getcharwidth): Add defaults.
17759 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
17760 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
17761 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
17762 (grub_cls): Remove EXPORT_FUNC.
17763 (grub_setcolorstate): Inline.
17764 (grub_newline_hook): Removed.
17765 * include/grub/terminfo.h: Rewritten. All users updated.
17766 * include/grub/unicode.h: New file.
17767 * include/grub/video.h (grub_video_signed_rect): New type.
17768 * kern/emu/console.c (grub_console_highlight_color): Removed.
17769 (grub_console_normal_color): Likewise.
17770 (grub_console_standard_color): Made static.
17771 (grub_ncurses_putchar): Remove mapping.
17772 (grub_ncurses_getcharwidth): Removed.
17773 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
17774 (grub_ncurses_setcolor): Removed.
17775 (grub_ncurses_getcolor): Likewise.
17776 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
17777 (grub_console_putchar): ... this.
17778 (grub_console_putchar): Handle argument difference.
17779 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
17780 console_init_early and console_init_lately.
17781 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
17782 * kern/misc.c (grub_puts): Removed.
17783 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
17784 (grub_vsnprintf_real): Remove str = NULL support.
17785 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
17786 * normal/charset.c (grub_utf8_to_ucs4): ... here.
17787 * kern/term.c (grub_putcode): Renamed to ...
17788 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
17789 (grub_putchar): Removed.
17790 (grub_xputs_dumb): New function.
17791 (grub_xputs): New variable.
17792 * lib/charset.c: Move from here ...
17793 * normal/charset.c: ... to here.
17794 (grub_ucs4_to_utf8): New function.
17795 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
17796 (join_types): New variable.
17797 (unpack_join): New function.
17798 (bidi_types): New variable.
17799 (unpack_bidi): New function.
17800 (get_bidi_type): Likewise.
17801 (get_join_type): Likewise.
17802 (is_mirrored): Likewise.
17803 (grub_unicode_get_comb_type): Likewise.
17804 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
17805 (is_type_after): Likewise.
17806 (grub_unicode_aglomerate_comb): Likewise.
17807 (bidi_line_wrap): Likewise.
17808 (grub_bidi_line_logical_to_visual): Likewise.
17809 (grub_bidi_logical_to_visual): Likewise.
17810 (grub_unicode_mirror_code): Likewise.
17811 (grub_unicode_shape_code): Likewise.
17812 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
17813 Don't use grub_putchar.
17814 * normal/main.c (grub_normal_init_page): Use grub_putcode.
17815 (grub_normal_reader_init): Likewise.
17816 (grub_xputs_saved): New variable.
17817 (GRUB_MOD_INIT): Set grub_xputs.
17818 (GRUB_MOD_FINI): Restore grub_xputs.
17819 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
17820 (menu_init): Avoid printing gfxmenu error.
17821 (show_menu): Use grub_normal_get_char_counter.
17822 * normal/menu_entry.c (update_screen): Fix out-of-array.
17823 (complete): Avoid NULL dereferencing.
17824 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
17825 * normal/menu_text.c (print_spaces): Removed.
17826 (grub_print_ucs4): Likewise.
17827 (grub_print_message_indented): Use grub_print_ucs4.
17828 (print_message): Use grub_putcode.
17829 (print_entry): Hanlde diacritics.
17830 * normal/term.c (term_state): New type.
17831 (grub_more_lines): Removed.
17832 (term_states): New variable.
17833 (grub_normal_line_counter): Renamed to ..
17834 (grub_normal_char_counter): ...this. All users updated.
17835 (grub_normal_get_line_counter): Renamed to ...
17836 (grub_normal_get_char_counter): ... this.
17837 (grub_normal_reset_more): New function.
17838 (process_newline): Removed.
17839 (print_more): New function.
17840 (grub_install_newline_hook): Removed.
17841 (map_code): New function.
17842 (grub_puts_terminal): Use grub_print_ucs4.
17843 (putglyph): New function.
17844 (putcode_real): Likewise.
17845 (grub_putcode): Use putcode_real.
17846 (get_maxwidth): New function.
17847 (get_startwidth): Likewise.
17848 (print_ucs4_terminal): Likewise.
17849 (find_term_state): Likewise.
17850 (put_glyphs_terminal): Likewise.
17851 (print_backlog): Likewise.
17852 (print_ucs4_real): Likewise.
17853 (grub_print_ucs4): Likewise.
17854 (grub_xputs_normal): Likewise.
17855 * term/efi/console.c (grub_console_putchar): Output diacritics.
17856 (grub_console_getcharwidth): Removed.
17857 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
17858 * term/gfxterm.c (clear_char): Free chars.
17859 (scroll_up): Avoid leaking memory.
17860 (grub_gfxterm_putchar): Support diacritics.
17861 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
17862 * term/i386/pc/console.c (grub_console_term_output): Declare as
17863 GRUB_TERM_CODE_TYPE_VGA.
17864 * term/i386/pc/vga.c (grub_vga_term): Declare as
17865 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
17866 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
17867 GRUB_TERM_CODE_TYPE_VGA.
17868 * term/i386/vga_common.c (map_char): Removed.
17869 (grub_console_putchar): Likewise.
17870 (grub_console_getcharwidth): Likewise.
17871 * term/ieee1275/ofconsole.c: Simplify using terminfo.
17872 (colors): Reordered to match terminfo.
17873 (grub_ofconsole_normal_color): Removed.
17874 (grub_ofconsole_writeesc): Likewise.
17875 (grub_ofconsole_highlight_color): Likewise.
17876 (grub_ofconsole_getcharwidth): Likewise.
17877 (grub_ofconsole_setcolorstate): Likewise.
17878 (grub_ofconsole_setcolor): Likewise.
17879 (grub_ofconsole_getcolor): Likewise.
17880 (grub_ofconsole_readkey): Renamed to ...
17881 (readkey): ... this. Remove escape sequence handling. Return -1 on no
17882 key.
17883 (grub_ofconsole_checkkey): Removed.
17884 (grub_ofconsole_getkey): Likewise.
17885 (grub_ofconsole_getxy): Likewise.
17886 (grub_ofconsole_gotoxy): Likewise.
17887 (grub_ofconsole_cls): Likewise.
17888 (grub_ofconsole_refresh): Likewise.
17889 (grub_ofconsole_terminfo_input): New struct.
17890 (grub_ofconsole_terminfo_output): Likewise.
17891 (grub_ofconsole_term_input): Use terminfo.
17892 (grub_ofconsole_term_output): Likewise.
17893 (grub_console_init): Split into ...
17894 (grub_console_init_early): ...this and ...
17895 (grub_console_init_lately): ...this. Use terminfo.
17896 (grub_ofconsole_putchar): Renamed to ...
17897 (put): ... this. Remove mapping.
17898 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
17899 * term/serial.c: Simplify using terminfo.
17900 (xpos): Removed.
17901 (ypos): Likewise.
17902 (keep_track): Likewise.
17903 (registered): Likewise.
17904 (input_buf): Likewise.
17905 (npending): Likewise.
17906 (serial_translate_key_sequence): Likewise.
17907 (fill_input_buf): Likewise.
17908 (grub_serial_checkkey): Likewise.
17909 (grub_serial_getkey): Likewise.
17910 (grub_serial_getxy): Likewise.
17911 (grub_serial_gotoxy): Likewise.
17912 (grub_serial_putchar): Likewise.
17913 (grub_serial_cls): Likewise.
17914 (grub_serial_setcolorstate): Likewise.
17915 (grub_serial_setcursor): Likewise.
17916 (serial_hw_init): Use serial_hw_fetch.
17917 (grub_serial_terminfo_input): New variable.
17918 (grub_serial_terminfo_output): Likewise.
17919 (grub_serial_term_input): Use terminfo.
17920 (grub_serial_term_output): Likewise.
17921 * term/terminfo.c (putstr): Use put.
17922 (grub_terminfo_all_free): New function
17923 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
17924 (grub_terminfo_output_register): New function.
17925 (grub_terminfo_output_unregister): Likewise.
17926 (grub_terminfo_getxy): Likewise.
17927 (grub_terminfo_readkey): Likewise.
17928 (grub_terminfo_checkkey): Likewise.
17929 (grub_terminfo_getkey): Likewise.
17930 (grub_terminfo_input_init): Likewise.
17931 (print_terminfo): Likewise.
17932 (grub_cmd_terminfo): Handle encoding.
17933 (grub_terminfo_gotoxy): Track position.
17934 (grub_terminfo_cls): Likewise.
17935 (grub_terminfo_putchar): Likewise.
17936 (grub_terminfo_setcolorstate): Handle colors
17937 (grub_terminfo_cursor_on): This ...
17938 (grub_terminfo_cursor_off): ... and this merged into ...
17939 (grub_terminfo_setcursor): ... this.
17940 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
17941 * unicode/ArabicShaping.txt: New file (imported from Unicode).
17942 * unicode/BidiMirroring.txt: Likewise.
17943 * unicode/UnicodeData.txt: Likewise.
17944 * unicode/COPYING: Likewise.
17945 * util/grub-editenv.c (grub_putchar): Removed.
17946 (grub_xputs_real): New function.
17947 (grub_xputs): New variable.
17948 * util/grub-fstest.c (grub_putchar): Removed.
17949 (grub_xputs_real): New function.
17950 (grub_xputs): New variable.
17951 * util/grub-mkdevicemap.c (grub_putchar): Removed.
17952 (grub_xputs_real): New function.
17953 (grub_xputs): New variable.
17954 * util/grub-probe.c (grub_putchar): Removed.
17955 (grub_xputs_real): New function.
17956 (grub_xputs): New variable.
17957 * util/grub-script-check.c (grub_putchar): Removed.
17958 (grub_xputs_real): New function.
17959 (grub_xputs): New variable.
17960 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
17961 (grub_xputs_real): New function.
17962 (grub_xputs): New variable.
17963 * util/import_unicode.py: New file.
17964 * util/grub-mkfont.c (ft_errmsgs): New array.
17965 (grub_glyph_info): Make bitmap a pointer.
17966 (file_formats): New type WIDTH_SPEC.
17967 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
17968 (options): Add width-spec.
17969 (help): Likewise.
17970 (add_char): Renamed to ...
17971 (add_glyph): ... this.
17972 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
17973 (glyph_replace): New type.
17974 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
17975 (add_char): New function.
17976 (add_subst): Likewise.
17977 (process_cursive): Likewise.
17978 (add_font): Handle GSUB.
17979 (write_font_width_spec): New function.
17980 (main): Sort glyphs.
17981 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
17982 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
17983 * kern/term.c (grub_cls): Moved from here...
17984 * normal/term.c (grub_cls): ... here.
17985
17986 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
17987
17988 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
17989 suitable for using within the format argument of printf when
17990 converting grub_size_t.
17991 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
17992 "x" to convert grub_size_t arguments.
17993
17994 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17995
17996 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
17997 too long captions.
17998 (list_get_minimal_size): Take selection box into account.
17999
18000 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18001
18002 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
18003 NULL font.
18004
18005 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18006
18007 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
18008 devices when iterating over /dev/disk/by-id; they will be handled
18009 later if appropriate, which they aren't always (e.g. LVM).
18010
18011 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18012
18013 * include/grub/misc.h (grub_reboot): Declare as noreturn.
18014 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
18015 fails.
18016 (grub_halt): Likewise.
18017 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
18018 reset-all fails.
18019 (grub_halt): Don't return, even if all of shut-down, power-off, and
18020 poweroff fail.
18021
18022 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18023
18024 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
18025 arguments, not three.
18026
18027 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18028
18029 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
18030 * util/grub.d/10_linux.in: Use it to check for LVM, so that
18031 LVM-on-RAID is handled correctly.
18032
18033 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18034
18035 * docs/grub.texi (Changes from GRUB Legacy): New section.
18036 (Future): Fix typo.
18037
18038 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18039
18040 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
18041 grub.d/README accidentally ends up executable for one reason or
18042 another. Ignore it.
18043
18044 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18045
18046 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
18047 (gpt_partition_map_iterate): Support non-512B sectors.
18048
18049 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18050
18051 * kern/efi/init.c (grub_efi_init): Disable watchdog.
18052 Tested by: Seth Goldberg.
18053
18054 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18055
18056 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
18057 Properly align mbi.
18058 Reported by: Seth Goldberg.
18059
18060 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18061
18062 * util/grub-mkrescue.in: Avoid module duplication.
18063
18064 2010-07-01 Sean Finney <seanius@seanius.net>
18065
18066 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
18067
18068 2010-07-01 Sean Finney <seanius@seanius.net>
18069
18070 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
18071
18072 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18073
18074 * disk/lvm.c (grub_lvm_checkvalue): New function.
18075 (grub_lvm_check_flag): Likewise.
18076
18077 2010-07-01 Robert Millan <rmh@gnu.org>
18078
18079 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
18080 Support 'p' as partition separator on kernel of FreeBSD (used
18081 with GPT labels).
18082 (grub_util_biosdisk_get_grub_dev): Likewise.
18083
18084 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18085
18086 Yeeloong firmware port.
18087
18088 * boot/mips/yeeloong/fwstart.S: New file.
18089 * bus/cs5536.c (gpiodump): New const.
18090 (set_io_space): New function.
18091 (set_iod): Likewise.
18092 (set_p2d): Likewise.
18093 (grub_cs5536_init_geode): Likewise.
18094 * commands/mips/yeeloong/lsspd.c: New file.
18095 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
18096 (serial_mod_SOURCES): New variable.
18097 (serial_mod_CFLAGS): Likewise.
18098 (serial_mod_LDFLAGS): Likewise.
18099 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
18100 term/terminfo.c and term/tparm.c.
18101 (pkglib_IMAGES): Add fwstart.img.
18102 (fwstart_img_SOURCES): New variable.
18103 (fwstart_img_CFLAGS): Likewise.
18104 (fwstart_img_ASFLAGS): Likewise.
18105 (fwstart_img_LDFLAGS): Likewise.
18106 (fwstart_img_FORMAT): Likewise.
18107 (pkglib_MODULES): Add lsspd.mod.
18108 (lsspd_mod_SOURCES): New variable.
18109 (lsspd_mod_CFLAGS): Likewise.
18110 (lsspd_mod_LDFLAGS): Likewise.
18111 (pkglib_MODULES): Add halt.mod.
18112 (halt_mod_SOURCES): New variable.
18113 (halt_mod_CFLAGS): Likewise.
18114 (halt_mod_LDFLAGS): Likewise.
18115 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
18116 (serial_mod_SOURCES): Removed.
18117 (serial_mod_CFLAGS): Likewise.
18118 (serial_mod_LDFLAGS): Likewise.
18119 * disk/ata.c (check_device): New function.
18120 (grub_ata_device_initialize): Use check_device.
18121 (grub_ata_iterate): Recheck devices.
18122 (grub_ata_open): Likewise.
18123 (grub_atapi_iterate): Likewise.
18124 (grub_atapi_open): Likewise.
18125 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
18126 (GRUB_ATA_CH1_PORT1): Likewise.
18127 (GRUB_ATA_CH0_PORT2): Likewise.
18128 (GRUB_ATA_CH1_PORT2): Likewise.
18129 * include/grub/mips/loongson.h: New file.
18130 * include/grub/mips/yeeloong/ec.h: Likewise.
18131 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
18132 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
18133 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
18134 * include/grub/misc.h (grub_halt): Declare as noreturn.
18135 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
18136 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
18137 (UART_ENABLE_FIFO_TRIGGER1): New definition.
18138 (UART_ENABLE_DTRRTS): Likewise.
18139 (UART_ENABLE_MODEM): Removed.
18140 (UART_ENABLE_OUT2): New const.
18141 * include/grub/term.h (grub_term_register_input_active): New function.
18142 (grub_term_register_output_active): Likewise.
18143 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
18144 argument.
18145 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
18146 (init_pci): New function.
18147 (grub_machine_init): Execute platform init when firmware. Init serial.
18148 (grub_halt): Implement.
18149 (grub_exit): Likewise.
18150 (grub_reboot): Likewise.
18151 * term/serial.c (serial_hw_init): Update macros.
18152 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
18153 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
18154 (image_targets): New target mipsel-yeeloong-flash.
18155 (generate_image): Support IMAGE_YEELOONG_FLASH.
18156 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
18157 (grub_video_sm712_setup): Init card.
18158 (grub_video_sm712_set_palette): Removed.
18159 * video/sm712_init.c: New file.
18160
18161 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
18162
18163 * Makefile.in (install-local): Temporarily prepend $(builddir) to
18164 PATH when running help2man and then run it on the unadorned
18165 executable names, rather than passing $(builddir)/* paths to
18166 help2man. This avoids the build directory ending up in generated
18167 manual pages.
18168
18169 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
18170
18171 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
18172 to avoid accidents when debugging with 'sh -x'.
18173 * util/grub-mkrescue.in: Likewise.
18174 * util/grub.d/00_header.in: Likewise.
18175 * util/grub.d/10_hurd.in: Likewise.
18176 * util/grub.d/10_kfreebsd.in: Likewise.
18177 * util/grub.d/10_linux.in: Likewise.
18178 * util/grub.d/10_netbsd.in: Likewise.
18179 * util/grub.d/10_windows.in: Likewise.
18180 * util/grub.d/20_linux_xen.in: Likewise.
18181 * util/grub.d/30_os-prober.in: Likewise.
18182 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18183
18184 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
18185
18186 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
18187 last character in the buffer.
18188 Reported by: Vladimir Serbinenko.
18189
18190 2010-06-29 Robert Millan <rmh@gnu.org>
18191
18192 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
18193 (Command-line and menu entry commands): Document `badram' command.
18194
18195 2010-06-28 Robert Millan <rmh@gnu.org>
18196
18197 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
18198 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
18199 command using ${GRUB_BADRAM} as parameter.
18200
18201 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18202
18203 * docs/grub.texi (Device map): New section.
18204 (Themes): New section (stub).
18205 * Makefile.in (docs/grub.info): The info documentation now builds
18206 without errors. Make sure it stays that way.
18207
18208 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
18209
18210 Use normal parser for menu entries.
18211 Reported by: Thomas Frauendorfer
18212
18213 * include/grub/parser.h (grub_parser_execute): Don't export.
18214 * normal/menu.c (grub_menu_execute_entry_real): New function.
18215 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
18216
18217 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18218
18219 * docs/grub.texi (Embedded configuration): New section (replacing
18220 old "Preset Menu" stub).
18221 (Images): New section.
18222 (configfile): Note that any menu entries defined in `file' are shown
18223 immediately.
18224
18225 2010-06-28 Josh Triplett <josh@joshtriplett.org>
18226
18227 * mmap/i386/pc/mmap_helper.S: Set CF on return.
18228
18229 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18230
18231 * util/grub-install.in: Add --debug-image= option.
18232
18233 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18234
18235 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
18236 possible on Linux.
18237
18238 * util/deviceiter.c (check_device): Rename to ...
18239 (check_device_readable_unique): ... this. Update all callers.
18240 Maintain and check a list of which devices (by canonicalized name)
18241 have already been seen.
18242 (clear_seen_devices): New function.
18243 (compare_file_names) [__linux__]: New function.
18244 (grub_util_iterate_devices): Clear the list of seen devices on exit
18245 and (just in case) on entry.
18246 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
18247 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
18248 seen-devices list, superseded by general code in check_device.
18249
18250 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18251
18252 * commands/cat.c (options): New variable.
18253 (grub_cmd_cat): Parse options. If the --dos option is given, print
18254 DOS-style "\r\n" line endings as simple newlines (Debian bug
18255 #586358).
18256 (GRUB_MOD_INIT): Use extcmd.
18257 (GRUB_MOD_FINI): Likewise.
18258 * docs/grub.texi (cat): Document --dos.
18259
18260 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
18261
18262 XEN with Linux grub-mkconfig support.
18263
18264 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
18265 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
18266 GRUB_CMDLINE_XEN_DEFAULT.
18267 * util/grub.d/20_linux_xen.in: New file.
18268
18269 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
18270
18271 Initialise VGA video on qemu ourselves.
18272
18273 * boot/i386/qemu/boot.S: Don't call 0xc000.
18274 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
18275 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
18276 (kernel_img_HEADERS): Add pci.h.
18277 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
18278 * configure.ac: Force unifont on qemu and yeeloong.
18279 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
18280 (grub_vga_palette_write): Use correct register.
18281 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
18282 Call grub_qemu_init_cirrus.
18283 * kern/i386/qemu/init.c: New file.
18284 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
18285
18286 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
18287
18288 2010-06-26 Pavel Roskin <proski@gnu.org>
18289
18290 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
18291 13.
18292
18293 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
18294
18295 * docs/grub.texi (Simple configuration): Explain that
18296 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
18297 set to `true' to disable their respective recovery entries, not
18298 merely set.
18299
18300 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
18301
18302 Make the `source' command slightly faster.
18303
18304 * normal/main.c (grub_normal_execute): Don't re-read list files when
18305 nested.
18306
18307 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
18308
18309 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
18310 field position and mask size to red fields from mode_info, not
18311 green.
18312 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
18313 Remove redundant tag->common.framebuffer_type assignment.
18314 Reported by: Seth Goldberg.
18315
18316 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
18317
18318 Sync up other versions of the Linux loader with Robert Millan's
18319 change of 2010-01-09, "Make loader output a bit more user-friendly".
18320
18321 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
18322 grub_dprintf().
18323 (grub_cmd_linux): Likewise.
18324 (grub_cmd_initrd): Likewise.
18325 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
18326 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
18327
18328 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
18329
18330 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
18331 larger than MEMORY_MAP_SIZE.
18332
18333 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
18334
18335 Fix parallel build.
18336
18337 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
18338 dependency.
18339 * script/parser.y: #include grub_script.tab.h header.
18340
18341 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
18342
18343 Support >3GiB and <16MiB RAM in i386-qemu.
18344
18345 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
18346 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
18347 (grub_lower_mem): Removed.
18348 (grub_upper_mem): Likewise.
18349 (mem_size): Made static.
18350 (above_4g): New variable.
18351 (grub_machine_mmap_init): Detect small mem_size and above_4g.
18352 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
18353 support.
18354
18355 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
18356
18357 Cirrus 5446 and Bochs video cards support.
18358
18359 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
18360 video_bochs.mod
18361 (video_cirrus_mod_SOURCES): New variable.
18362 (video_cirrus_mod_CFLAGS): Likewise.
18363 (video_cirrus_mod_LDFLAGS): Likewise.
18364 (video_bochs_mod_SOURCES): Likewise.
18365 (video_bochs_mod_CFLAGS): Likewise.
18366 (video_bochs_mod_LDFLAGS): Likewise.
18367 * include/grub/vga.h: New file.
18368 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
18369 (grub_video_fb_set_page_t): New type.
18370 (grub_video_fb_setup): New prototype.
18371 (grub_video_fb_swap_buffers): Likewise.
18372 (grub_video_fb_get_info_and_fini): Likewise.
18373 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
18374 (CRTC_DATA_PORT): Likewise.
18375 (CRTC_CURSOR): Likewise.
18376 (CRTC_CURSOR_ADDR_HIGH): Likewise.
18377 (CRTC_CURSOR_ADDR_LOW): Likewise.
18378 (CRTC_CURSOR_DISABLE): Likewise.
18379 (update_cursor): Use grub_vga_cr_write.
18380 (grub_vga_text_setcursor): Likewise.
18381 * video/bochs.c: New file.
18382 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
18383 (palette): Likewise.
18384 (palette_size): Likewise.
18385 (framebuffer): New variable.
18386 (grub_video_fb_init): Use 'framebuffer'.
18387 (grub_video_fb_fini): Likewise.
18388 (grub_video_fb_get_info): Likewise.
18389 (grub_video_fb_get_palette): Likewise.
18390 (grub_video_fb_set_palette): Likewise.
18391 (grub_video_fb_set_viewport): Likewise.
18392 (grub_video_fb_get_viewport): Likewise.
18393 (grub_video_fb_map_color): Likewise.
18394 (grub_video_fb_map_rgb): Likewise.
18395 (grub_video_fb_map_rgba): Likewise.
18396 (grub_video_fb_unmap_color): Likewise.
18397 (grub_video_fb_unmap_color_int): Likewise.
18398 (grub_video_fb_fill_rect): Likewise.
18399 (grub_video_fb_blit_bitmap): Likewise.
18400 (grub_video_fb_blit_render_target): Likewise.
18401 (grub_video_fb_scroll): Likewise.
18402 (grub_video_fb_create_render_target): Likewise.
18403 (grub_video_fb_doublebuf_blit_init): Likewise.
18404 (grub_video_fb_set_active_render_target): Handle doublebuffering.
18405 (doublebuf_pageflipping_update_screen): New function.
18406 (doublebuf_pageflipping_init): Likewise.
18407 (grub_video_fb_setup): Likewise.
18408 (grub_video_fb_swap_buffers): Likewise.
18409 (grub_video_fb_get_info_and_fini): Likewise.
18410 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
18411 All users updated.
18412 (doublebuf_pageflipping_commit): Restructured into ...
18413 (doublebuf_pageflipping_set_page): ... this.
18414 (doublebuf_pageflipping_update_screen): Removed.
18415 (doublebuf_pageflipping_init): Likewise.
18416 (double_buffering_init): Likewise.
18417 (grub_video_vbe_setup): Use grub_video_fb_setup.
18418 (grub_video_vbe_swap_buffers): Removed.
18419 (grub_video_vbe_set_active_render_target): Likewise.
18420 (grub_video_vbe_get_active_render_target): Likewise.
18421 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
18422 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
18423 grub_video_fb_set_active_render_target and
18424 grub_video_fb_get_active_render_target.
18425 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
18426 (SEQUENCER_DATA_PORT): Likewise.
18427 (MAP_MASK_REGISTER): Likewise.
18428 (CRTC_ADDR_PORT): Likewise.
18429 (CRTC_DATA_PORT): Likewise.
18430 (START_ADDR_HIGH_REGISTER): Likewise.
18431 (START_ADDR_LOW_REGISTER): Likewise.
18432 (GRAPHICS_ADDR_PORT): Likewise.
18433 (GRAPHICS_DATA_PORT): Likewise.
18434 (READ_MAP_REGISTER): Likewise.
18435 (INPUT_STATUS1_REGISTER): Likewise.
18436 (INPUT_STATUS1_VERTR_BIT): Likewise.
18437 (get_map_mask): Use grub_vga_sr_read.
18438 (set_map_mask): Use grub_vga_sr_write.
18439 (set_read_map): Use grub_vga_gr_write.
18440 (set_start_address): Use grub_vga_cr_write.
18441 * video/sm712.c (framebuffer): Remove leftover fields.
18442
18443 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
18444
18445 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
18446 setting GRUB_VIDEO_BACKEND. Make it available as a user override
18447 instead. Replace the gfxterm backend check with a check that
18448 ${GRUB_PREFIX}/video.lst is non-empty.
18449 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
18450 again.
18451 (load_video): New generated function. Call it before loading
18452 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
18453 * util/grub.d/10_linux.in (linux_entry): Call load_video.
18454 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
18455 * docs/grub.texi (Simple configuration): Document
18456 GRUB_VIDEO_BACKEND.
18457
18458 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
18459
18460 Use video functions in linux and xnu loaders.
18461
18462 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
18463 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
18464 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
18465 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
18466 loader/i386/pc/linux.c.
18467 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
18468 (find_line_len): Removed.
18469 (find_framebuf): Likewise.
18470 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
18471 * loader/i386/efi/xnu.c: Removed.
18472 * loader/i386/pc/xnu.c: Moved from here...
18473 * loader/i386/xnu.c: ...here.
18474
18475 Enable priorities in video drivers.
18476
18477 * include/grub/video.h (grub_video_adapter_prio_t): New type.
18478 (grub_video_adapter): New field prio.
18479 (grub_video_register): Respect prio when inserting.
18480 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
18481 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
18482 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
18483 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
18484 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
18485 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
18486 * video/sm712.c (grub_video_sm712_adapter): Likewise.
18487
18488 Fix SDL driver ID.
18489
18490 * include/grub/video.h (grub_video_driver_id_t): New value
18491 GRUB_VIDEO_DRIVER_SDL.
18492 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
18493
18494 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
18495
18496 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
18497 argument to printf.
18498 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
18499
18500 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
18501
18502 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
18503 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
18504
18505 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
18506
18507 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
18508 directly, and recommend grub-install instead.
18509 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
18510
18511 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
18512
18513 Fix i386-pc prefix handling with nested partitions (Debian bug
18514 #585068). Note that the case where the core image is booted using
18515 multiboot and relocated from its original location still requires
18516 more work.
18517
18518 * kern/i386/pc/init.c (make_install_device): If the prefix starts
18519 with "(,", fill the boot drive in between those two characters, but
18520 expect that a full partition specification including partition map
18521 names will follow.
18522 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
18523 specified, write a prefix without the drive name but including a
18524 full partition specification.
18525
18526 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
18527
18528 * util/grub-mkconfig.in: Ignore non-option arguments, for
18529 compatibility with older versions (before 2010-06-12) which did the
18530 same. In particular, this makes it easier to ship an update-grub
18531 wrapper which is compatible with that used with GRUB Legacy (Debian
18532 bug #586056).
18533
18534 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18535
18536 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
18537 for manual page generation.
18538
18539 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18540
18541 * po/POTFILES: Remove leftover commands/handler.c.
18542
18543 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
18544
18545 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
18546 left this script non-functional.
18547
18548 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
18549
18550 * docs/man/grub-emu.h2m: New file.
18551
18552 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
18553
18554 * docs/grub.texi (Commands): Document reduced command set in rescue
18555 mode.
18556 (cpuid): New section.
18557
18558 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
18559
18560 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
18561 new partition naming style.
18562 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
18563
18564 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
18565
18566 Add "-o grub.iso" like cmdline options support.
18567
18568 * util/grub-install.in: Improve cmdline option parsing.
18569 * util/grub-mkconfig.in: Likewise.
18570 * util/grub-mkrescue.in: Likewise.
18571 * util/grub-reboot.in: Likewise.
18572 * util/grub-set-default.in: Likewise.
18573 * util/i386/efi/grub-install.in: Likewise.
18574 * util/ieee1275/grub-install.in: Likewise.
18575 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18576
18577 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
18578
18579 * .bzrignore: Ignore 41_custom.
18580
18581 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
18582
18583 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
18584
18585 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
18586
18587 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
18588 prototype declarations.
18589
18590 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
18591 generating fs, partmap, and video lists.
18592 * include/grub/fs.h (grub_fs_register): Omit prototype if
18593 GRUB_LST_GENERATOR is defined.
18594 * include/grub/partition.h (grub_partition_map_register): Likewise.
18595 * include/grub/video.h (grub_video_register): Likewise.
18596
18597 2010-06-12 Javier Martín <lordhabbit@gmail.com>
18598
18599 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
18600
18601 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
18602
18603 * util/grub-mkrescue.in: Support --xorriso argument.
18604
18605 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
18606
18607 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
18608 Suggested by: Thomas Schmitt.
18609
18610 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
18611
18612 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
18613 Suggested by: Thomas Schmitt.
18614
18615 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
18616
18617 custom.cfg support.
18618
18619 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
18620 * util/grub.d/41_custom.in: New file.
18621
18622 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
18623
18624 * util/grub-mkrescue.in (make_image): Remove sh module, which has
18625 been merged back into normal.
18626
18627 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
18628
18629 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
18630 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
18631
18632 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
18633
18634 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
18635 when generating manual pages.
18636 * docs/man/grub-bin2h.h2m: New file.
18637 * docs/man/grub-editenv.h2m: New file.
18638 * docs/man/grub-fstest.h2m: New file.
18639 * docs/man/grub-install.h2m: New file.
18640 * docs/man/grub-macho2img.h2m: New file.
18641 * docs/man/grub-mkconfig.h2m: New file.
18642 * docs/man/grub-mkdevicemap.h2m: New file.
18643 * docs/man/grub-mkfont.h2m: New file.
18644 * docs/man/grub-mkimage.h2m: New file.
18645 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
18646 * docs/man/grub-mkrelpath.h2m: New file.
18647 * docs/man/grub-mkrescue.h2m: New file.
18648 * docs/man/grub-ofpathname.h2m: New file.
18649 * docs/man/grub-pe2elf.h2m: New file.
18650 * docs/man/grub-probe.h2m: New file.
18651 * docs/man/grub-reboot.h2m: New file.
18652 * docs/man/grub-script-check.h2m: New file.
18653 * docs/man/grub-set-default.h2m: New file.
18654 * docs/man/grub-setup.h2m: New file.
18655
18656 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
18657
18658 Use FOR_* macros instead of *_iterate whenever possible.
18659
18660 * commands/handler.c: Removed.
18661 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
18662 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
18663 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18664 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
18665 (grub_probe_SOURCES): Remove kern/parser.c.
18666 (util/grub-script-check.c_DEPENDENCIES): Removed.
18667 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
18668 and grub_script_check_init.c.
18669 (grub_script_check_init.lst): Removed.
18670 (grub_script_check_init.h): Likewise.
18671 (grub_script_check_init.c): Likewise.
18672 (pkglib_MODULES): Remove handler.mod and sh.mod.
18673 (handler_mod_SOURCES): Removed.
18674 (handler_mod_CFLAGS): Likewise.
18675 (handler_mod_LDFLAGS): Likewise.
18676 (normal_mod_SOURCES): Remove normal/handler.c.
18677 Add script/main.c, script/script.c, script/execute.c,
18678 script/function.c, script/lexer.c, grub_script.tab.c
18679 and grub_script.yy.c.
18680 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18681 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18682 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
18683 (grub_setup_SOURCES): Remove kern/parser.c.
18684 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18685 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
18686 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
18687 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18688 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18689 (grub_setup_SOURCES): Remove kern/parser.c.
18690 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18691 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
18692 * include/grub/command.h (grub_command_iterate): Removed.
18693 (FOR_COMMANDS): New macro.
18694 * include/grub/dl.h (grub_dl): New member next.
18695 (grub_dl_iterate): Removed.
18696 (grub_dl_head): New variable declaration.
18697 (FOR_DL_MODULES): New macro.
18698 * include/grub/fs.h: Include list.h.
18699 (grub_fs): Make next first element.
18700 (grub_fs_list): New variable declaration.
18701 (grub_fs_register): Make inline.
18702 (grub_fs_unregister): Likewise.
18703 (grub_fs_iterate): Removed.
18704 (FOR_FILESYSTEMS): New macro.
18705 * include/grub/handler.h: Removed.
18706 * include/grub/list.h (grub_list_hook_t): Removed.
18707 (grub_list_test_t): Likewise.
18708 (grub_list_pop): Likewise.
18709 (grub_list_iterate): Likewise.
18710 (grub_list_insert): Likewise.
18711 (FOR_LIST_ELEMENTS): New macro.
18712 * include/grub/parser.h (grub_parser_class): Removed.
18713 (grub_parser_register): Likewise.
18714 (grub_parser_unregister): Likewise.
18715 (grub_parser_get_current): Likewise.
18716 (grub_parser_set_current): Likewise.
18717 (grub_register_rescue_parser): Likewise.
18718 (grub_rescue_parse_line): New function.
18719 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
18720 * include/grub/script_sh.h (grub_script_function_list): New variable
18721 declaration.
18722 (FOR_SCRIPT_FUNCTIONS): New macro.
18723 (grub_script_function_iterate): Removed.
18724 (grub_normal_parse_line): New prototype.
18725 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
18726 (FOR_DISABLED_TERM_INPUTS): Likewise.
18727 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
18728 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
18729 * include/grub/video.h (grub_video_adapter): Move 'next' to first
18730 element.
18731 (grub_video_register): Inline.
18732 (grub_video_unregister): Likewise.
18733 (grub_video_adapter_list): New variable declaration.
18734 (grub_video_iterate): Removed.
18735 (FOR_VIDEO_ADAPTERS): New macro.
18736 * kern/dl.c (grub_dl_list): Removed. All users updated.
18737 (grub_dl_iterate): Removed.
18738 * kern/fs.c (grub_fs_list): Make global.
18739 (grub_fs_register): Removed.
18740 (grub_fs_unregister): Likewise.
18741 (grub_fs_iterate): Likewise.
18742 * kern/handler.c: Removed.
18743 * kern/list.c (grub_list_pop): Removed.
18744 (grub_list_iterate): Likewise.
18745 (grub_list_insert): Likewise.
18746 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
18747 (grub_prio_list_insert): Don't use grub_list_insert.
18748 * kern/main.c (grub_register_rescue_parser): Don't call
18749 grub_register_rescue_parser.
18750 * kern/parser.c (grub_parser_class): Removed.
18751 (grub_parser_execute): Use grub_rescue_parse_line.
18752 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
18753 (grub_rescue_parser): Removed.
18754 (grub_register_rescue_parser): Likewise.
18755 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
18756 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
18757 (grub_auth_check_authentication): Likewise.
18758 * normal/completion.c (iterate_command): Removed.
18759 (grub_normal_do_completion): Use FOR_COMMANDS.
18760 * normal/handler.c: Removed.
18761 * normal/main.c (read_config_file): Remove parser changing.
18762 (grub_normal_execute): Don't call read_handler_list.
18763 (grub_normal_read_line_real): Statically allocate prompt.
18764 (grub_cmdline_run): Use grub_normal_parse_line.
18765 (GRUB_MOD_FINI): Don't call free_handler_list.
18766 * normal/menu_entry.c (run): Likewise.
18767 * script/function.c (grub_script_function_list): Make global.
18768 (grub_script_function_iterate): Removed.
18769 * script/main.c (grub_normal_parse_line): Make global.
18770 (grub_sh_parser): Removed.
18771 (GRUB_MOD_INIT): Likewise.
18772 (GRUB_MOD_FINI): Likewise.
18773 * tests/lib/functional_test.c (grub_functional_test): Use
18774 FOR_LIST_ELEMENTS.
18775 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
18776 (grub_test_run): Use FOR_LIST_ELEMENTS.
18777 * tests/lib/unit_test.c (main): Likewise.
18778 * util/deviceiter.c (grub_util_iterate_devices): Don't use
18779 grub_list_pop.
18780 * util/grub-fstest.c (grub_term_input_class): Removed.
18781 (grub_term_output_class): Likewise.
18782 * util/grub-probe.c: Likewise.
18783 * util/i386/pc/grub-setup.c: Likewise.
18784 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18785 * util/grub-script-check.c (main): Don't call grub_init_all and
18786 grub_fini_all.
18787 * video/video.c (grub_video_adapter_list): Make global.
18788 (grub_video_register): Removed.
18789 (grub_video_unregister): Likewise.
18790 (grub_video_iterate): Likewise.
18791
18792 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
18793
18794 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
18795 reported by Henrique Ferreiro.
18796
18797 2010-06-09 Robert Millan <rmh@gnu.org>
18798
18799 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
18800 ones, when both are available.
18801
18802 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
18803
18804 Make --version uniform and avoid hard-coded program name.
18805
18806 * util/grub-mkimage.c (main): Use `program_name' instead of
18807 hard-coded string.
18808 * util/i386/pc/grub-setup.c (main): Likewise.
18809 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
18810 * util/grub-install.in: Save the basename of $0 in $self, and use the
18811 latter in informational messages. Use the same format for --version
18812 as the binary programs.
18813 * util/grub-mkconfig.in: Likewise.
18814 * util/grub-mkrescue.in: Likewise.
18815 * util/grub-reboot.in: Likewise.
18816 * util/grub-set-default.in: Likewise.
18817 * util/i386/efi/grub-install.in: Likewise.
18818 * util/ieee1275/grub-install.in: Likewise.
18819 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18820
18821 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
18822
18823 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
18824 embedding area. Use <= instead of == when checking for non-emptiness.
18825
18826 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
18827
18828 * configure.ac: Add `.' to the directories searched for unifont.
18829
18830 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
18831
18832 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
18833 grub_script.yy.h.
18834
18835 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
18836
18837 * docs/grub.texi (History): Expand to cover GRUB 2.
18838 (Serial terminal): Refer to `terminal_input' and `terminal_output'
18839 commands, not `terminal'.
18840 (serial): Likewise.
18841 (terminal_input): New section.
18842 (terminal_output): New section.
18843 (uppermem): New section (stub).
18844 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
18845
18846 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
18847
18848 * docs/grub.texi (Security): Menu entries are unrestricted by
18849 default, not restricted to superusers as I had previously thought.
18850 Reword to account for this.
18851
18852 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
18853
18854 * kern/emu/misc.c (device_mapper_null_log): New function.
18855 (grub_device_mapper_supported): New function.
18856 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
18857 prototype.
18858 * kern/emu/hostdisk.c (find_partition_start): Check whether
18859 device-mapper is supported before trying to use it.
18860 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
18861
18862 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
18863
18864 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
18865 (File name syntax): Likewise.
18866 (help): --all is no longer supported in GRUB 2. Be more precise
18867 about pattern matching.
18868
18869 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
18870
18871 * normal/completion.c (grub_normal_do_completion): When completing
18872 arguments to "set" and the current word contains an equals sign,
18873 skip to after the equals sign before starting completion.
18874
18875 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
18876
18877 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
18878
18879 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
18880
18881 * docs/grub.texi (Network): New section.
18882 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
18883 `(nd)' as in GRUB Legacy.
18884 (pxe_unload): New section.
18885
18886 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
18887
18888 * docs/grub.texi (Troubleshooting): `echo' is not usually available
18889 in the rescue shell, so recommend using `set' instead. Thanks,
18890 Jordan Uggla.
18891
18892 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
18893
18894 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
18895 (password): New section.
18896 (password_pbkdf2): New section.
18897 (search): New section.
18898 (Security): New section.
18899 (Troubleshooting): New section, currently very incomplete.
18900 (Invoking grub-mkpasswd-pbkdf2): New section.
18901 (Internals): New section, currently very incomplete.
18902
18903 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
18904
18905 * util/grub.d/00_header.in: Add some more quoting (of
18906 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
18907 work again.
18908 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
18909
18910 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
18911
18912 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
18913 to `count', fixing variable shadowing that broke the -c option.
18914
18915 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
18916
18917 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
18918 in case they contain spaces.
18919
18920 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
18921
18922 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
18923 "part_" to partmap module names, in line with grub-install.
18924 Reported by: Jindřich Makovička (Debian bug #584426).
18925
18926 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
18927
18928 * util/grub-mkimage.c: Make target-related error messages slightly
18929 more helpful; -O talks about "format". Explicitly point to the use
18930 of -O if no target is specified.
18931 Reported by: Didier Raboud (Debian bug #584415).
18932
18933 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
18934
18935 * INSTALL: Document several build requirements for optional features
18936 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
18937
18938 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
18939
18940 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
18941 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
18942 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
18943
18944 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
18945
18946 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
18947 Thanks to Jordan Uggla for spotting this.
18948
18949 2010-06-02 Aleš Nesrsta <starous@volny.cz>
18950
18951 Finally make USB usable.
18952
18953 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
18954 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
18955 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
18956 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
18957 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
18958 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
18959 (GRUB_OHCI_FSMPS): Likewise.
18960 (GRUB_OHCI_PERIODIC_START): Likewise.
18961 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
18962 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
18963 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
18964 (GRUB_OHCI_SET_PORT_RESET): Likewise.
18965 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
18966 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
18967 (grub_ohci_transaction): Likewise.
18968 (grub_ohci_transfer): Improve condition detection algorithms.
18969 Handle toggle property. Program the transactions correctly.
18970 Improve error handling. Various important fixups.
18971 (grub_ohci_portstatus): Put register writes in right order.
18972 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
18973 (grub_uhci_transfer): Don't show "failed" message on success.
18974 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
18975 array.
18976 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
18977 determine its size.
18978 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
18979 before initialization is completed. Use IN direction for empty
18980 transfers. Use last_trans and compute toggle.
18981 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
18982 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
18983 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
18984 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
18985 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
18986 (grub_usb_device): Increase toggle to 256.
18987 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
18988 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
18989 GRUB_USBMS_SUBCLASS_SFF8070.
18990 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
18991 (grub_scsi_inquiry): New member page and alloc_length.
18992 (grub_scsi_request_sense): New structure.
18993 (grub_scsi_request_sense_data): Likewise.
18994 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
18995 control.
18996 * disk/scsi.c (grub_scsi_request_sense): New function.
18997 (grub_scsi_test_unit_ready): Likewise.
18998 (grub_scsi_inquiry): Fill new fields.
18999 (grub_scsi_read_capacity): Likewise.
19000 (grub_scsi_read10): Add request sense at the end.
19001 (grub_scsi_read12): Likewise.
19002 (grub_scsi_write10): Likewise.
19003 (grub_scsi_write12): Likewise.
19004 (grub_scsi_open): Add Test Unit Ready.
19005 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
19006 Support additional subclasses. Con't clear halt yet. Activate the
19007 proper config. Calculate LUNs correctly.
19008 (grub_usbms_transfer): Various important fixups.
19009
19010 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19011
19012 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
19013 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
19014 (grub_ohci_fini_hw): New function.
19015 (grub_ohci_restore_hw): Likewise.
19016 (GRUB_MOD_INIT(ohci)): Register preboot hook.
19017 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
19018 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
19019
19020 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19021
19022 Dedicated DMA allocations.
19023
19024 * bus/pci.c (grub_memalign_dma32): New function
19025 (grub_dma_free): Likewise.
19026 (grub_dma_get_virt): Likewise.
19027 (grub_dma_get_phys): Likewise.
19028 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
19029 (grub_ohci_pci_iter): Use dma32_alloc.
19030 (grub_ohci_transfer): Likewise.
19031 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
19032 (grub_usb_bulk_readwrite): Likewise.
19033 * include/grub/pci.h: Add declarations.
19034
19035 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19036
19037 CS5536 support.
19038
19039 * bus/cs5536.c: New file.
19040 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
19041 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
19042 (cs5536_mod_SOURCES): New variable.
19043 (cs5536_mod_CFLAGS): Likewise.
19044 (cs5536_mod_LDFLAGS): Likewise.
19045 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
19046 machine/pci.h.
19047 (kernel_img_SOURCES): Add bus/cs5536.c.
19048 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
19049 usb_keyboard.mod.
19050 (usb_mod_SOURCES): New variable.
19051 (usb_mod_CFLAGS): New variable.
19052 (usb_mod_LDFLAGS): New variable.
19053 (usbtest_mod_SOURCES): New variable.
19054 (usbtest_mod_CFLAGS): New variable.
19055 (usbtest_mod_LDFLAGS): New variable.
19056 (ohci_mod_SOURCES): New variable.
19057 (ohci_mod_CFLAGS): New variable.
19058 (ohci_mod_LDFLAGS): New variable.
19059 (usbms_mod_SOURCES): New variable.
19060 (usbms_mod_CFLAGS): New variable.
19061 (usbms_mod_LDFLAGS): New variable.
19062 (usb_keyboard_mod_SOURCES): New variable.
19063 (usb_keyboard_mod_CFLAGS): New variable.
19064 (usb_keyboard_mod_LDFLAGS): New variable.
19065 * include/grub/smbus.h: New file.
19066 * include/grub/cs5536.h: New file.
19067
19068 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19069
19070 * util/grub.d/00_header.in: Add safety check to make sure that
19071 ${locale_dir} exists before trying to probe it.
19072
19073 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19074
19075 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
19076 per the GNU Coding Standards; this is now too obscure to be worth
19077 documenting.
19078 (QNX): Likewise.
19079 (chainloader): Remove cross-reference to `SCO UnixWare'.
19080
19081 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19082
19083 * docs/grub.texi (Chain-loading): New section.
19084 (DOS/Windows): New section, borrowed from GRUB Legacy with details
19085 adjusted for GRUB 2.
19086 (SCO UnixWare): Likewise.
19087 (QNX): Likewise.
19088 (chainloader): Add reference to `Block list syntax'.
19089 (drivemap): New section.
19090 (parttool): New section.
19091
19092 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19093
19094 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
19095 the grub shell'.
19096 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
19097 (Installing GRUB using grub-install): Remove reference to the grub
19098 shell; mention `grub-mkimage' and `grub-setup' instead.
19099 (Invoking grub-install): Likewise.
19100 (Interface): Add reference to `Menu entry editor'.
19101 (serial): Remove `--device' option.
19102
19103 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19104
19105 * docs/grub.texi (Configuration): New section, documenting
19106 configuration file generation using grub-mkconfig. I've left a slot
19107 for documenting the full shell scripting format but have not yet
19108 started on writing that up.
19109 (Invoking grub-mkconfig): New section.
19110
19111 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19112
19113 * docs/grub.texi (direntry): Remove grub-terminfo reference.
19114 (GNU GRUB manual): Likewise.
19115 (General commands): Update description of `terminfo' for GRUB 2.
19116
19117 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19118
19119 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
19120 (GRUB_MOD_INIT): Fix capitalisation.
19121 * docs/grub.texi (Command-line and menu entry commands): Document
19122 gettext and gptsync commands.
19123
19124 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19125
19126 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
19127 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
19128
19129 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
19130
19131 Add btrfs probing support, currently only in the single-device case.
19132
19133 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
19134 function.
19135 (grub_guess_root_device): Call find_root_device_from_mountinfo
19136 before looking in /dev.
19137
19138 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19139
19140 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
19141 GRUB_DISK_SIZE_UNKNOWN.
19142 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
19143
19144 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
19145
19146 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
19147 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
19148 corrupted or not synced properly.
19149
19150 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19151
19152 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
19153 Reported by: Seth Goldberg.
19154
19155 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19156
19157 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
19158 addition of dest.
19159 Reported by: Seth Goldberg.
19160
19161 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19162
19163 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
19164 Reported by: Seth Goldberg.
19165
19166 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19167
19168 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
19169 64-bit address as signed on MIPS.
19170
19171 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
19172
19173 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
19174 to the empty string.
19175
19176 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
19177
19178 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
19179
19180 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
19181 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
19182 * kern/misc.c (__enable_execute_stack): Disable on
19183 GRUB_MACHINE_EMU.
19184
19185 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
19186
19187 Make grub-probe work with symbolic links under /dev/mapper as well
19188 as with real block devices. The Linux world seems to be (at best)
19189 in transition here, and GRUB shouldn't get caught in the middle.
19190
19191 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
19192 /dev/mapper.
19193
19194 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
19195
19196 * util/grub-script-check.c (main): Ensure defined behaviour on empty
19197 input files (in which case exit zero).
19198
19199 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
19200
19201 * kern/emu/misc.c (canonicalize_file_name): realpath can still
19202 return NULL for various reasons even if it has a maximum-length
19203 buffer: for example, there might be a symlink loop, or the path
19204 might exceed PATH_MAX. If this happens, return NULL.
19205
19206 2010-05-27 Robert Millan <rmh@gnu.org>
19207
19208 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
19209 partmap module to handle cross-partmap setups.
19210 Reported by Orestes Mas. Gràcies!
19211
19212 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
19213
19214 * util/grub-mkrescue.in: Initialise override_dir rather than
19215 assuming that it's unset or empty in the environment.
19216
19217 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
19218
19219 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
19220 variable index into p_index to suppress a warning with -Wshadow.
19221
19222 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
19223
19224 * INSTALL: Added flex >= 2.5.35 requirement.
19225
19226 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19227
19228 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
19229
19230 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19231
19232 cmostest support.
19233
19234 * commands/i386/cmostest.c: New file.
19235 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
19236 (cmostest_mod_SOURCES): New variable.
19237 (cmostest_mod_CFLAGS): Likewise.
19238 (cmostest_mod_LDFLAGS): Likewise.
19239 * conf/i386-pc.rmk: Likewise.
19240 * docs/grub.texi (Vendor power-on keys): New section.
19241 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
19242 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
19243 and GRUB_BUTTON_CMOS_ADDRESS.
19244 * util/grub.d/00_header.in: Handle powering-on by separate button.
19245
19246 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19247
19248 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
19249 Removed drawing_scrollbar argument. All users updated
19250 Fixes #29792.
19251 Reported by Jo Shields
19252
19253 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19254
19255 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
19256 buffer since gfxterm handles double repaint.
19257
19258 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19259
19260 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
19261 * term/gfxterm.c (real_scroll): Likewise.
19262
19263 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19264
19265 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
19266 before calling BIOS.
19267
19268 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19269
19270 * include/grub/i18n.h: Always enable grub_gettext.
19271
19272 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19273
19274 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
19275 partition naming style.
19276
19277 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
19278
19279 * util/grub-mkconfig.in: Fix handling of -o so that it works when
19280 not the first option.
19281
19282 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
19283
19284 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
19285
19286 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
19287
19288 * util/misc.c: Move inclusion of <limits.h> to ...
19289 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
19290
19291 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
19292
19293 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
19294 Fix merge error in NetBSD code.
19295 (find_partition_start) [__NetBSD__]: Likewise.
19296
19297 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
19298
19299 Fix grub-mkrescue usage unit testing.
19300
19301 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
19302
19303 2010-05-18 Christian Franke <franke@computer.org>
19304
19305 * util/grub.d/10_windows.in: Use path names instead of
19306 drive letters to prevent warning from Cygwin 1.7.
19307 Add drivemap command to menuentry if needed.
19308
19309 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
19310
19311 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
19312 gnumach and gnumach.gz.
19313
19314 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19315
19316 * include/grub/i18n.h (gettext): Inline instead of using #define.
19317 (grub_gettext): Likewise.
19318 (_): Likewise.
19319
19320 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19321
19322 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
19323 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
19324 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
19325 (main): Add a slash after pkglibdirroot.
19326
19327 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19328
19329 * util/grub-install.in: Add missing "in" keyword.
19330
19331 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19332
19333 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
19334 Reported by: Seth Goldberg.
19335
19336 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19337
19338 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
19339
19340 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
19341
19342 * configure.ac: Check for Linux device-mapper support.
19343
19344 * util/hostdisk.c (device_is_mapped): New function.
19345 (find_partition_start): New function, partly broken out from
19346 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
19347 device-mapper support added.
19348 (linux_find_partition): Use find_partition_start.
19349 (convert_system_partition_to_system_disk): Add `st' argument.
19350 Support Linux /dev/mapper/* devices if device-mapper support is
19351 available; only DM-RAID devices are understood at present.
19352 (find_system_device): Add `st' argument. Pass it to
19353 convert_system_partition_to_system_disk.
19354 (grub_util_biosdisk_get_grub_dev): Pass stat result to
19355 find_system_device and convert_system_partition_to_system_disk. Use
19356 find_partition_start.
19357
19358 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
19359 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
19360 * util/deviceiter.c [__linux__]: Define MINOR.
19361 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
19362 * util/mkdevicemap.c (grub_putchar): New function.
19363 (grub_getkey): New function.
19364 (grub_refresh): New function.
19365 (main): Set debug=all if -v -v is used.
19366
19367 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
19368
19369 Fix build with non-GNU libcs.
19370
19371 * util/misc.c (canonicalize_file_name): Move to ...
19372 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
19373 grub_make_system_path_relative_to_its_root.
19374
19375 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
19376
19377 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
19378 we handle finding grub-mkimage. Default to finding grub-mkimage in
19379 ${bindir} with program_transform_name applied, and provide a
19380 --grub-mkimage option to override this.
19381
19382 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19383
19384 Remove grub-mkisofs.
19385
19386 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
19387 (grub_mkisofs_SOURCES): Removed.
19388 (grub_mkisofs_CFLAGS): Removed.
19389 * util/mkisofs/defaults.h: Removed.
19390 * util/mkisofs/eltorito.c: Likewise.
19391 * util/mkisofs/exclude.h: Likewise.
19392 * util/mkisofs/hash.c: Likewise.
19393 * util/mkisofs/include/: Likewise.
19394 * util/mkisofs/include/fctldefs.h: Likewise.
19395 * util/mkisofs/include/mconfig.h: Likewise.
19396 * util/mkisofs/include/prototyp.h: Likewise.
19397 * util/mkisofs/include/statdefs.h: Likewise.
19398 * util/mkisofs/iso9660.h: Likewise.
19399 * util/mkisofs/joliet.c: Likewise.
19400 * util/mkisofs/match.c: Likewise.
19401 * util/mkisofs/match.h: Likewise.
19402 * util/mkisofs/mkisofs.c: Likewise.
19403 * util/mkisofs/mkisofs.h: Likewise.
19404 * util/mkisofs/msdos_partition.h: Likewise.
19405 * util/mkisofs/multi.c: Likewise.
19406 * util/mkisofs/name.c: Likewise.
19407 * util/mkisofs/rock.c: Likewise.
19408 * util/mkisofs/tree.c: Likewise.
19409 * util/mkisofs/write.c: Likewise.
19410
19411 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19412
19413 Unify grub-mkimage accross platforms.
19414
19415 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
19416 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
19417 (grub_mkelfimage_SOURCES): Removed.
19418 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
19419 (util/grub-mkimage.c_DEPENDENCIES): .. this.
19420 (bin_UTILITIES): Add grub-mkimage.
19421 (grub_mkimage_SOURCES): New variable.
19422 (kernel_img_HEADERS): Remove machine/kernel.h.
19423 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
19424 (pkglib_PROGRAMS): Add kernel.img.
19425 (kernel_img_HEADERS): Add machine/kernel.h.
19426 (kernel_img_FORMAT): Removed.
19427 (bin_UTILITIES): Remove grub-mkimage.
19428 (grub_mkimage_SOURCES): Removed.
19429 (grub_mkimage_CFLAGS): Likewise.
19430 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19431 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
19432 (pkglib_PROGRAMS): Add kernel.img.
19433 (bin_UTILITIES): Remove grub-mkimage.
19434 (grub_mkimage_SOURCES): Removed.
19435 (grub_mkimage_CFLAGS): Likewise.
19436 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19437 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
19438 (pkglib_PROGRAMS): Add kernel.img.
19439 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
19440 (pkglib_PROGRAMS): Add kernel.img.
19441 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
19442 (grub_mkimage_SOURCES): Removed.
19443 (grub_mkimage_CFLAGS): Likewise.
19444 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19445 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
19446 (pkglib_PROGRAMS): Add kernel.img.
19447 (bin_UTILITIES): Remove grub-mkimage.
19448 (grub_mkimage_SOURCES): Removed.
19449 (grub_mkimage_CFLAGS): Likewise.
19450 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19451 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
19452 (grub_mkimage_SOURCES): Removed.
19453 (grub_mkimage_CFLAGS): Likewise.
19454 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19455 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
19456 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
19457 (grub_pe32_optional_header): ... this.
19458 (grub_pe64_optional_header): ... and this. All users updated.
19459 (GRUB_PE32_PE32_MAGIC): Split into ..
19460 (GRUB_PE32_PE32_MAGIC): .. this.
19461 (GRUB_PE32_PE64_MAGIC): .. and this.
19462 (GRUB_PE32_SIGNATURE_SIZE): New definition.
19463 * include/grub/elf.h (PT_GNU_STACK): New definition.
19464 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
19465 * include/grub/i386/efi/kernel.h: Likewise.
19466 * include/grub/i386/kernel.h: Likewise.
19467 * include/grub/i386/pc/kernel.h: Likewise.
19468 * include/grub/i386/qemu/boot.h: Likewise.
19469 * include/grub/mips/kernel.h: Likewise.
19470 * include/grub/mips/qemu-mips/kernel.h: Likewise.
19471 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
19472 * include/grub/powerpc/kernel.h: Likewise.
19473 * include/grub/sparc64/ieee1275/boot.h: Likewise.
19474 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
19475 * include/grub/sparc64/kernel.h: Likewise.
19476 * include/grub/x86_64/efi/kernel.h: Likewise.
19477 * include/grub/x86_64/kernel.h: Likewise.
19478 * include/grub/offsets.h: New file.
19479 * include/grub/kernel.h (grub_module_info): Split into ...
19480 (grub_module_info32): ... this.
19481 (grub_module_info64): ... and this.
19482 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
19483 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
19484 (grub_boot_blocklist): Moved from here ...
19485 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
19486 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
19487 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
19488 * include/grub/types.h (grub_target_to_host16): Removed.
19489 (grub_target_to_host32): Likewise.
19490 (grub_target_to_host64): Likewise.
19491 (grub_host_to_target16): Likewise.
19492 (grub_host_to_target32): Likewise.
19493 (grub_host_to_target64): Likewise.
19494 (grub_host_to_target_addr): Likewise.
19495
19496 Support grub-mkrescue for efi, coreboot and qemu.
19497
19498 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
19499 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
19500 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
19501 * util/grub-mkrawimage.c: Moved from here ...
19502 * util/grub-mkimage.c: ... here. All users updated.
19503 (ALIGN_ADDR): Use image_target.
19504 (TARGET_NO_FIELD): New const.
19505 (image_target_desc): New type.
19506 (image_targets): New array.
19507 (grub_target_to_host64): Use image_target.
19508 (grub_target_to_host32): Likewise.
19509 (grub_target_to_host16): Likewise.
19510 (grub_host_to_target64): Likewise.
19511 (grub_host_to_target32): Likewise.
19512 (grub_host_to_target16): Likewise.
19513 (grub_host_to_target_addr): Likewise.
19514 (generate_image): Handle multiimage.
19515 (main): Require -O parameter. All users updated.
19516 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
19517 util/efi/grub-mkimage.c
19518 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
19519 New option --rom-directory.
19520 Use xorriso.
19521 * util/i386/efi/grub-mkimage.c: Removed.
19522 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
19523 (grub_target_to_host32): Likewise.
19524 (grub_target_to_host64): Likewise.
19525 (grub_host_to_target16): Likewise.
19526 (grub_host_to_target32): Likewise.
19527 (grub_host_to_target64): Likewise.
19528 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
19529 (grub_target_to_host32): Likewise.
19530 (grub_target_to_host64): Likewise.
19531 (grub_host_to_target16): Likewise.
19532 (grub_host_to_target32): Likewise.
19533 (grub_host_to_target64): Likewise.
19534
19535 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
19536
19537 Source tree is reorganized for emu build.
19538
19539 * include/grub/util/console.h: Move from here...
19540 * include/grub/emu/console.h: ...to here.
19541 * include/grub/util/getroot.h: Move from here...
19542 * include/grub/emu/getroot.h: ...to here.
19543 * include/grub/util/hostdisk.h: Move from here...
19544 * include/grub/emu/hostdisk.h: ...to here.
19545 * util/console.c: Move from here...
19546 * kern/emu/console.c: ...to here.
19547 * util/getroot.c: Move from here...
19548 * kern/emu/getroot.c: ...to here.
19549 * util/grub-emu.c: Move from here...
19550 * kern/emu/main.c: ...to here.
19551 * util/hostdisk.c: Move from here...
19552 * kern/emu/hostdisk.c: ...to here.
19553 * util/hostfs.c: Move from here...
19554 * kern/emu/hostfs.c: ...to here.
19555 * util/mm.c: Move from here...
19556 * kern/emu/mm.c: ...to here.
19557 * util/pci.c: Move from here...
19558 * bus/emu/pci.c: ...to here.
19559 * util/sdl.c: Move from here...
19560 * video/emu/sdl.c: ...to here.
19561 * util/time.c: Move from here...
19562 * kern/emu/time.c: ...to here.
19563 * util/usb.c: Move from here...
19564 * bus/usb/emu/usb.c: ...to here.
19565
19566 * include/grub/emu/misc.h: New header for grub-emu functions.
19567 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
19568
19569 * conf/any-emu.rmk: Rule updates for above renames.
19570 * conf/common.rmk: Likewise.
19571 * conf/i386-pc.rmk: Likewise.
19572 * conf/i386-qemu.rmk: Likewise.
19573 * conf/mips.rmk: Likewise.
19574 * conf/sparc64-ieee1275.rmk: Likewise.
19575 * conf/x86-efi.rmk: Likewise.
19576
19577 * disk/lvm.h: #include updates for above renames.
19578 * util/grub-mkrelpath.c: Likewise.
19579 * util/grub-probe.c: Likewise.
19580 * util/i386/pc/grub-setup.c: Likewise.
19581 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19582 * kern/emu/console.c: Likewise.
19583 * kern/emu/getroot.c: Likewise.
19584 * kern/emu/hostdisk.c: Likewise.
19585 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
19586
19587 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
19588 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
19589 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
19590 * util/misc.c: Remove grub-emu functions.
19591
19592 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19593
19594 Fix gfxmenu crash.
19595 Reported by: Thorsten Grützmacher.
19596
19597 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
19598 timeout hook.
19599 (circprog_set_property): Register and unregister timeout hook.
19600 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
19601 (label_destroy): Free template. and unregister hook.
19602 (label_set_state): New function.
19603 (label_set_property): Handle templates and hooks.
19604 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
19605 timeout hook.
19606 (progress_bar_set_property): Register and unregister timeout hook.
19607 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
19608 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
19609 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
19610 (update_timeout_visit): Removed.
19611 (update_timeouts): New function.
19612 (redraw_timeouts): Likewise.
19613 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
19614 (grub_gfxmenu_clear_timeout): Likewise.
19615 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
19616 (grub_gfxmenu_timeout_notify): Likewise.
19617 (grub_gfxmenu_timeout_notifications): New external variable.
19618 (grub_gfxmenu_timeout_register): New function.
19619 (grub_gfxmenu_timeout_unregister): Likewise.
19620
19621 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19622
19623 Transform (broken) vga terminal into (working) vga video driver.
19624
19625 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
19626 video/i386/pc/vga.c.
19627 * include/grub/video.h (grub_video_driver_id):
19628 Add GRUB_VIDEO_DRIVER_VGA.
19629 * term/i386/pc/vga.c: Renamed to ...
19630 * video/i386/pc/vga.c: ...this
19631 (DEBUG_VGA): Removed.
19632 (CHAR_WIDTH): Likewise.
19633 (CHAR_HEIGHT): Likewise.
19634 (TEXT_WIDTH): Likewise.
19635 (TEXT_HEIGHT): Likewise.
19636 (DEFAULT_FG_COLOR): Likewise.
19637 (DEFAULT_BG_COLOR): Likewise.
19638 (colored_char): Likewise.
19639 (xpos): Likewise.
19640 (ypos): Likewise.
19641 (cursor_state): Likewise.
19642 (fg_color): Likewise.
19643 (bg_color): Likewise.
19644 (text_buf): Likewise.
19645 (page): Likewise.
19646 (font): Likewise.
19647 (framebuffer): New variable.
19648 (set_read_map): Disabled.
19649 (setup): New variable.
19650 (is_target): Likewise.
19651 (grub_vga_mod_init): Likewise.
19652 (grub_vga_mod_fini): Likewise.
19653 (check_vga_mem): Likewise.
19654 (write_char): Likewise.
19655 (write_cursor): Likewise.
19656 (scroll_up): Likewise.
19657 (grub_vga_putchar): Likewise.
19658 (grub_vga_getcharwidth): Likewise.
19659 (grub_vga_getwh): Likewise.
19660 (grub_vga_getxy): Likewise.
19661 (grub_vga_gotoxy): Likewise.
19662 (grub_vga_cls): Likewise.
19663 (grub_vga_setcolorstate): Likewise.
19664 (grub_vga_setcursor): Likewise.
19665 (grub_video_vga_init): New function.
19666 (grub_video_vga_setup): Likewise.
19667 (grub_video_vga_fini): Likewise.
19668 (update_target): Likewise.
19669 (grub_video_vga_blit_bitmap): Likewise.
19670 (grub_video_vga_blit_render_target): Likewise.
19671 (grub_video_vga_set_active_render_target): Likewise.
19672 (grub_video_vga_get_active_render_target): Likewise.
19673 (grub_video_vga_swap_buffers): Likewise.
19674 (grub_video_vga_set_palette): Likewise.
19675 (grub_video_vga_get_info_and_fini): Likewise.
19676 (grub_vga_term): Removed.
19677 (grub_video_vga_adapter): New variable.
19678 (GRUB_MOD_INIT): Register a video driver instead of terminal.
19679 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
19680
19681 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19682
19683 * video/readers/jpeg.c: Indented.
19684
19685 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19686
19687 Various jpeg cleanups.
19688
19689 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
19690 (grub_jpeg_decode_quan_table): Use sizeof.
19691 (grub_jpeg_decode_du): Use ARRAY_SIZE.
19692
19693 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
19694
19695 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
19696 tables. Ignore non-last ac bit.
19697 (grub_jpeg_decode_quan_table): Likewise.
19698
19699 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19700
19701 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
19702 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
19703 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19704 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
19705 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
19706 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
19707
19708 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19709
19710 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
19711 error.
19712
19713 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19714
19715 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
19716
19717 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
19718
19719 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
19720 condition.
19721
19722 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
19723
19724 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
19725 part.
19726
19727 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
19728
19729 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
19730 pointers.
19731
19732 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
19733
19734 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
19735
19736 2010-05-01 Christian Franke <franke@computer.org>
19737
19738 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
19739 Remove broken Cygwin path conversion.
19740 * util/misc.c: [__CYGWIN__] Add include and define.
19741 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
19742 for Cygwin 1.7.
19743 (make_system_path_relative_to_its_root): Simplify loop, replace early
19744 return by break.
19745 [__CYGWIN__] Add conversion to win32 path.
19746 Include "/" case in trailing slash removal.
19747
19748 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19749
19750 * kern/main.c (grub_load_config): Fix copy-pasted comment.
19751 Reported by: Seth Goldberg
19752
19753 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19754
19755 * commands/help.c (grub_cmd_help): Fix a typo.
19756 Reported by: Seth Goldberg
19757
19758 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19759
19760 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
19761 name and add N_.
19762 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
19763 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
19764 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
19765 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
19766 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
19767 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
19768 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
19769 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
19770 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
19771 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
19772 * normal/context.c (GRUB_MOD_INIT): Likewise.
19773 * normal/main.c (GRUB_MOD_INIT): Likewise.
19774 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
19775 * term/serial.c (GRUB_MOD_INIT): Likewise.
19776 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
19777
19778 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19779
19780 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
19781 extra == 0.
19782
19783 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19784
19785 * commands/iorw.c: New file.
19786 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
19787 (iorw_mod_SOURCES): New variable.
19788 (iorw_mod_CFLAGS): Likewise.
19789 (iorw_mod_LDFLAGS): Likewise.
19790
19791 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19792
19793 Hotkey support
19794
19795 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
19796 * normal/main.c (hotkey_aliases): New variable.
19797 (grub_normal_add_menu_entry): Parse "--hotkey".
19798 * normal/menu_text.c (run_menu): Handle hotkeys.
19799
19800 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19801
19802 * kern/i386/coreboot/init.c (grub_machine_init): Call
19803 grub_machine_mmap_init on qemu.
19804
19805 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19806
19807 * boot/i386/qemu/boot.S: Add a missing .code16.
19808
19809 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19810
19811 Use LBIO on coreboot.
19812
19813 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
19814 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
19815 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
19816 New declaration.
19817 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
19818 grub_machine_mmap_init on coreboot.
19819 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
19820 GRUB_LINUXBIOS_MEMBER_LINK.
19821 (grub_machine_mmap_iterate): Fix declaration.
19822 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
19823
19824 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19825
19826 Split coreboot and multiboot ports.
19827
19828 * conf/i386-multiboot.rmk: New file.
19829 * configure.ac: Add multiboot port.
19830 * include/grub/i386/multiboot/boot.h: New file.
19831 * include/grub/i386/multiboot/console.h: Likewise.
19832 * include/grub/i386/multiboot/init.h: Likewise.
19833 * include/grub/i386/multiboot/kernel.h: Likewise.
19834 * include/grub/i386/multiboot/loader.h: Likewise.
19835 * include/grub/i386/multiboot/memory.h: Likewise.
19836 * include/grub/i386/multiboot/serial.h: Likewise.
19837 * include/grub/i386/multiboot/time.h: Likewise.
19838 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
19839 * loader/multiboot.c: Likewise.
19840 * loader/multiboot_mbi2.c: Likewise.
19841 * util/grub-mkrescue.in: Generate multiboot rescue.
19842
19843 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19844
19845 * kern/parser.c (grub_parser_execute): Cope with read-only config.
19846
19847 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19848
19849 Merge handling of input and output terminals. Fix a hang.
19850
19851 * commands/terminal.c (abstract_terminal): New struct.
19852 (handle_command): New function. Based on grub_cmd_terminal_input.
19853 (grub_cmd_terminal_input): Use handle_command.
19854 (grub_cmd_terminal_output): Use handle_command.
19855
19856 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
19857
19858 Fix comment handling.
19859
19860 * tests/grub_script_comments.in: New testcase.
19861 * conf/tests.rmk: Rules for new testcase.
19862 * script/yylex.l: Updated flex rules.
19863
19864 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
19865
19866 * docs/grub.texi (play): Document that zero pitches produce rests.
19867 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
19868 if argc is 1.
19869
19870 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
19871
19872 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
19873 autogen issues.
19874
19875 2010-04-26 Christian Franke <franke@computer.org>
19876
19877 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
19878 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
19879 (grub_get_prefix): Remove function.
19880 * util/grub-emu.c (main): Replace grub_get_prefix () call by
19881 make_system_path_relative_to_its_root ().
19882 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
19883
19884 2010-04-24 Christian Franke <franke@computer.org>
19885
19886 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
19887 (kernel_img_LDFLAGS): Remove -static-libgcc.
19888
19889 2010-04-24 Christian Franke <franke@computer.org>
19890
19891 * configure.ac: Do not CHECK_BSS_START_SYMBOL
19892 and CHECK_END_SYMBOL if grub-emu is built.
19893 Unset TARGET_OBJ2ELF if grub-emu is built
19894 without module support.
19895
19896 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
19897
19898 Nilfs2 support.
19899
19900 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
19901 (grub_fstest_SOURCES): Likewise.
19902 (pkglib_MODULES): Add nilfs2.mod.
19903 (nilfs2_mod_SOURCES): New variable.
19904 (nilfs2_mod_CFLAGS): Likewise.
19905 (nilfs2_mod_LDFLAGS): Likewise.
19906 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
19907 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
19908 * fs/nilfs2.c: New file.
19909
19910 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
19911
19912 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
19913 is not supported.
19914
19915 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
19916
19917 Add grub-mkconfig support for NetBSD.
19918
19919 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
19920 * util/grub-mkconfig.in: export new NetBSD specific variables.
19921 * po/POTFILES-shell: added 10_netbsd.in.
19922 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
19923
19924 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
19925
19926 Fix emu build with grub-emu-pci and grub-emu-modules.
19927
19928 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
19929 functions.
19930 * include/grub/libpciaccess.h: New file.
19931 * conf/any-emu.rmk: Update kernel headers for emu build.
19932
19933 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19934
19935 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
19936
19937 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19938
19939 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
19940
19941 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19942
19943 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
19944 Retrieve chosen/bootpath if bootpath isn't hardcoded.
19945 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
19946 util/ieee1275/ofpath.c.
19947 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
19948 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
19949 * include/grub/sparc64/ieee1275/boot.h
19950 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
19951 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
19952 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
19953 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
19954 const char *.
19955 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
19956 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
19957 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
19958 install.
19959
19960 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
19961
19962 * util/grub-mkconfig.in: Corrected two == equality tests.
19963 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
19964 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
19965 expect a number appended to it.
19966 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
19967 expects a number appended to it.
19968
19969 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19970
19971 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
19972
19973 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19974
19975 * util/hostdisk.c (make_device_name): Change to new partition naming.
19976
19977 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
19978
19979 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
19980
19981 2010-04-17 Christian Franke <franke@computer.org>
19982
19983 * Makefile.in: Add missing localedir setting.
19984
19985 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
19986
19987 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
19988 mistake in r2156. Noticed by Anthony Fok.
19989
19990 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
19991 @localedir@.
19992 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
19993
19994 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
19995
19996 Fix a spurious, uninitialized variable warning.
19997
19998 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
19999 Initialize variable, shdr.
20000 (grub_freebsd_load_elfmodule): Likewise.
20001 (grub_freebsd_load_elf_meta): Likewise.
20002
20003 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
20004
20005 Fix for escaped dollar in double quoted strings.
20006
20007 * script/yylex.l: Updated flex rules.
20008 * conf/tests.rmk: Rule for new testcase.
20009 * tests/grub_script_dollar.in: New testcase.
20010
20011 2010-04-13 Carles Pina i Estany <carles@pina.cat>
20012 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
20013
20014 Enclose all translated strings in grub.cfg in single quotes, and
20015 escape them appropriately (Ubuntu bug #552921).
20016
20017 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
20018 * util/grub.d/10_hurd.in: Use it.
20019 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20020 * util/grub.d/10_linux.in (linux_entry): Likewise.
20021
20022 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20023
20024 Fix cygwin compilation.
20025
20026 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
20027 * include/grub/misc.h (__register_frame_info)
20028 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
20029 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
20030 * kern/misc.c (__register_frame_info)
20031 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
20032 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
20033
20034 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20035
20036 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
20037
20038 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20039
20040 Unify libgcc processing.
20041
20042 * Makefile.in (kernel_img_LDFLAGS): New variable.
20043 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
20044 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
20045 overwriting.
20046 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
20047 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
20048 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
20049 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
20050 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
20051 overwriting. Remove -lgcc and -static-libgcc
20052 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
20053 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
20054 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
20055 (kernel_img_LDFLAGS): Append instead of overwriting.
20056 Remove -lgcc and -static-libgcc
20057 * conf/sparc64-ieee1275.rmk: Likewise.
20058 * include/grub/powerpc/libgcc.h: Move to ...
20059 * include/grub/libgcc.h: .. this.
20060 * include/grub/libgcc.h: Don't export most of the function on x86.
20061 (__bswapsi2): New export.
20062 (__bswapdi2): Likewise.
20063 * include/grub/mips/libgcc.h: Removed.
20064 * include/grub/sparc64/libgcc.h: Likewise.
20065
20066 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20067
20068 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
20069 disk_info_msg (conflicts with gettexting into languages with cases).
20070
20071 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
20072
20073 Add grub-probe support for NetBSD.
20074
20075 * util/getroot.c (find_root_device): Convert block device to
20076 character device on NetBSD.
20077 * util/probe.c (probe): Require character device on NetBSD.
20078 * util/hostdisk.c: NetBSD specific headers.
20079 (configure_device_driver): new function to tune device driver
20080 parameters (currently only for NetBSD floppy driver).
20081 (grub_util_biosdisk_open): NetBSD specific code (get disk size
20082 via disklabel ioctl).
20083 (open_device): call configure_device_driver on NetBSD.
20084 (convert_system_partition_to_system_disk): NetBSD specific code.
20085 (device_is_wholedisk): Likewise.
20086 (grub_util_biosdisk_get_grub_dev): Likewise.
20087 (make_device_name): Fixed a typo in bsd_part_str.
20088 * configure.ac: check for opendisk() and getrawpartition() on
20089 NetBSD and set LIBUTIL.
20090 * Makefile.in: add LIBUTIL to LIBS.
20091
20092 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
20093
20094 Documentation fix.
20095
20096 * util/grub-script-check.c: Better help message.
20097
20098 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
20099
20100 Fix FreeBSD build.
20101
20102 * configure.ac: Flex version check.
20103 * conf/common.rmk: Add -Wno-error to sh.mod.
20104 * script/yylex.l: Remove all #pragma.
20105
20106 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20107
20108 * include/grub/util/misc.h (canonicalise_file_name): Add missing
20109 prototype.
20110 Reported by: Seth Goldberg.
20111
20112 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20113
20114 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
20115 Rename "module" to "module2".
20116 Reported by: Seth Goldberg.
20117
20118 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20119
20120 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
20121 EXPORT_FUNC.
20122 Reported by: Seth Goldberg.
20123
20124 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20125
20126 * lib/posix_wrap/locale.h: Add missing file.
20127 Reported by: Seth Goldberg.
20128
20129 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20130
20131 grub-emu module load support.
20132
20133 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
20134 NO_DYNAMIC_MODULES switched to this.
20135 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
20136 (CFLAGS): Likewise.
20137 * conf/any-emu.rmk: Generate symlist.
20138 (kernel_img_HEADERS): Add util/datetime.h.
20139 (kernel_img_HEADERS) [sdl]: Add sdl.h.
20140 (kernel_img_HEADERS) [libusb]: Add libusb.h.
20141 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
20142 kern/$(target_cpu)/cache.S.
20143 * configure.ac (grub-emu-modules): New option.
20144 * genmk.rb: Handle multiple source lists.
20145 * include/grub/sdl.h: New file.
20146 * include/grub/libusb.h: Likewise.
20147 * util/grub-emu.c (main): Hanle (host) root.
20148 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
20149 GRUB_ERR_UNKNOWN_DEVICE.
20150 * util/misc.c: Move mm functions to ...
20151 * util/mm.c: ... here. All users updated.
20152
20153 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20154
20155 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
20156 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
20157 missing files.
20158 (maintainer-clean): Remove libgcrypt-grub.
20159
20160 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20161
20162 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
20163
20164 2010-04-09 EFI Coder <eficoder@hotmail.com>
20165
20166 * normal/menu_text.c (print_message): Clean up the message and show
20167 the Fn information when on EFI
20168 * term/efi/console.c (grub_console_checkkey): Add F4 support.
20169
20170 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20171
20172 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
20173 All users updated.
20174 * normal/crypto.c (read_crypto_list): Likewise.
20175 * normal/dyncmd.c (read_command_list): Likewise.
20176 * normal/term.c (read_terminal_list): Likewise.
20177 * normal/main.c (read_lists): Use explicit prefix.
20178 (read_lists_hook): Use read_lists.
20179 (grub_normal_execute): Likewise.
20180
20181 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20182
20183 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
20184 Reported by: Thomas Schmitt.
20185 Add -no-emul-boot to grub-mkisofs parameters.
20186
20187 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20188
20189 * font/font.c: Indented.
20190
20191 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
20192
20193 Elif support to GRUB script (by Deepak Vankadaru).
20194
20195 * tests/grub_script_if.in: New testcase.
20196 * conf/tests.rmk: Rule for new testcase.
20197 * script/parser.y: Grammar rules for elif.
20198
20199 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
20200
20201 While and until loops support to GRUB script.
20202
20203 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
20204 (grub_script_create_cmdwhile): New function prototype.
20205 (grub_script_execute_cmdwhile): New function prototype.
20206 * script/execute.c (grub_script_execute_cmdwhile): New function.
20207 * script/parser.y (command): New commands.
20208 (whilecmd): New grammar rule.
20209 (untilcmd): New grammar rule.
20210 * script/script.c (grub_script_create_cmdwhile): New function.
20211 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
20212 function.
20213
20214 * tests/grub_script_while1.in: New testcase.
20215 * conf/tests.rmk: Rule for new testcase.
20216
20217 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20218
20219 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
20220 as *.jpg.
20221
20222 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
20223
20224 GRUB_BACKGROUND support.
20225
20226 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
20227 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
20228
20229 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20230
20231 Load fonts and modules for gfxmenu in grub-mkconfig.
20232 Idea by: Mario Vazquez
20233
20234 * util/grub.d/00_header.in: Load pf2 and image modules.
20235
20236 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20237
20238 grub-mkconfig multiple terminal support.
20239
20240 * util/grub-mkconfig.in: Handle multiple terminals correctly.
20241 * util/grub.d/00_header.in: Likewise.
20242
20243 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20244
20245 * Makefile.in: Specify files explicitly instead of using $< and $@ since
20246 we use cd $(srcdir).
20247
20248 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
20249
20250 * util/grub.d/10_linux.in: Only use the first word of
20251 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
20252 spaces in GRUB_DISTRIBUTOR.
20253 * util/grub.d/10_kfreebsd.in: Likewise.
20254 * util/grub.d/10_hurd.in: Likewise.
20255
20256 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
20257
20258 Fix unit testing framework for Qemu 0.12.
20259
20260 * tests/util/grub-shell.in: Remove -serial stdio option.
20261
20262 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20263
20264 POSIX header file wrappers.
20265
20266 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
20267 equivalents.
20268 * lib/posix_wrap/ctype.h: Likewise.
20269 * lib/posix_wrap/errno.h: Likewise.
20270 * lib/posix_wrap/langinfo.h: Likewise.
20271 * lib/posix_wrap/limits.h: Likewise.
20272 * lib/posix_wrap/localcharset.h: Likewise.
20273 * lib/posix_wrap/stdint.h: Likewise.
20274 * lib/posix_wrap/stdio.h: Likewise.
20275 * lib/posix_wrap/stdlib.h: Likewise.
20276 * lib/posix_wrap/string.h: Likewise.
20277 * lib/posix_wrap/sys/types.h: Likewise.
20278 * lib/posix_wrap/unistd.h: Likewise.
20279 * lib/posix_wrap/wchar.h: Likewise.
20280 * lib/posix_wrap/wctype.h: Likewise.
20281 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
20282 (grub_script.yy.h): Likewise.
20283 * script/yylex.l: Remove POSIX emulation #defines.
20284 * Makefile.in (POSIX_CFLAGS): New variable.
20285 (GNULIB_UTIL_CFLAGS): Likewise.
20286
20287 Regexp support.
20288
20289 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
20290 (regexp_mod_SOURCES): New variable.
20291 (regexp_mod_CFLAGS): Likewise.
20292 (regexp_mod_LDFLAGS): Likewise.
20293 * commands/regexp.c: New file.
20294 * gnulib/regcomp.c: New file. Imported from gnulib.
20295 * gnulib/regex.c: Likewise.
20296 * gnulib/regex_internal.c: Likewise.
20297 * gnulib/regex_internal.h: Likewise.
20298 * gnulib/regexec.c: Likewise.
20299 * gnulib/regex.h: Likewise.
20300
20301 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20302
20303 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
20304 unsupported video mode types.
20305
20306 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20307
20308 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
20309
20310 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20311
20312 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
20313 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
20314
20315 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
20316
20317 Remove unused grub_vga_get_font.
20318
20319 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
20320 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
20321
20322 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20323
20324 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
20325 * include/grub/misc.h: Likewise.
20326
20327 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20328
20329 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
20330 for which failure is fatal.
20331
20332 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20333
20334 * util/grub-install.in: Use mkdir -p to create grub directory.
20335 * util/i386/efi/grub-install.in: Likewise.
20336 * util/ieee1275/grub-install.in: Likewise.
20337
20338 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20339
20340 * Makefile.in (LEX): new variable.
20341
20342 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20343
20344 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
20345 `=' and added double quotes on operands of this equality test.
20346
20347 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
20348
20349 * Makefile.in (uninstall): Remove a leftover debug echo.
20350 Reported by: Grégoire Sutre
20351
20352 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
20353
20354 MIPS multiboot2 support.
20355
20356 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
20357 (multiboot2_mod_SOURCES): New variable.
20358 (multiboot2_mod_CFLAGS): Likewise.
20359 (multiboot2_mod_LDFLAGS): Likewise.
20360 (multiboot2_mod_ASFLAGS): Likewise.
20361 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
20362 definition.
20363 (MULTIBOOT_ENTRY_REGISTER): Likewise.
20364 (MULTIBOOT_MBI_REGISTER): Likewise.
20365 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
20366 (MULTIBOOT_ELF32_MACHINE): Likewise.
20367 (MULTIBOOT_ELF64_MACHINE): Likewise.
20368 * include/grub/mips/multiboot.h: New file.
20369 * include/grub/video.h (grub_video_driver_id): New type
20370 GRUB_VIDEO_DRIVER_SM712.
20371 (grub_video_get_info_and_fini): Export.
20372 (grub_video_get_palette): Likewise.
20373 (grub_video_get_driver_id): Likewise.
20374 * include/multiboot2.h: Resynced with spec.
20375 * loader/i386/multiboot.c: Moved from here ...
20376 * loader/multiboot.c: ... here. All users updated.
20377 (grub_multiboot_boot): Use platform-specific macros.
20378 * loader/i386/multiboot_elfxx.c: Moved from here ...
20379 * loader/multiboot_elfxx.c: ... here. All users updated.
20380 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
20381 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
20382 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
20383
20384 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20385
20386 Import gnulib argp module.
20387
20388 * gnulib/argp-ba.c: New file.
20389 * gnulib/argp-eexst.c: Likewise.
20390 * gnulib/argp-fmtstream.c: Likewise.
20391 * gnulib/argp-fmtstream.h: Likewise.
20392 * gnulib/argp-fs-xinl.c: Likewise.
20393 * gnulib/argp-help.c: Likewise.
20394 * gnulib/argp-namefrob.h: Likewise.
20395 * gnulib/argp-parse.c: Likewise.
20396 * gnulib/argp-pin.c: Likewise.
20397 * gnulib/argp-pv.c: Likewise.
20398 * gnulib/argp-pvh.c: Likewise.
20399 * gnulib/argp-version-etc.c: Likewise.
20400 * gnulib/argp-version-etc.h: Likewise.
20401 * gnulib/argp-xinl.c: Likewise.
20402 * gnulib/argp.h: Likewise.
20403
20404 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
20405
20406 * kern/device.c (grub_device_iterate): Clear errors after failed
20407 opening device.
20408
20409 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
20410
20411 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
20412 returned by firmware.
20413
20414 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20415
20416 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
20417 compilation on coreboot and qemu
20418
20419 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
20420
20421 * include/multiboot2.h: Resync with spec.
20422
20423 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
20424
20425 Multiboot2 tag support
20426
20427 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
20428 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
20429 Remove loader/multiboot_loader.c.
20430 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
20431 (grub_multiboot2_real_boot): Likewise.
20432 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
20433 (grub_get_multiboot_mmap_count): New proto.
20434 (grub_fill_multiboot_mmap): Likewise.
20435 (grub_multiboot_set_video_mode): Likewise.
20436 (grub_multiboot_set_console): Likewise.
20437 (grub_multiboot_load): Likewise.
20438 (grub_multiboot_load_elf): Likewise.
20439 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
20440 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
20441 * include/multiboot.h: Resynced with specification.
20442 * include/multiboot2.h: Resynced with specification.
20443 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
20444 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
20445 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
20446 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
20447 users updated.
20448 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
20449 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
20450 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
20451 Removed.
20452 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
20453 Moved from here...
20454 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
20455 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
20456 Moved from here...
20457 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
20458 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
20459 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
20460 All users updated.
20461 * loader/i386/multiboot_mbi2.c: New file.
20462
20463 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
20464
20465 Resync with gnulib.
20466
20467 * Makefile.in (GNULIB_CFLAGS): New variable.
20468 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
20469 (grub_script_check_CFLAGS): New variable.
20470 * gnulib/alloca.h: Resync with gnulib.
20471 * gnulib/error.c: Likewise.
20472 * gnulib/error.h: Likewise.
20473 * gnulib/fnmatch.c: Likewise.
20474 * gnulib/fnmatch_loop.c: Likewise.
20475 * gnulib/getdelim.c: Likewise.
20476 * gnulib/getline.c: Likewise.
20477 * gnulib/getopt.c: Likewise.
20478 * gnulib/getopt1.c: Likewise.
20479 * gnulib/getopt_int.h: Likewise.
20480 * gnulib/gettext.h: Likewise.
20481 * gnulib/progname.c: Likewise.
20482 * gnulib/progname.h: Likewise.
20483
20484 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
20485
20486 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
20487 which is the case with --disabled-nls.
20488
20489 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
20490 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
20491 * util/misc.c: Likewise.
20492 * util/mkisofs/mkisofs.c: Likewise.
20493 * util/mkisofs/mkisofs.h: Likewise.
20494
20495 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
20496
20497 Simplify Apple CC support.
20498
20499 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
20500 Add 0 byte at the end not to have a symbol with empty target.
20501 * mmap/i386/pc/mmap_helper.S: Likewise.
20502 * genmk.rb: Ignore errors 2030 and 2050.
20503 * kern/i386/pc/startup.S: Use LOCAL when possible.
20504
20505 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
20506
20507 Testcase and the fix for final semicolon on cmdline.
20508
20509 * tests/grub_script_final_semicolon.in: New testcase.
20510 * conf/tests.rmk: Rules for the new testcase.
20511 * script/parser.y: Grammar fix.
20512
20513 2010-03-26 BVK Chaitanya <bvk@localhost>
20514
20515 Blank lines testcase for GRUB script.
20516
20517 * tests/grub_script_blanklines.in: New testcase.
20518 * conf/tests.rmk: Rules for the new testcase.
20519
20520 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20521
20522 Don't use __FILE__.
20523
20524 * genmk.rb: Add -DGRUB_FILE to all C targets.
20525 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
20526 * include/grub/list.h: Likewise.
20527 * include/grub/misc.h: Likewise.
20528 * include/grub/mm.h: Likewise.
20529 * include/grub/test.h: Likewise.
20530 * kern/mm.c: Likewise.
20531 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
20532
20533 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20534
20535 Sunpc partitions support.
20536
20537 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
20538 (grub_fstest_SOURCES): Likewise.
20539 (pkglib_MODULES): Add part_sunpc.mod.
20540 (part_sunpc_mod_SOURCES): New variable.
20541 (part_sunpc_mod_CFLAGS): Likewise.
20542 (part_sunpc_mod_LDFLAGS): Likewise.
20543 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
20544 * partmap/sunpc.c: New file.
20545
20546 2010-03-26 BVK Chaitanya <bvk@localhost>
20547
20548 For loop support to GRUB script.
20549
20550 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
20551 (grub_script_create_cmdfor): New function prototype.
20552 (grub_script_execute_cmdfor): New function prototype.
20553 * script/execute.c (grub_script_execute_cmdfor): New function.
20554 * script/parser.y (command): New for command.
20555 (forcmd): New grammar rule.
20556 * script/script.c (grub_script_create_cmdfor): New function.
20557 * util/grub-script-check.c (grub_script_execute_cmdfor): New
20558 function.
20559 * tests/grub_script_for1.in: New testcase.
20560 * conf/tests.rmk: Rules for new testcase.
20561
20562 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20563
20564 Nested partitions
20565
20566 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
20567 'partition' is NULL, grub_partition_get_start already does that.
20568 * commands/loadenv.c (check_blocklists): Likewise.
20569 (write_blocklists): Likewise.
20570 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
20571 (grub_fstest_SOURCES): Likewise.
20572 (pkglib_MODULES): Add part_bsd.mod.
20573 (part_bsd_mod_SOURCES): New variable.
20574 (part_bsd_mod_CFLAGS): Likewise.
20575 (part_bsd_mod_LDFLAGS): Likewise.
20576 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
20577 (grub_emu_SOURCES): Likewise.
20578 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20579 * include/grub/bsdlabel.h: New file.
20580 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
20581 'get_name'.
20582 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
20583 (grub_partition_map_list): New variable.
20584 (grub_partition_map_register): Inline.
20585 (grub_partition_map_unregister): Likewise.
20586 (FOR_PARTITION_MAPS): New macro.
20587 (grub_partition_map_iterate): Removed.
20588 (grub_partition_get_start): Handle nested partitions.
20589 * include/grub/msdos_partition.h: Remove bsd-related entries.
20590 (grub_pc_partition): Remove.
20591 * kern/disk.c (grub_disk_close): Free partition data.
20592 (grub_disk_adjust_range): Handle nested partitions.
20593 * kern/partition.c (grub_partition_map_probe): New function.
20594 (grub_partition_probe): Parse name to number, handle subpartitions.
20595 (get_partmap): New function.
20596 (grub_partition_iterate): Handle subpartitions.
20597 (grub_partition_get_name): Likewise.
20598 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
20599 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
20600 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
20601 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
20602 Set 'number'.
20603 (acorn_partition_map_probe): Remove.
20604 (acorn_partition_map_get_name): Likewise.
20605 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
20606 Set 'number'.
20607 Set 'index' to 0 since there can be only one partition entry per sector.
20608 (amiga_partition_map_probe): Remove.
20609 (amiga_partition_map_get_name): Likewise.
20610 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
20611 Set 'number'.
20612 Set 'offset' and 'index' to real positions of partitions.
20613 (apple_partition_map_probe): Remove.
20614 (apple_partition_map_get_name): Likewise.
20615 * partmap/bsdlabel.c: New file.
20616 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
20617 Set 'number'.
20618 Allocate 'data' so it can be correctly freed.
20619 Set 'index' to offset inside sector.
20620 (gpt_partition_map_probe): Remove.
20621 (gpt_partition_map_get_name): Likewise.
20622 * partmap/msdos.c (grub_partition_parse): Remove.
20623 (pc_partition_map_iterate): Don't force raw access.
20624 Set 'number'.
20625 Make 'ext_offset' a local variable.
20626 (pc_partition_map_probe): Remove.
20627 (pc_partition_map_get_name): Remove.
20628 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
20629 Set 'number'.
20630 (sun_partition_map_probe): Remove.
20631 (sun_partition_map_get_name): Likewise.
20632 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
20633 (grub_pcpart_type): Likewise.
20634 * util/hostdisk.c (open_device): Handle new numbering scheme.
20635 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
20636 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
20637 * util/grub-probe.c (probe_partmap): Handle nested paritions.
20638 * util/grub-install.in: Insert all subpartition modules.
20639 * util/ieee1275/grub-install.in: Likewise.
20640
20641 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
20642
20643 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
20644 grammar.
20645
20646 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
20647
20648 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
20649
20650 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
20651
20652 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
20653 match where 'make install' puts them.
20654 * util/i386/efi/grub-install.in: Likewise.
20655
20656 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
20657
20658 * .bzrignore: Add gentrigtables, grub-script-check,
20659 grub_script_check_init.c, grub_script_check_init.h, and
20660 trigtables.c.
20661
20662 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
20663
20664 * kern/parser.c: Indented.
20665
20666 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
20667
20668 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
20669
20670 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
20671
20672 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
20673 alpha_mask_size == 0 case.
20674
20675 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
20676
20677 GRUB shell lexer and parser improvements.
20678
20679 * conf/any-emu.rmk: Build rule updates.
20680 * conf/common.rmk: Likewise.
20681 * conf/i386-coreboot.rmk: Likewise.
20682 * conf/i386-efi.rmk: Likewise.
20683 * conf/i386-ieee1275.rmk: Likewise.
20684 * conf/i386-pc.rmk: Likewise.
20685 * conf/powerpc-ieee1275.rmk: Likewise.
20686 * conf/x86_64-efi.rmk: Likewise.
20687
20688 * configure.ac: Configure check for flex.
20689
20690 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
20691 types.
20692 (grub_lexer_param): Struct member updates.
20693 (grub_parser_param): Likewise.
20694 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
20695 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
20696 (grub_script_lexer_init): Prototype update.
20697 (grub_script_lexer_record_start): Likewise.
20698 (grub_script_lexer_record_stop): Likewise.
20699 (grub_script_lexer_yywrap): New function prototype.
20700 (grub_script_lexer_fini): Likewise.
20701 (grub_script_execute_argument_to_string): Removed by...
20702 (grub_script_execute_argument_to_argv): ...better version.
20703
20704 * script/execute.c (ROUND_UPTO): New macro.
20705 (grub_script_execute_cmdline): Out of memory fixes.
20706 (grub_script_execute_menuentry): Likewise.
20707 (grub_script_execute_argument_to_string): Removed. Update all
20708 users by...
20709 (grub_script_execute_argument_to_argv): ...better version.
20710 * script/function.c (grub_script_function_create): Use
20711 grub_script_execute_argument_to_argv instead of
20712 grub_script_execute_argument_to_string.
20713
20714 * script/lexer.c (check_varstate): Removed.
20715 (check_textstate): Removed.
20716 (grub_script_lexer_record_start): Likewise.
20717 (grub_script_lexer_record_stop): Likewise.
20718 (recordchar): Replaced with...
20719 (grub_script_lexer_record): ...new function.
20720 (nextchar): Removed.
20721 (grub_script_lexer_init): Rewritten.
20722 (grub_script_yylex): Rewritten.
20723 (append_newline): New function.
20724 (grub_script_lexer_yywrap): New function.
20725 (grub_script_lexer_fini): New function.
20726 (grub_script_yyerror): Sets error flag.
20727
20728 * script/yylex.l: New file.
20729 (grub_lexer_yyfree): Wrapper for flex yyffre.
20730 (grub_lexer_yyalloc): Likewise.
20731 (grub_lexer_yyrealloc): Likewise.
20732 * script/parser.y: Refactored.
20733
20734 * script/script.c (grub_script_arg_add): Out of memory fixes.
20735 (grub_script_add_arglist): Likewise.
20736 (grub_script_create_cmdline): Likewise.
20737 (grub_script_create_cmdmenu): Likewise.
20738 (grub_script_add_cmd): Likewise.
20739 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
20740 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
20741 unnecessary code.
20742
20743 * tests/grub_script_echo1.in: New testcase.
20744 * tests/grub_script_vars1.in: New testcase.
20745 * tests/grub_script_echo_keywords.in: New testcase.
20746
20747 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20748
20749 Remove some redundancy in build system.
20750
20751 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
20752 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
20753 (TARGET_LDFLAGS): Add -nostdlib.
20754 (TARGET_IMG_LDFLAGS): Likewise.
20755 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
20756 anything since mmap isn't available.
20757 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
20758 Add util/time.c.
20759 (pkglib_MODULES): Remove reboot.mod.
20760 (reboot_mod_SOURCES): Removed.
20761 (reboot_mod_CFLAGS): Likewise.
20762 (reboot_mod_LDFLAGS): Likewise.
20763 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
20764 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
20765 (DEFSYMFILES): Add kernel_syms.lst.
20766 (kernel_img_HEADERS): Add common headers.
20767 (symlist.c): New target.
20768 (kernel_syms.lst): Likewise.
20769 (pkglib_MODULES): Add memdisk.mod.
20770 (memdisk_mod_SOURCES): New variable.
20771 (memdisk_mod_CFLAGS): Likewise.
20772 (memdisk_mod_LDFLAGS): Likewise.
20773 (pkglib_MODULES): Add reboot.mod.
20774 (reboot_mod_SOURCES): New variable.
20775 (reboot_mod_CFLAGS): Likewise.
20776 (reboot_mod_LDFLAGS): Likewise.
20777 (pkglib_MODULES): Add date.mod.
20778 (date_mod_SOURCES): New variable.
20779 (date_mod_CFLAGS): Likewise.
20780 (date_mod_LDFLAGS): Likewise.
20781 (pkglib_MODULES): Add datehook.mod.
20782 (datehook_mod_SOURCES): New variable.
20783 (datehook_mod_CFLAGS): Likewise.
20784 (datehook_mod_LDFLAGS): Likewise.
20785 (pkglib_MODULES): Add lsmmap.mod.
20786 (lsmmap_mod_SOURCES): New variable.
20787 (lsmmap_mod_CFLAGS): Likewise.
20788 (lsmmap_mod_LDFLAGS): Likewise.
20789 (pkglib_MODULES): Add boot.mod.
20790 (boot_mod_SOURCES): New variable.
20791 (boot_mod_CFLAGS): Likewise.
20792 (boot_mod_LDFLAGS): Likewise.
20793 * conf/i386-coreboot.rmk: Removed redundant parts.
20794 * conf/i386-ieee1275.rmk: Likewise.
20795 * conf/i386-pc.rmk: Likewise.
20796 * conf/mips-yeeloong.rmk: Likewise.
20797 * conf/mips.rmk: Likewise.
20798 * conf/powerpc-ieee1275.rmk: Likewise.
20799 * conf/sparc64-ieee1275.rmk: Likewise.
20800 * conf/x86_64-efi.rmk: Likewise.
20801 * conf/i386-coreboot.rmk: Moved qemu parts ..
20802 * conf/i386-qemu.rmk: ... here
20803 * conf/i386-efi.rmk: Moved common parts to...
20804 * conf/x86-efi.rmk: ... here.
20805 * conf/i386.rmk: Added modules common to all x86 variants.
20806 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
20807 * disk/memdisk.c: Remove grub/machine/kernel.h.
20808 * gensymlist.sh.in: Include symbol.h.
20809 * hook/datehook.c: Correct module name.
20810 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
20811 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
20812 * include/grub/i386/efi/serial.h: New file.
20813 * include/grub/x86_64/efi/serial.h: Likewise.
20814 * util/time.c: Likewise.
20815 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
20816
20817 2010-03-14 Colin King <colin.king@ubuntu.com>
20818 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
20819
20820 Shrink the pre-partition-table part of boot.img by eight bytes.
20821
20822 * boot/i386/pc/boot.S (ERR): New macro.
20823 (chs_mode): Use ERR.
20824 (geometry_error): Likewise.
20825 (hd_probe_error): Remove. This is only used once, so we wrwite
20826 it inline instead.
20827 (read_error): Instead of printing read_error_string, just set up
20828 %si and fall through to ...
20829 (error_message): ... this new function, also used by ERR.
20830
20831 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
20832
20833 Speed up consecutive hostdisk operations on the same device.
20834
20835 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
20836 (grub_util_biosdisk_open): Initialise disk->data.
20837 (struct linux_partition_cache): New structure.
20838 (linux_find_partition): Cache partition start positions; these are
20839 expensive to compute on every read and write.
20840 (open_device): Cache open file descriptor in disk->data, so that we
20841 don't have to reopen it and flush the buffer cache for consecutive
20842 operations on the same device.
20843 (grub_util_biosdisk_close): New function.
20844 (grub_util_biosdisk_dev): Set `close' member.
20845
20846 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
20847 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
20848 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
20849 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
20850 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
20851
20852 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20853
20854 Compile parts of grub-emu as modules.
20855
20856 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
20857 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
20858 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
20859 (all-local): Add $(GRUB_EMU).
20860 (install-local): Install $(GRUB_EMU).
20861 (uninstall): Uninstall $(GRUB_EMU).
20862 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
20863 * kern/dl.c: Likewise.
20864 * commands/sleep.c: Not include machine/time.h.
20865 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
20866 (COMMON_CFLAGS): Likewise.
20867 (sbin_UTILITIES): Remove grub-emu.
20868 (grub_emu_SOURCES): Removed.
20869 (kernel_img_RELOCATABLE): New variable.
20870 (pkglib_PROGRAMS): Add kernel.img.
20871 (kernel_img_SOURCES): New variable
20872 (kernel_img_CFLAGS): Likewise.
20873 (kernel_img_LDFLAGS): Likewise.
20874 (TARGET_NO_STRIP): Likewise.
20875 (TARGET_NO_DYNAMIC_MODULES): Likewise.
20876 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
20877 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
20878 (grub-emu): New target.
20879 (GRUB_EMU): New variable.
20880 * configure.ac: Whitelist -emu as possible x86_64 architecture.
20881 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
20882 * loader/xnu.c: Likewise.
20883 * include/grub/pci.h: Likewise.
20884 * genemuinit.sh: New file.
20885 * genemuinitheader.sh: Likewise.
20886 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
20887 Support TARGET_NO_DYNAMIC_MODULES.
20888 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
20889 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
20890 * disk/loopback.c: Likewise.
20891 * font/font_cmd.c: Likewise.
20892 * partmap/acorn.c: Likewise.
20893 * partmap/amiga.c: Likewise.
20894 * partmap/apple.c: Likewise.
20895 * partmap/gpt.c: Likewise.
20896 * partmap/msdos.c: Likewise.
20897 * partmap/sun.c: Likewise.
20898 * parttool/msdospart.c: Likewise.
20899 * term/gfxterm.c: Likewise.
20900 * video/bitmap.c: Likewise.
20901 * video/readers/jpeg.c: Likewise.
20902 * video/readers/png.c: Likewise.
20903 * video/readers/tga.c: Likewise.
20904 * video/video.c: Likewise.
20905 * util/grub-emu.c (read_command_list): Removed.
20906 (main): Don't call util_init_nls.
20907 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
20908 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
20909
20910 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20911
20912 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
20913 date.mod, datehook.mod.
20914 (datetime_mod_SOURCES): New variable.
20915 (datetime_mod_CFLAGS): Likewise.
20916 (datetime_mod_LDFLAGS): Likewise.
20917 (date_mod_SOURCES): Likewise.
20918 (date_mod_CFLAGS): Likewise.
20919 (date_mod_LDFLAGS): Likewise.
20920 (datehook_mod_SOURCES): Likewise.
20921 (datehook_mod_CFLAGS): Likewise.
20922 (datehook_mod_LDFLAGS): Likewise.
20923 * conf/sparc64-ieee1275.rmk: Likewise.
20924 * lib/ieee1275/datetime.c: New file.
20925
20926 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20927
20928 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
20929 (ieee1275_fb_mod_SOURCES): New variable.
20930 (ieee1275_fb_mod_CFLAGS): Likewise.
20931 (ieee1275_fb_mod_LDFLAGS): Likewise.
20932 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
20933 New proto.
20934 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
20935 (HEAP_MAX_ADDR): Likewise.
20936 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
20937 type.
20938 Correct stop condition.
20939 (grub_ieee1275_devices_iterate): New function.
20940 * video/ieee1275.c: New file.
20941
20942 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20943
20944 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
20945
20946 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
20947 as scratch.
20948 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
20949 SCRATCH_PAD_DISKBOOT as scratch.
20950 (bootit): Pass Openfirmware pointer in %o4.
20951 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
20952 of 0x200000.
20953 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
20954 with util/grub-mkrawimage.c.
20955 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
20956 * include/grub/aout.h (AOUT_MID_SUN): New definition.
20957 (grub_aout_get_type) [GRUB_UTIL]: Removed.
20958 (grub_aout_load) [GRUB_UTIL]: Likewise.
20959 * include/grub/kernel.h (grub_modules_get_end): New proto.
20960 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
20961 (SCRATCH_PAD_BOOT): New definition.
20962 (SCRATCH_PAD_DISKBOOT): Likewise.
20963 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
20964 * include/grub/sparc64/ieee1275/ieee1275.h
20965 (grub_ieee1275_original_stack): New variable
20966 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
20967 New definition
20968 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
20969 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
20970 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
20971 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
20972 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
20973 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
20974 (grub_platform_image_format_t): New type.
20975 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
20976 * kern/main.c (grub_modules_get_end)
20977 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
20978 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
20979 (codestart): Switch stacks.
20980 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
20981 variable.
20982 (grub_heap_init): Use grub_modules_get_end.
20983 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
20984 stack.
20985 * util/grub-mkrawimage.c (generate_image): Support sparc64.
20986 (main): Likewise.
20987 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
20988
20989 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
20990
20991 * util/grub-mkrescue.in: Base ISO UUID on UTC.
20992
20993 2010-03-08 Matt Kraai <kraai@ftbfs.org>
20994
20995 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
20996 bug #559005).
20997
20998 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
20999
21000 * genmoddep.awk: Output all missing symbols and not only first.
21001
21002 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21003
21004 * NEWS: Put the date of 1.98 release.
21005
21006 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21007
21008 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
21009 ft2build.h.
21010
21011 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21012
21013 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
21014 completition in the middle of string.
21015
21016 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21017
21018 * util/grub-mkrescue.in: Use mktemp with explicit template.
21019
21020 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21021
21022 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
21023
21024 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21025
21026 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
21027 right pointer.
21028
21029 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
21030
21031 Fix FreeBSD compilation.
21032
21033 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
21034 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
21035
21036 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
21037
21038 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
21039
21040 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21041
21042 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
21043
21044 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21045
21046 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
21047
21048 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
21049
21050 Support relative image path in theme file.
21051
21052 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
21053 (image_set_property): Handle theme_dir and relative path.
21054
21055 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21056
21057 * configure.ac: Alias amd64 to x86_64.
21058
21059 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21060
21061 * NEWS: mention multiboot on EFI.
21062
21063 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21064
21065 * kern/main.c (grub_load_modules): Handle errors from init functions of
21066 embeded modules.
21067
21068 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21069
21070 * normal/autofs.c (autoload_fs_module): Handle errors.
21071
21072 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21073
21074 Disable linux.mod on qemu-mips since it's not functional and leads
21075 to compilation failure.
21076
21077 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
21078 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
21079 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
21080 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
21081 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
21082 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
21083 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
21084 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
21085 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
21086 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
21087 Reported by: BVK Chaitanya
21088
21089 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
21090
21091 * INSTALL: Add gettext as a dependency and add qemu to a new section
21092 "Prerequisites for make-check".
21093
21094 2010-03-04 Christian Franke <franke@computer.org>
21095
21096 * util/grub-pe2elf.c: Add missing include "progname.h".
21097
21098 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21099
21100 * normal/crypto.c (read_crypto_list): Fix a typo.
21101 Reported by: Seth Goldberg.
21102
21103 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21104
21105 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
21106 Reported by: Seth Goldberg.
21107
21108 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21109
21110 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
21111 ascii.bitmaps.
21112
21113 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21114
21115 * genmk.rb: Remove terminal*.lst in make clean.
21116 Reported by: Seth Goldberg.
21117
21118 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21119
21120 * util/i386/efi/grub-install.in: Copy gettext files.
21121
21122 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21123
21124 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
21125
21126 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21127
21128 Wait for user entry basing on presence of output rather than on errors.
21129
21130 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
21131 (grub_install_newline_hook): Likewise.
21132 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
21133 * normal/menu.c (show_menu): Check line_counter to determine presence
21134 of output.
21135 * normal/term.c (grub_normal_line_counter): New variable.
21136 (grub_normal_get_line_counter): New function.
21137 (grub_install_newline_hook): Likewise.
21138
21139 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21140
21141 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
21142
21143 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21144
21145 * configure.ac: Update version to 1.98.
21146
21147 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
21148
21149 * util/grub.d/10_linux.in (linux_entry): Don't default to
21150 gfxpayload=keep if Linux doesn't support video handover.
21151
21152 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
21153
21154 Don't compile video modules on yeeloong since video subsystem is part
21155 of kernel.
21156
21157 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
21158 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
21159 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
21160 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
21161 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
21162 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
21163 * include/grub/bitmap_scale.h: Likewise.
21164 * include/grub/bufio.h: Likewise.
21165 * include/grub/font.h: Likewise.
21166 * include/grub/gfxterm.h: Likewise.
21167 * include/grub/video.h: Likewise.
21168 * include/grub/vbe.h: Don't include video_fb.h.
21169 * video/i386/pc/vbe.c: Include video_fb.h.
21170 * commands/i386/pc/vbetest.c: Include video.h.
21171
21172 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
21173
21174 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
21175 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
21176 default entry if GRUB_SAVEDEFAULT=true. This allows using
21177 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
21178 saving a new default on every boot.
21179
21180 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
21181
21182 * normal/crypto.c (read_crypto_list): Fix a memory leak.
21183 * normal/term.c (read_terminal_list): Likewise.
21184 * normal/main.c (grub_normal_init_page): Likewise.
21185 (grub_normal_read_line_real): Likewise.
21186
21187 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
21188
21189 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
21190 memory leak.
21191 Reported by: Seth Goldberg.
21192
21193 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
21194
21195 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
21196 duplicate declaration of `start'.
21197
21198 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
21199
21200 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
21201 filename.
21202 Reported by: Georgy Buranov
21203
21204 2010-02-20 Carles Pina i Estany <carles@pina.cat>
21205
21206 * util/grub-mkrawimage.c (usage): Change string formatting to
21207 improve gettext.
21208
21209 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
21210
21211 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
21212 backspace keys.
21213
21214 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
21215
21216 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
21217 Reported by: Michael Suchanek.
21218
21219 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
21220
21221 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
21222 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
21223
21224 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
21225
21226 Remove any reference to non-free fonts.
21227
21228 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
21229 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
21230 uses non-free components.
21231 * font/font.c (grub_font_get_name): Remove example name.
21232 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
21233 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
21234 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
21235 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
21236
21237 2010-02-16 Georgy Buranov <gburanov@gmail.com>
21238
21239 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
21240
21241 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
21242
21243 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
21244 Double divisor.
21245 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
21246 features.
21247 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
21248
21249 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
21250
21251 * gensymlist.sh.in: Use TARGET_CC instead of CC.
21252
21253 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21254
21255 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
21256 * docs/grub.texi (Command-line and menu entry commands): Document play
21257 command.
21258
21259 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21260
21261 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
21262 parse arguments as inline tempo and notes. Move code for playing notes
21263 to...
21264 (play): ... new function.
21265
21266 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21267
21268 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
21269 grub_uint16_t instead of short.
21270 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
21271 disk from little endian to cpu endianness.
21272
21273 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
21274
21275 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
21276 GRUB_TICKS_PER_SECOND instead of 120.
21277
21278 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21279
21280 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
21281 escape sequence after \e.
21282
21283 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21284
21285 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
21286 non-ASCII characters.
21287
21288 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21289
21290 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
21291 set root in single quotes to prevent \, from being unescaped.
21292
21293 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21294
21295 Prevent unknown commands from stopping menuentry execution.
21296
21297 * script/execute.c (grub_script_execute_cmdline): Print error after
21298 unknown command.
21299
21300 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21301
21302 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
21303 Reported by: Pavel Pisa.
21304
21305 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21306
21307 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
21308
21309 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21310
21311 Merge grub_ieee1275_map_physical into grub_map and rename to
21312 grub_ieee1275_map
21313
21314 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
21315 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
21316 Remove.
21317 * kern/ieee1275/openfw.c (grub_map): Rename to ...
21318 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
21319 necessary.
21320 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
21321
21322 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21323
21324 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
21325 opening and not after.
21326
21327 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21328
21329 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
21330 constants.
21331
21332 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21333
21334 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
21335 (alloc_phys): Use ALIGN_UP instead of align_addr.
21336
21337 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21338
21339 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
21340
21341 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21342
21343 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
21344
21345 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21346
21347 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
21348 verbose dprintf.
21349
21350 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21351
21352 Fix over-4GiB seek on sparc64.
21353
21354 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
21355 Replace pos_i and pos_lo with pos. All users updated.
21356 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
21357 New constant.
21358 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
21359 Likewise.
21360 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
21361 and pos_lo.
21362
21363 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21364
21365 * util/grub-mkrawimage.c (main): Call set_program_name.
21366
21367 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21368
21369 Properly align 64-bit targets.
21370
21371 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
21372 (generate_image): Use ALIGN_ADDR.
21373
21374 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21375
21376 Properly create cross-endian images.
21377
21378 * include/grub/types.h (grub_host_to_target_addr): New macro
21379 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
21380
21381 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21382
21383 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
21384
21385 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
21386
21387 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
21388
21389 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
21390 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
21391 (grub_linux_boot): Divide by 64K when on VESA.
21392
21393 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
21394
21395 Support GRUB_GFXPAYLOAD_LINUX.
21396
21397 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
21398 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
21399
21400 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
21401
21402 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
21403 to show messages instead of discarding them.
21404 Process errors after executing command and not before. Keep old method
21405 too as precaution.
21406
21407 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
21408
21409 * configure.ac: Check for ft2build.h.
21410
21411 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21412
21413 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
21414
21415 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21416
21417 * genkernsyms.sh.in: Use TARGET_CC.
21418
21419 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
21420
21421 * NEWS: Update.
21422
21423 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21424
21425 * include/grub/multiboot2.h: Remove leftover file.
21426 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
21427 * include/grub/partition.h [GRUB_UTIL]: Likewise.
21428
21429 2010-02-07 Yves Blusseau <blusseau@zetam.org>
21430
21431 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
21432
21433 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21434
21435 Fix warnings in grub-emu when compiling with maximum warning options.
21436
21437 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
21438 (grub_arch_modules_addr): Return 0 and not NULL.
21439 * util/misc.c (ENABLE_RELOCATABLE): New definition.
21440 (xstrdup): Use newstr instead of dup.
21441 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
21442 of disk to dsk to avoid shadowing.
21443 (find_free_slot): Fix prototype.
21444 * util/getroot.c (grub_util_is_dmraid): Make static.
21445 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
21446 Add missing prototype.
21447 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
21448
21449 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21450
21451 * loader/i386/linux.c (grub_linux_setup_video): Handle error
21452 appropriately.
21453
21454 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21455
21456 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
21457 code out.
21458
21459 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21460
21461 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
21462 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
21463 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
21464 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
21465 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
21466 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
21467
21468 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21469
21470 * include/grub/err.h (grub_err_printf): Don't export.
21471
21472 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21473
21474 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
21475
21476 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21477
21478 * include/grub/i18n.h (grub_gettext_dummy): Removed.
21479 * kern/misc.c (grub_gettext_dummy): Make static.
21480
21481 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21482
21483 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
21484 by non-valid ones.
21485 * kern/term.c (grub_putchar): Likewise.
21486
21487 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21488
21489 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
21490 buggy hook call and memory leak.
21491
21492 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21493
21494 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
21495
21496 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21497
21498 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
21499
21500 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21501
21502 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
21503 modevar.
21504 Return grub_errno on allocation error.
21505
21506 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21507
21508 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
21509
21510 2010-02-06 Yves Blusseau <blusseau@zetam.org>
21511
21512 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
21513 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
21514
21515 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21516
21517 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
21518 non-pxe disk.
21519 (grub_pxefs_open): Likewise.
21520
21521 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
21522
21523 * util/grub.d/10_hurd.in: Add --class information to menuentries.
21524 * util/grub.d/10_kfreebsd.in: Likewise.
21525 * util/grub.d/10_linux.in: Likewise.
21526
21527 2010-02-06 Colin D Bennett <colin@gibibit.com>
21528
21529 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
21530 (gfxmenu_mod_SOURCES): New variable.
21531 (gfxmenu_mod_CFLAGS): Likewise.
21532 (gfxmenu_mod_LDFLAGS): Likewise.
21533 * include/grub/term.h (grub_term_set_current_output): Declare
21534 argument as const.
21535 * docs/gfxmenu-theme-example.txt: New file.
21536 * gfxmenu/gfxmenu.c: Likewise.
21537 * gfxmenu/gui_box.c: Likewise.
21538 * gfxmenu/gui_canvas.c: Likewise.
21539 * gfxmenu/gui_circular_progress.c: Likewise.
21540 * gfxmenu/gui_image.c: Likewise.
21541 * gfxmenu/gui_label.c: Likewise.
21542 * gfxmenu/gui_list.c: Likewise.
21543 * gfxmenu/gui_progress_bar.c: Likewise.
21544 * gfxmenu/gui_string_util.c: Likewise.
21545 * gfxmenu/gui_util.c: Likewise.
21546 * gfxmenu/icon_manager.c: Likewise.
21547 * gfxmenu/model.c: Likewise.
21548 * gfxmenu/named_colors.c: Likewise.
21549 * gfxmenu/theme_loader.c: Likewise.
21550 * gfxmenu/view.c: Likewise.
21551 * gfxmenu/widget-box.c: Likewise.
21552 * include/grub/gfxmenu_model.h: Likewise.
21553 * include/grub/gfxmenu_view.h: Likewise.
21554 * include/grub/gfxwidgets.h: Likewise.
21555 * include/grub/gui.h: Likewise.
21556 * include/grub/gui_string_util.h: Likewise.
21557 * include/grub/icon_manager.h: Likewise.
21558
21559 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21560
21561 Agglomerate scrolling in gfxterm.
21562
21563 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
21564 (grub_virtual_screen_setup): Initialise 'total_screen'.
21565 (write_char): Split to ...
21566 (paint_char): ... this ...
21567 (write_char): ... and this.
21568 (paint_char): Handle delayed scrolling.
21569 (draw_cursor): Likewise.
21570 (scroll_up): Split to ...
21571 (real_scroll): ... this ...
21572 (scroll_up): ... and this.
21573 (real_scroll): Handle multi-line scroll and draw below-the-bottom
21574 characters.
21575 (grub_gfxterm_refresh): Call real_scroll.
21576
21577 2010-02-06 Colin D Bennett <colin@gibibit.com>
21578
21579 * include/grub/misc.h (grub_iscntrl): New inline function.
21580 (grub_isalnum): Likewise.
21581 (grub_strtol): Likewise.
21582
21583 2010-02-06 Colin D Bennett <colin@gibibit.com>
21584
21585 * normal/menu_text.c (get_entry_number): Move from here ...
21586 * normal/menu.c (get_entry_number): ... moved here.
21587 * include/grub/menu.h (grub_menu_get_default_entry_index):
21588 New prototype.
21589 * normal/menu.c (grub_menu_get_default_entry_index): New function.
21590 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
21591 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
21592 (grub_menu_viewer_should_return): Likewise.
21593 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
21594 * normal/menu_text.c (run_menu): Enable menu switching.
21595 * normal/menu_viewer.c (should_return): New variable.
21596 (menu_viewer_changed): Likewise.
21597 (grub_menu_viewer_show_menu): Handle menu viewer changes.
21598 (grub_menu_viewer_should_return): New function.
21599 (menuviewer_write_hook): Likewise.
21600 (grub_menu_viewer_init): Likewise.
21601
21602 2010-02-06 Colin D Bennet <colin@gibibit.com>
21603 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21604
21605 Support for gfxterm in a window.
21606
21607 * include/grub/gfxterm.h: New file.
21608 * include/grub/video.h (struct grub_video_rect): New declaration.
21609 (grub_video_rect_t): Likewise.
21610 * term/gfxterm.c (struct grub_gfxterm_window): New type.
21611 (refcount): New variable.
21612 (render_target): Likewise.
21613 (window): Likewise.
21614 (repaint_callback): Likewise.
21615 (grub_virtual_screen_setup): Use 'render_target'.
21616 (init_window): New function.
21617 (grub_gfxterm_init_window): Likewise.
21618 (grub_gfxterm_init): Check reference counter.
21619 Use init_window.
21620 (destroy_window): New function.
21621 (grub_gfxterm_destroy_window): Likewise.
21622 (grub_gfxterm_fini): Check reference counter.
21623 Use destroy_window.
21624 (redraw_screen_rect): Restore viewport.
21625 Use 'render_target' and 'window'.
21626 Call 'repaint_callback'.
21627 (write_char): Use 'render_target'.
21628 (draw_cursor): Likewise.
21629 (scroll_up): Restore viewport.
21630 Use 'render_target' and 'window'.
21631 Call 'repaint_callback'.
21632 (grub_gfxterm_cls): Likewise.
21633 (grub_gfxterm_refresh): Use 'window'.
21634 (grub_gfxterm_set_repaint_callback): New function.
21635 (grub_gfxterm_background_image_cmd): Use 'window'.
21636 (grub_gfxterm_get_term): New function.
21637 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
21638
21639 2010-02-06 Colin D Bennett <colin@gibibit.com>
21640
21641 Bitmap scaling support.
21642
21643 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
21644 (bitmap_scale_mod_SOURCES): New variable.
21645 (bitmap_scale_mod_CFLAGS): Likewise.
21646 (bitmap_scale_mod_LDFLAGS): Likewise.
21647 * include/grub/bitmap_scale.h: New file.
21648 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
21649 (background_image_cmd_options): New variable.
21650 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
21651 (cmd): Rename and change type to ...
21652 (background_image_cmd_handle): ... this. All users updated.
21653 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
21654 * video/bitmap_scale.c: New file.
21655
21656 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21657
21658 SDL support.
21659
21660 * Makefile.in (LIBSDL): New variable.
21661 (enable_grub_emu_sdl): Likewise.
21662 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
21663 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
21664 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
21665 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
21666 * util/sdl.c: New file.
21667
21668 2010-02-06 Colin D Bennett <colin@gibibit.com>
21669 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21670
21671 Double buffering support.
21672
21673 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
21674 * include/grub/video.h: Update comment.
21675 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
21676 New type.
21677 (grub_video_fb_doublebuf_blit_init): New prototype.
21678 * term/gfxterm.c (scroll_up): Support double buffering.
21679 (grub_gfxterm_refresh): Likewise.
21680 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
21681 (grub_video_fb_doublebuf_blit_init): Likewise.
21682 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
21683 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
21684 'displayed_page', 'render_page' and 'update_screen'.
21685 (grub_video_vbe_fini): Free offscreen buffer.
21686 (doublebuf_pageflipping_commit): New function.
21687 (doublebuf_pageflipping_update_screen): Likewise.
21688 (doublebuf_pageflipping_init): Likewise.
21689 (double_buffering_init): Likewise.
21690 (grub_video_vbe_setup): Enable doublebuffering.
21691 (grub_video_vbe_swap_buffers): Implement.
21692 (grub_video_vbe_set_active_render_target): Handle double buffering.
21693 (grub_video_vbe_get_active_render_target): Likewise.
21694 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
21695 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
21696 (grub_video_vbe_enable_double_buffering): Likewise.
21697 (grub_video_vbe_swap_buffers): Use update_screen.
21698 (grub_video_set_mode): Use double buffering.
21699
21700 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
21701
21702 * maintainance/gentrigtables.py: Remove.
21703 * lib/trig.c: Likewise.
21704
21705 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
21706
21707 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
21708 `trigtables.c'.
21709 (trigtables.c): New rule.
21710 (gentrigtables): Likewise.
21711 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
21712
21713 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
21714
21715 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
21716 integer constants.
21717
21718 2010-02-06 Colin D Bennet <colin@gibibit.com>
21719
21720 Trigonometry support.
21721
21722 * include/grub/trig.h: New file.
21723 * lib/trig.c: Likewise.
21724 * maintainance/gentrigtables.py: Likewise.
21725 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
21726 (trig_mod_SOURCES): New variable.
21727 (trig_mod_CFLAGS): Likewise.
21728 (trig_mod_LDFLAGS): Likewise.
21729
21730 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21731
21732 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
21733 disk devices.
21734
21735 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21736
21737 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
21738 error.
21739
21740 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
21741
21742 * util/hostdisk.c (open_device): Don't use partition device when reading
21743 before the partition.
21744 (grub_util_biosdisk_read): Don't read from partition and before the
21745 partition in single operation.
21746 (grub_util_biosdisk_write): Don't write to partition and before the
21747 partition in single operation.
21748
21749 2010-02-03 Torsten Landschoff <torsten@debian.org>
21750
21751 * kern/disk.c (grub_disk_read): Fix offset computation when reading
21752 last sectors.
21753
21754 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
21755
21756 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
21757 CDROM reads.
21758 (grub_biosdisk_write): Refuse to write to CDROM.
21759
21760 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
21761
21762 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
21763
21764 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
21765
21766 * font/font.c (find_glyph): Check that bmp_idx is available before
21767 using it.
21768 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
21769 with (font == NULL).
21770
21771 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
21772
21773 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
21774
21775 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
21776
21777 * include/grub/script_sh.h (sourcecode): Add const qualifier.
21778 * util/grub-script-check.c (getline): Fix empty lines case.
21779
21780 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
21781
21782 * Makefile.in (check): Exit with fail status when one of the tests
21783 fails.
21784 * tests/example_functional_test.c (example_test): Fix reversed assert.
21785 * tests/example_unit_test.c (example_test): Likewise.
21786
21787 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
21788
21789 * util/grub.d/10_linux.in: This script does not use any of the
21790 contents of gettext.sh, only the external command `gettext', so stop
21791 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
21792 the same prefix as GRUB.)
21793 * util/grub.d/10_kfreebsd.in: Likewise.
21794
21795 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
21796
21797 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
21798 of the line.
21799
21800 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
21801
21802 * kern/disk.c (grub_disk_read): Fix offset computation when reading
21803 last sectors.
21804
21805 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
21806
21807 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
21808 having a 4KiB and not 32KiB buffer size.
21809
21810 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
21811
21812 * util/hostfs.c: Include `<errno.h>'.
21813 (grub_hostfs_read): Handle errors from fseeko() and fread().
21814
21815 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
21816
21817 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
21818 loop when using read hooks on files whose size isn't sector-aligned.
21819
21820 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
21821
21822 Remove unused parameter.
21823
21824 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
21825 (grub_iso9660_open): Remove initialization of `data->length'.
21826
21827 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
21828
21829 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
21830 memleak conditions.
21831
21832 2010-01-27 Carles Pina i Estany <carles@pina.cat>
21833
21834 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
21835 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
21836
21837 2010-01-26 Carles Pina i Estany <carles@pina.cat>
21838
21839 * util/bin2h.c (usage): Fix warning (space after backslash).
21840
21841 2010-01-26 Carles Pina i Estany <carles@pina.cat>
21842
21843 * font/font.c: Include `grub/fontformat.h.
21844 Remove font file format constants.
21845 (grub_font_load): Use the new macros.
21846 * include/grub/fontformat.h: New file.
21847 * util/grub-mkfont.c: Include `grub/fontformat.c'.
21848 (write_font_pf2): Use the new macros.
21849
21850 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
21851
21852 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
21853 does.
21854
21855 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
21856
21857 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
21858
21859 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
21860 (_start): Macroify `0x7F'.
21861
21862 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
21863 (make_install_device): Use "(pxe)" as fallback prefix when booting
21864 via PXE.
21865
21866 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
21867
21868 * configure.ac: Reset LIBS after check for libgcc symbols.
21869
21870 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
21871
21872 * util/hostdisk.c (open_device): Add trailing newline to debug
21873 message.
21874
21875 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
21876
21877 * configure.ac: Check for `limits.h'.
21878 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
21879
21880 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
21881
21882 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
21883 capitalize error strings.
21884
21885 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
21886
21887 * util/grub.d/10_hurd.in: Add a recovery mode.
21888
21889 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
21890
21891 * configure.ac: Check for libgcc symbols with -nostdlib.
21892
21893 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
21894
21895 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
21896
21897 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21898
21899 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
21900 stack since heap may be unavailable at that point.
21901 (grub_ofconsole_gotoxy): Likewise.
21902
21903 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21904
21905 * configure.ac: Check for _restgpr_14_x.
21906 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
21907 and _savegpr_* prototypes.
21908
21909 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
21910
21911 Use generic grub_reboot() for i386-efi.
21912
21913 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
21914 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
21915 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
21916
21917 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21918
21919 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
21920 presence of "prefix" variable as it breaks when normal.mod is
21921 embedded.
21922
21923 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
21924
21925 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
21926 stack since heap is unavailable at that point.
21927
21928 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
21929
21930 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
21931 (grub_freebsd_bootinfo): Rewritten.
21932 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
21933
21934 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
21935
21936 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
21937
21938 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
21939
21940 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
21941 domain now.
21942
21943 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
21944
21945 * util/misc.c (make_system_path_relative_to_its_root): Change the work
21946 around for handling "/" to the correct fix. Fix a memory leak. Use
21947 xstrdup instead of strdup.
21948
21949 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21950
21951 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
21952
21953 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21954
21955 Optimise glyph lookup by Basic Multilingual Plane lookup array.
21956
21957 * font/font.c (struct grub_font): New member 'bmp_idx'.
21958 (font_init): Initialise 'bmp_idx'.
21959 (load_font_index): Fill 'bmp_idx'.
21960 (find_glyph): Make inline. Use bmp_idx for BMP characters.
21961
21962 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21963
21964 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
21965 unnecessary calls.
21966
21967 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21968
21969 Move context handling out of the kernel.
21970
21971 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
21972 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
21973 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
21974 * conf/i386-efi.rmk: Likewise.
21975 * conf/i386-ieee1275.rmk: Likewise.
21976 * conf/i386-pc.rmk: Likewise.
21977 * conf/powerpc-ieee1275.rmk: Likewise.
21978 * conf/sparc64-ieee1275.rmk: Likewise.
21979 * conf/x86_64-efi.rmk: Likewise.
21980 * include/grub/env.h: Include grub/menu.h.
21981 (grub_env_var_type): Removed.
21982 (grub_env_var): Replaced field 'type' with 'global'.
21983 (grub_env_find): New prototype.
21984 (grub_env_context_open): Remove EXPORT_FUNC.
21985 (grub_env_context_close): Likewise.
21986 (grub_env_export): Likewise.
21987 (grub_env_set_data_slot): Removed.
21988 (grub_env_get_data_slot): Likewise.
21989 (grub_env_unset_data_slot): Likewise.
21990 (grub_env_unset_menu): New prototype.
21991 (grub_env_set_menu): Likewise.
21992 (grub_env_get_menu): Likewise.
21993 * include/grub/env_private.h: New file.
21994 * include/grub/normal.h (grub_context_init): New prototype.
21995 (grub_context_fini): Likewise.
21996 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
21997 * normal/context.c (grub_cmd_export): ... to here.
21998 * kern/env.c: Include env_private.h.
21999 (HASHSZ): Moved to include/grub/env_private.h.
22000 (grub_env_context): Likewise.
22001 (grub_env_sorted_var): Likewise.
22002 (current_context): Renamed from this ...
22003 (grub_current_context): ...to this. 'static' removed. All users updated.
22004 (grub_env_find): Removed 'static'.
22005 (grub_env_context_open): Moved to normal/context.c.
22006 (grub_env_context_close): Likewise.
22007 (grub_env_export): Likewise.
22008 (mangle_data_slot_name): Removed.
22009 (grub_env_set_data_slot): Likewise.
22010 (grub_env_get_data_slot): Likewise.
22011 (grub_env_unset_data_slot): Likewise.
22012 * kern/main.c (grub_set_root_dev): Don't export root.
22013 It will be done later.
22014 (grub_main): Don't export prefix.
22015 It will be done later.
22016 * normal/context.c: New file.
22017 * normal/main.c (free_menu): Use grub_env_unset_menu.
22018 (grub_normal_add_menu_entry): Use grub_env_get_menu.
22019 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
22020 (GRUB_MOD_INIT(normal)): Call grub_context_init.
22021 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
22022
22023 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22024
22025 setpci support.
22026
22027 * commands/setpci.c: New file.
22028 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
22029 (setpci_mod_SOURCES): New variable.
22030 (setpci_mod_CFLAGS): Likewise.
22031 (setpci_mod_LDFLAGS): Likewise.
22032
22033 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22034
22035 Byte-addressable PCI configuration space.
22036
22037 * bus/pci.c (grub_pci_make_address): Use byte address instead of
22038 dword address.
22039 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
22040 GRUB_PCI_REG_CACHELINE.
22041 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
22042 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
22043 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
22044 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
22045 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
22046 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
22047 grub_pci_make_address.
22048 (lock_rom_area): Likewise.
22049 * commands/lspci.c (grub_lspci_iter): Use macroses
22050 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
22051 of grub_pci_make_address.
22052 * disk/ata.c (grub_ata_pciinit): Likewise.
22053 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
22054 (GRUB_PCI_REG_VENDOR): Likewise.
22055 (GRUB_PCI_REG_DEVICE): Likewise.
22056 (GRUB_PCI_REG_COMMAND): Likewise.
22057 (GRUB_PCI_REG_STATUS): Likewise.
22058 (GRUB_PCI_REG_REVISION): Likewise.
22059 (GRUB_PCI_REG_CLASS): Likewise.
22060 (GRUB_PCI_REG_CACHELINE): Likewise.
22061 (GRUB_PCI_REG_LAT_TIMER): Likewise.
22062 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
22063 (GRUB_PCI_REG_BIST): Likewise.
22064 (GRUB_PCI_REG_ADDRESSES): Likewise.
22065 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22066 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22067 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22068 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22069 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22070 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22071 (GRUB_PCI_REG_CIS_POINTER): Likewise.
22072 (GRUB_PCI_REG_SUBVENDOR): Likewise.
22073 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
22074 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
22075 (GRUB_PCI_REG_CAP_POINTER): Likewise.
22076 (GRUB_PCI_REG_IRQ_LINE): Likewise.
22077 (GRUB_PCI_REG_IRQ_PIN): Likewise.
22078 (GRUB_PCI_REG_MIN_GNT): Likewise.
22079 (GRUB_PCI_REG_MAX_LAT): Likewise.
22080 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
22081 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
22082 * video/efi_uga.c (find_framebuf): Likewise.
22083 * video/sm712.c (grub_video_sm712_setup): Likewise.
22084 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
22085 space.
22086
22087 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22088
22089 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
22090 can be reliably determined to be supported.
22091
22092 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22093
22094 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
22095 that VESA is supported.
22096 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
22097 supported.
22098
22099 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22100
22101 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
22102
22103 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22104
22105 * util/misc.c (make_system_path_relative_to_its_root): Work around
22106 special-casing of "/", as previous incarnation of this routine did.
22107
22108 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22109
22110 Fix any-emu compilation.
22111
22112 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
22113 * grub_bin2h_SOURCES: New variable.
22114
22115 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22116
22117 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
22118
22119 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22120
22121 * util/grub.d/00_header.in: Fix handling of locale_dir.
22122
22123 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22124
22125 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
22126 as possible unifont location (Gentoo).
22127 Reported by: Alexander Brüning
22128
22129 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22130
22131 Don't try to generate lists for kernel.img.
22132
22133 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
22134 (pkglib_MODULES): Remove kernel.img.
22135 (kernel_img_EXPORTS): Removed.
22136 (kernel_img_RELOCATABLE): New variable.
22137 * conf/x86_64-efi.rmk: Likewise.
22138 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
22139
22140 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22141
22142 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
22143 grub_xasprintf or grub_snprintf.
22144 (grub_vsprintf): Likewise.
22145 (grub_snprintf): New proto.
22146 (grub_vsnprintf): Likewise.
22147 (grub_xasprintf): Likewise.
22148 (grub_xvasprintf): Likewise.
22149 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
22150 (grub_sprintf): Removed.
22151 (grub_vsnprintf): New function.
22152 (grub_snprintf): Likewise.
22153 (grub_xvasprintf): Likewise.
22154 (grub_xasprintf): Likewise.
22155 (grub_vsprintf): Renamed to ...
22156 (grub_vsnprintf_real): ...this. New argument max_len.
22157
22158 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
22159
22160 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
22161 fix grub-script-check warning.
22162
22163 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22164
22165 * include/grub/font.h (grub_font_load): Fix prototype.
22166
22167 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22168
22169 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
22170
22171 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22172
22173 * include/grub/x86_64/at_keyboard.h: New file.
22174
22175 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22176
22177 * loader/mips/linux.c: Include missing grub/i18n.h.
22178
22179 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22180
22181 * normal/menu.c (notify_execution_failure): Clarify error message.
22182
22183 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22184
22185 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
22186 return value (and revert all return statements). Update users.
22187
22188 2010-01-20 Dan Merillat <debian@dan.merillat.org>
22189
22190 * kern/device.c (grub_device_iterate): Allocate new part_ent
22191 structure based on sizeof (*p) rather than sizeof (p->next), to
22192 account for structure padding.
22193
22194 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
22195 disk is NULL, which might happen for LVM physical volumes with no
22196 LVM signature.
22197
22198 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22199
22200 * loader/mips/linux.c (grub_cmd_initrd)
22201 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
22202
22203 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22204
22205 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
22206 (grub_video_video_init, grub_video_bitmap_init)
22207 (grub_font_manager_init, grub_term_gfxterm_init)
22208 (grub_at_keyboard_init): New extern declarations.
22209 (grub_machine_init): Initialize gfxterm and at_keyboard.
22210
22211 * kern/main.c (grub_main): Revert grub_printf delay kludge.
22212
22213 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
22214 `gfxterm.mod' into core image.
22215
22216 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22217 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22218 (kernel_img_FORMAT): Copy to ...
22219
22220 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22221 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22222 (kernel_img_FORMAT): ... here, and ...
22223
22224 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22225 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22226 (kernel_img_FORMAT): ... here.
22227
22228 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
22229 and input (at_keyboard) terminals in kernel.
22230 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
22231
22232 (pkglib_MODULES): Remove `pci.mod'.
22233 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
22234 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
22235 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
22236 (at_keyboard_mod_LDFLAGS): Remove variables.
22237
22238 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
22239
22240 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
22241
22242 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
22243
22244 * include/grub/mips/libgcc.h: Only export symbols for functions
22245 that libgcc provides.
22246
22247 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
22248
22249 MIPS support.
22250
22251 * bus/bonito.c: New file.
22252 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
22253 GRUB_PCI_NUM_DEVICES.
22254 * term/i386/pc/serial.c: Move to ...
22255 * term/serial.c: ... here. All users updated.
22256 * util/i386/pc/grub-mkimage.c: Move to ...
22257 * util/grub-mkrawimage.c: ... here. All users updated.
22258 * term/i386/pc/at_keyboard.c: Move to ...
22259 * term/at_keyboard.c: ... here. All users updated.
22260 * conf/mips-qemu-mips.rmk: New file.
22261 * conf/mips-yeeloong.rmk: Likewise.
22262 * conf/mips.rmk: Likewise.
22263 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
22264 mipsel-qemu-mips.
22265 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
22266 to port addresses.
22267 (grub_ata_pciinit): Support CS5536.
22268 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
22269 * font/font_cmd.c (loadfont_command): Open file before passing it to
22270 grub_font_load.
22271 (pseudo_file_read): New function.
22272 (pseudo_file_close): Likewise.
22273 (pseudo_fs): New structure.
22274 (load_font_module): New function.
22275 (GRUB_MOD_INIT(font_manager)): Load embedded font.
22276 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
22277 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
22278 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
22279 * include/grub/i386/at_keyboard.h: Split into ...
22280 * include/grub/at_keyboard.h: ... this ...
22281 * include/grub/i386/at_keyboard.h: ... and this.
22282 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
22283 New prototype.
22284 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
22285 updated.
22286 (grub_elf64_size): Likewise.
22287 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
22288 filename.
22289 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
22290 * include/grub/i386/coreboot/serial.h: Rewritten.
22291 * include/grub/i386/ieee1275/serial.h: Include
22292 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
22293 * include/grub/i386/pc/serial.h: Moved from here ...
22294 * include/grub/serial.h: ... to here. All users updated.
22295 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
22296 (GRUB_PCI_NUM_BUS): Likewise.
22297 (GRUB_PCI_NUM_DEVICES): Likewise.
22298 (grub_pci_device_map_range): Add missing volatile keyword.
22299 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
22300 * include/grub/mips/at_keyboard.h: New file.
22301 * include/grub/mips/cache.h: Likewise.
22302 * include/grub/mips/io.h: Likewise.
22303 * include/grub/mips/kernel.h: Likewise.
22304 * include/grub/mips/libgcc.h: Likewise.
22305 * include/grub/mips/pci.h: Likewise.
22306 * include/grub/mips/qemu-mips/boot.h: Likewise.
22307 * include/grub/mips/qemu-mips/kernel.h: Likewise.
22308 * include/grub/mips/qemu-mips/loader.h: Likewise.
22309 * include/grub/mips/qemu-mips/memory.h: Likewise.
22310 * include/grub/mips/qemu-mips/serial.h: Likewise.
22311 * include/grub/mips/qemu-mips/time.h: Likewise.
22312 * include/grub/mips/relocator.h: Likewise.
22313 * include/grub/mips/time.h: Likewise.
22314 * include/grub/mips/types.h: Likewise.
22315 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
22316 * include/grub/mips/yeeloong/boot.h: Likewise.
22317 * include/grub/mips/yeeloong/kernel.h: Likewise.
22318 * include/grub/mips/yeeloong/loader.h: Likewise.
22319 * include/grub/mips/yeeloong/memory.h: Likewise.
22320 * include/grub/mips/yeeloong/pci.h: Likewise.
22321 * include/grub/mips/yeeloong/serial.h: Likewise.
22322 * include/grub/mips/yeeloong/time.h: Likewise.
22323 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
22324 * kern/elf.c (grub_elf32_size): New parameter. All users
22325 updated.
22326 (grub_elf64_size): Likewise.
22327 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
22328 Load modules before saying "Welcome to GRUB!".
22329 Call grub_refresh after saying "Welcome to GRUB!".
22330 * kern/mips/cache.S: New file.
22331 * kern/mips/cache_flush.S: Likewise.
22332 * kern/mips/dl.c: Likewise.
22333 * kern/mips/init.c: Likewise.
22334 * kern/mips/qemu-mips/init.c: Likewise.
22335 * kern/mips/startup.S: Likewise.
22336 * kern/mips/yeeloong/init.c: Likewise.
22337 * kern/term.c (grub_putcode): Handle NULL terminal.
22338 (grub_getcharwidth): Likewise.
22339 (grub_getkey): Likewise.
22340 (grub_checkkey): Likewise.
22341 (grub_getkeystatus): Likewise.
22342 (grub_getxy): Likewise.
22343 (grub_getwh): Likewise.
22344 (grub_gotoxy): Likewise.
22345 (grub_cls): Likewise.
22346 (grub_setcolorstate): Likewise.
22347 (grub_setcolor): Likewise.
22348 (grub_getcolor): Likewise.
22349 (grub_refresh): Likewise.
22350 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
22351 (write_jump): Add hatch nop.
22352 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
22353 * lib/mips/setjmp.S: New file.
22354 * loader/mips/linux.c: Likewise.
22355 * term/i386/pc/at_keyboard.c: Move from here ...
22356 * term/at_keyboard.c: ... to here.
22357 * term/i386/pc/serial.c: Moved from here ...
22358 * term/serial.c: ... to here. All users updated.
22359 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
22360 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
22361 (serial_translate_key_sequence): Avoid deadlock.
22362 (grub_serial_getkey): Handle backspace.
22363 (grub_serial_putchar): Fix newline handling.
22364 * util/i386/pc/grub-mkimage.c: Move from here ...
22365 * util/grub-mkrawimage.c: ... to here. All users updated.
22366 (generate_image): New parameters 'font_path' and 'format'.
22367 Support embedding font.
22368 Use grub_host_to_target* instead of grub_cpu_to_le*.
22369 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
22370 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
22371 (options): New option "--font".
22372 (usage): Likewise.
22373 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
22374 (main): Handle "--font".
22375 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
22376 (grub_virtual_screen_setup): Set bg_color_display.
22377 (redraw_screen_rect): Use bg_color_display instead of incorrect
22378 bg_color.
22379 (grub_gfxterm_cls): Likewise.
22380 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
22381 Support embedding config file.
22382 (add_segments): Likewise.
22383 (options): New option "--config".
22384 (main): Handle "--config".
22385 * video/sm712.c: New file.
22386
22387 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22388
22389 Fix parallel builds.
22390
22391 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
22392 font.c depend on ascii.h).
22393
22394 2010-01-12 Carles Pina i Estany <carles@pina.cat>
22395
22396 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
22397
22398 2010-01-11 Carles Pina i Estany <carles@pina.cat>
22399
22400 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
22401 By default: disabled.
22402 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
22403 parameter.
22404
22405 2010-01-10 Carles Pina i Estany <carles@pina.cat>
22406
22407 * font/font.c: Update copyright years.
22408 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
22409
22410 2010-01-10 Carles Pina i Estany <carles@pina.cat>
22411
22412 * font/font.c: Include `ascii.h'.
22413 (ASCII_BITMAP_SIZE): New macro.
22414 (ascii_font_glyph): Define.
22415 (ascii_glyph_lookup): New function.
22416 (grub_font_get_string_width): Change comment. If glyph not found, use
22417 ascii_glyph_lookup.
22418 (grub_font_get_glyph_with_fallback): If glyph not available returns
22419 ascii_glyph_lookup.
22420 * util/grub-mkfont.c (file_formats): New enum.
22421 (options): Add `ascii-bitmaps' new option.
22422 (usage): Add `asii-bitmaps' new option.
22423 (write_font_ascii_bitmap): New function.
22424 (write_font): Rename to ...
22425 (write_font_p2): ... this. Remove print_glyphs call.
22426 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
22427 used. Call print_glyphs.
22428 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
22429
22430 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
22431
22432 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
22433 (grub_bin2h_SOURCES): New variable.
22434 * util/bin2h.c: New file.
22435
22436 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22437
22438 * include/multiboot.h: Resynced with spec.
22439 * include/multiboot2.h: Likewise.
22440 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
22441 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
22442
22443 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22444
22445 * include/grub/term.h (grub_term_register_input,
22446 grub_term_register_output): Check return of terminal init()
22447 routines, and abort if errors are raised.
22448
22449 * commands/terminal.c: Update copyright year.
22450
22451 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22452
22453 * commands/terminal.c (grub_cmd_terminal_input)
22454 (grub_cmd_terminal_output): Check return of terminal init()
22455 routines, and abort if errors are raised.
22456
22457 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
22458
22459 * include/grub/i386/bsd.h: Fix include pathes.
22460
22461 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
22462
22463 Add missing *BSD copyright headers.
22464
22465 * include/grub/aout.h: Add BSD licence.
22466 * include/grub/i386/bsd.h: Parts under different licences moved to ...
22467 * include/grub/i386/freebsd_linker.h: ... here,
22468 * include/grub/i386/freebsd_reboot.h: ... here,
22469 * include/grub/i386/netbsd_bootinfo.h: ... here,
22470 * include/grub/i386/netbsd_reboot.h: ... here,
22471 * include/grub/i386/openbsd_bootarg.h: ... here,
22472 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
22473 licence to each file.
22474
22475 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22476
22477 * acinclude.m4: Remove `nop' assembly instruction; it's not
22478 implemented by all architectures.
22479
22480 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22481
22482 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
22483 ELILO. This is no longer necessary.
22484
22485 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
22486
22487 Added new tool, grub-scrit-check to verify grub.cfg syntax.
22488
22489 * util/grub-script-check.c: grub-script-check tool.
22490 * conf/common.rmk: Make rules for grub-script-check.
22491
22492 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22493
22494 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
22495 spotting it back in 2008. Shame on me for forgetting he did.
22496
22497 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
22498
22499 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22500
22501 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
22502 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
22503 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
22504 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
22505 (GRUB_VIDEO_TYPE_EFI): Rename to ...
22506 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
22507
22508 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
22509
22510 * include/grub/test.h: Add license header.
22511 * tests/example_functional_test.c: Likewise.
22512 * tests/example_unit_test.c: Likewise.
22513 * tests/lib/functional_test.c: Likewise.
22514 * tests/lib/test.c: Likewise.
22515 * tests/lib/unit_test.c: Likewise.
22516
22517 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
22518
22519 Use flag-based instead of hook-based video mode selection and "auto"
22520 keyword.
22521
22522 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
22523 (grub_video_set_mode): Changed prototype. All users updated.
22524 (grub_video_check_mode_flag): New inline function.
22525 * video/video.c (parse_modespec): New function.
22526 (grub_video_set_mode): Parse flags and keywords.
22527
22528 2010-01-17 Carles Pina i Estany <carles@pina.cat>
22529
22530 * util/misc.c (grub_util_info): Fix the order of the parameters in a
22531 fprintf call.
22532
22533 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
22534
22535 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
22536
22537 2010-01-16 Carles Pina i Estany <carles@pina.cat>
22538
22539 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
22540 string.
22541 * util/grub-emu.c (usage): Likewise.
22542 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
22543 * util/i386/efi/grub-mkimage.c (usage): Likewise.
22544 * util/i386/pc/grub-mkimage.c (usage): Likewise.
22545 * util/i386/pc/grub-setup.c (usage): Likewise.
22546
22547 2010-01-16 Carles Pina i Estany <carles@pina.cat>
22548
22549 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
22550 the message.
22551 (grub_util_info): Likewise.
22552 (grub_util_error): Likewise.
22553 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
22554 and/or new lines in `grub_util_warna', `grub_util_info',
22555 `grub_util_error' calls.
22556 * util/getroot.c: Likewise.
22557 * util/grub-editenv.c: Likewise.
22558 * util/grub-emu.c: Likewise.
22559 * util/grub-fstest.c: Likewise.
22560 * util/grub-mkdevicemap.c: Likewise.
22561 * util/grub-mkfont.c: Likewise.
22562 * util/grub-mkpasswd-pbkdf2.c: Likewise.
22563 * util/grub-mkrelpath.c: Likewise.
22564 * util/grub-pe2elf.c: Likewise.
22565 * util/grub-probe.c: Likewise.
22566 * util/hostdisk.c: Likewise.
22567 * util/i386/efi/grub-mkimage.c: Likewise.
22568 * util/i386/pc/grub-mkimage.c: Likewise.
22569 * util/i386/pc/grub-setup.c: Likewise.
22570 * util/ieee1275/ofpath.c: Likewise.
22571 * util/mkisofs/eltorito.c: Likewise.
22572 * util/mkisofs/rock.c: Likewise.
22573 * util/mkisofs/write.c: Likewise.
22574 * util/raid.c: Likewise.
22575 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
22576 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22577
22578 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
22579
22580 Enable multiboot on non-pc.
22581
22582 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
22583 multiboot.mod and multiboot2.mod to ...
22584 * conf/i386.rmk (pkglib_MODULES): ... here.
22585 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
22586 Moved to ...
22587 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
22588 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
22589 Moved to ...
22590 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
22591 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
22592 Moved to ...
22593 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
22594 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
22595 Moved to ...
22596 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
22597 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
22598 relocator.mod.
22599 (ata_mod_SOURCES): Removed.
22600 (ata_mod_CFLAGS): Likewise.
22601 (ata_mod_LDFLAGS): Likewise.
22602 (relocator_mod_SOURCES): Removed.
22603 (relocator_mod_CFLAGS): Likewise.
22604 (relocator_mod_ASFLAGS): Likewise.
22605 (relocator_mod_LDFLAGS): Likewise.
22606 Include i386.mk.
22607 * include/grub/x86_64/multiboot.h: New file.
22608 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
22609 Terminate EFI.
22610
22611 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
22612
22613 Video multiboot support.
22614
22615 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
22616 New prototype.
22617 * include/multiboot.h: Resynced with multiboot specification.
22618 * include/multiboot2.h: Likewise.
22619 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
22620 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
22621 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
22622 (HAS_VGA_TEXT): Likewise.
22623 (accepts_video): New variable.
22624 (grub_multiboot_set_accepts_video): New function.
22625 (grub_multiboot_get_mbi_size): Account for video structures.
22626 (set_video_mode): New function.
22627 (retrieve_video_parameters): Likewise.
22628 (grub_multiboot_make_mbi): Fill video fields.
22629
22630 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
22631
22632 Video driver ids.
22633
22634 * include/grub/video.h (grub_video_driver_id): New type.
22635 (grub_video_adapter): New member 'id'. All users updated.
22636 (grub_video_get_driver_id): New proto.
22637 * video/video.c (grub_video_get_driver_id): New function.
22638
22639 2010-01-14 Carles Pina i Estany <carles@pina.cat>
22640
22641 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
22642 `var=val'.
22643
22644 2010-01-14 Carles Pina i Estany <carles@pina.cat>
22645
22646 * normal/cmdline.c (print_completion): Gettextizze.
22647
22648 2001-01-14 Carles Pina i Estany <carles@pina.cat>
22649
22650 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
22651
22652 2010-01-14 Carles Pina i Estany <carles@pina.cat>
22653
22654 * gettext/gettext.c (grub_gettext_translate): Push and pop
22655 grub_errno.
22656 (grub_gettext_delete_list): Change comment style.
22657 * kern/err.c (grub_error): Gettextizze.
22658 (grub_fatal): Gettextizze.
22659
22660 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
22661
22662 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
22663 (grub_linux16_real_boot): ... this.
22664 * kern/i386/loader.S: Likewise.
22665 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
22666 (grub_linux16_boot): New function. Switches to text mode and calls
22667 grub_linux16_real_boot().
22668
22669 * loader/i386/bsd.c: Include `<grub/video.h>'.
22670 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
22671 text mode before calling grub_unix_real_boot().
22672
22673 * loader/i386/multiboot.c: Include `<grub/video.h>'.
22674 (grub_multiboot_boot): Switch to text mode before calling
22675 grub_relocator32_boot().
22676
22677 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
22678 (grub_chainloader_boot): Switch to text mode before calling
22679 grub_chainloader_real_boot().
22680
22681 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
22682 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
22683
22684 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
22685 non-empty value.
22686
22687 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
22688 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
22689
22690 * util/grub.d/00_header.in: Define a "savedefault" function for use
22691 in menu entries.
22692 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
22693
22694 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
22695 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
22696
22697 * util/grub-mkconfig_lib.in (save_default_entry): Only set
22698 saved_entry if boot_once is unset.
22699 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
22700 previous saved entry (i.e. grub-reboot).
22701
22702 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
22703
22704 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
22705
22706 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
22707
22708 * util/grub.d/00_header.in: Use `set var=val' rather than plain
22709 `var=val'.
22710 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
22711
22712 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
22713
22714 * util/grub-reboot.in: Fix --version output.
22715 * util/grub-set-default.in: Likewise.
22716
22717 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
22718
22719 * util/grub.d/00_header.in: Silently ignore zero-sized environment
22720 blocks.
22721
22722 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
22723
22724 * util/grub.d/00_header.in: Quote the value assigned to `default',
22725 in case it contains spaces.
22726
22727 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
22728
22729 * util/grub.d/30_os-prober.in: Fix merge error that moved a
22730 `save_default_entry' call from the macosx case to the linux case.
22731
22732 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
22733 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
22734
22735 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
22736 in `chosen' environment variable.
22737 * normal/menu_text.c (get_entry_number): Check if the variable
22738 matches the title of a menu entry.
22739 (run_menu): Pass menu to get_entry_number.
22740
22741 * util/grub-reboot.in: New file.
22742 * util/grub-set-default.in: New file.
22743 * conf/common.rmk (grub-reboot): New utility.
22744 (grub-set-default): New utility.
22745
22746 * util/grub-mkconfig_lib.in (save_default_entry): New function.
22747 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
22748 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
22749 move it to `saved_entry' for the next boot. Load environment on
22750 initialisation.
22751 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
22752 * util/grub.d/10_hurd.in: Likewise.
22753 * util/grub.d/10_linux.in (linux_entry): Likewise.
22754 * util/grub.d/10_windows.in: Likewise.
22755 * util/grub.d/30_os-prober.in: Likewise.
22756
22757 * util/grub-install.in: Create environment block.
22758 * util/i386/efi/grub-install.in: Likewise.
22759 * util/ieee1275/grub-install.in: Likewise.
22760 * util/sparc64/ieee1275/grub-install.in: Likewise.
22761
22762 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
22763
22764 Unit testing framework for GRUB.
22765
22766 * Makefile.in: Test framework build rules for 'make check'.
22767 * conf/tests.rmk: Build rules for individual tests and framework.
22768
22769 * include/grub/test.h: Header file for whitebox tests.
22770 * tests/lib/functional_test.c: Framework support for whitebox
22771 functional tests.
22772 * tests/lib/test.c: Common whitebox testing code for unit and
22773 functional tests.
22774 * tests/lib/unit_test.c: Framework support for whitebox unit
22775 tests.
22776
22777 * tests/util/grub-shell-tester.in: Support utility for grub-script
22778 tests.
22779 * tests/util/grub-shell.in: Utility to execute grub-script
22780 commands in a Qemu instance.
22781
22782 * tests/example_functional_test.c: Example whitebox functional
22783 test.
22784 * tests/example_grub_script_test.in: Example grub-script test.
22785 * tests/example_scripted_test.in: Example scripted test.
22786 * tests/example_unit_test.c: Example whitebox unit test.
22787
22788 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
22789
22790 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
22791 Add loader/i386/multiboot_mbi.c.
22792 (multiboot2_mod_SOURCES): Likewise.
22793 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
22794 (multiboot2_mod_SOURCES): Likewise.
22795 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
22796 (grub_multiboot_make_mbi): Likewise.
22797 (grub_multiboot_free_mbi): Likewise.
22798 (grub_multiboot_init_mbi): Likewise.
22799 (grub_multiboot_add_module): Likewise.
22800 (grub_multiboot_set_bootdev): Likewise.
22801 * loader/i386/multiboot.c (mbi): Removed.
22802 (mbi_dest): Likewise.
22803 (alloc_mbi): New variable.
22804 (grub_multiboot_payload_size): Removed. All users updated.
22805 (grub_multiboot_pure_size): New variable.
22806 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
22807 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
22808 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
22809 (grub_fill_multiboot_mmap): Likewise.
22810 (grub_multiboot_get_bootdev): Likewise.
22811 (grub_multiboot): Use multiboot_mbi functions.
22812 * loader/i386/multiboot_mbi.c: New file.
22813
22814 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
22815
22816 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
22817 it would result in module crash.
22818
22819 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
22820
22821 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
22822 (grub_ofconsole_getwh): Split to ...
22823 (grub_ofconsole_getwh): ... this.
22824 (grub_ofconsole_dimensions): ...and this.
22825 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
22826
22827 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
22828
22829 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
22830
22831 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
22832
22833 * loader/i386/pc/multiboot2.c: Removed stalled file.
22834
22835 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
22836
22837 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
22838 Reported by: Grégoire Sutre
22839
22840 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
22841
22842 * util/misc.c (canonicalize_file_name): New function.
22843 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
22844 instead of realpath().
22845
22846 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
22847
22848 * util/grub-install.in (usage): Clarify meaning of --root-directory,
22849 and make it clearer that it's optional. Based on confusion
22850 witnessed on IRC.
22851
22852 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
22853
22854 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
22855 in premature implicit newline.
22856
22857 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
22858
22859 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
22860 which resulted in garbled command line at the end of screen.
22861
22862 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
22863
22864 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
22865 initialization with similar approach as with other Linux loaders.
22866
22867 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
22868
22869 Fix i386-ieee1275 build.
22870
22871 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
22872 and grub_term_height() for video_{width,height} initialization.
22873
22874 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
22875
22876 Fix grub-emu build.
22877
22878 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
22879
22880 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
22881 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
22882
22883 Support for multiple terminals.
22884
22885 * Makefile.in (pkglib_DATA): terminal.lst.
22886 (terminal.lst): New target.
22887 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
22888 (GRUB_MOD_INIT(handler)): Likewise.
22889 (GRUB_MOD_FINI(handler)): Likewise.
22890 * commands/help.c (grub_cmd_help): Handle multiple terminals.
22891 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
22892 * commands/sleep.c (do_print): Use grub_term_restore_pos.
22893 (grub_cmd_sleep): Use grub_term_save_pos.
22894 * commands/terminal.c: New file.
22895 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
22896 commands/terminal.c and lib/charset.c.
22897 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
22898 (pkglib_MODULES): Add terminal.mod.
22899 (terminal_mod_SOURCES): New variable.
22900 (terminal_mod_CFLAGS): Likewise.
22901 (terminal_mod_LDFLAGS): Likewise.
22902 * genhandlerlist.sh: Don't handle terminals.
22903 * genmk.rb: Generate terminal-*.lst.
22904 * genterminallist.sh: New file.
22905 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
22906 (grub_is_valid_utf8): Likewise.
22907 (grub_utf8_to_ucs4_alloc): Likewise.
22908 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
22909 (grub_menu_register_viewer): Changed argument.
22910 (grub_menu_try_text): New proto.
22911 (grub_gfxmenu_try_hook): New declaration.
22912 * include/grub/normal.h (grub_normal_exit_level): New declaration.
22913 (grub_menu_init_page): Additional argument term.
22914 (grub_normal_init_page): Likewise.
22915 (grub_cmdline_get): Arguments simplified.
22916 (grub_utf8_to_ucs4_alloc): Removed.
22917 (grub_print_ucs4): Additional argument term.
22918 (grub_getstringwidth): Likewise.
22919 (grub_print_message_indented): Likewise.
22920 (grub_menu_text_register_instances): New proto.
22921 (grub_show_menu): Likewise.
22922 (read_terminal_list): Likewise.
22923 (grub_set_more): Likewise.
22924 * include/grub/parser.h: Include handler.h.
22925 * include/grub/reader.h: Rewritten.
22926 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
22927 (GRUB_TERM_WIDTH): Changed to function.
22928 (GRUB_TERM_HEIGHT): Likewise.
22929 (GRUB_TERM_BORDER_WIDTH): Likewise.
22930 (GRUB_TERM_BORDER_HEIGHT): Likewise.
22931 (GRUB_TERM_NUM_ENTRIES): Likewise.
22932 (GRUB_TERM_ENTRY_WIDTH): Likewise.
22933 (GRUB_TERM_CURSOR_X): Likewise.
22934 (grub_term_input_class): Likewise.
22935 (grub_term_output_class): Likewise.
22936 (grub_term_outputs_disabled): New declaration.
22937 (grub_term_inputs_disabled): Likewise.
22938 (grub_term_outputs): Likewise.
22939 (grub_term_inputs): Likewise.
22940 (grub_term_register_input): Rewritten.
22941 (grub_term_register_output): Likewise.
22942 (grub_term_unregister_input): Likewise.
22943 (grub_term_unregister_output): Likewise.
22944 (FOR_ACTIVE_TERM_INPUTS): New macro.
22945 (FOR_DISABLED_TERM_INPUTS): Likewise.
22946 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
22947 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
22948 * include/grub/terminfo.h: Add oterm argument to all protypes.
22949 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
22950 Use grub_rescue_run.
22951 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
22952 All users updated.
22953 * kern/reader.c: Removed. All users updated.
22954 * kern/rescue_reader.c (grub_rescue_init): Removed.
22955 (grub_rescue_reader): Likewise.
22956 (grub_register_rescue_reader): Likewise.
22957 (grub_rescue_run): New function based on kern/reader.c.
22958 * kern/term.c: Adapted for multiterm.
22959 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
22960 (grub_is_valid_utf8): Likewise.
22961 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
22962 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
22963 right terminal.
22964 * loader/i386/linux.c (grub_linux_boot): Likewise.
22965 * normal/auth.c (grub_username_get): New function.
22966 (grub_auth_check_authentication): Use grub_username_get.
22967 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
22968 * normal/color.c: Adapt for multiterm.
22969 * normal/main.c (read_config_file): Don't use grub_reader_loop.
22970 (grub_normal_init_page): Additional argument term.
22971 (read_lists): Call read_terminal_lists.
22972 (grub_enter_normal_mode): Call grub_cmdline_run.
22973 Handle grub_normal_exit_level.
22974 (grub_cmd_normal): Make reentrant.
22975 (grub_cmd_normal_exit): New function.
22976 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
22977 * normal/menu.c: Adapt for multiterm.
22978 * normal/menu_entry.c: Likewise.
22979 * normal/menu_text.c: Likewise.
22980 * normal/menu_viewer.c: Removed. All users updated.
22981 * normal/term.c: New file.
22982 * util/console.c: Change order of includes to workaround a bug in
22983 ncurses headers.
22984 * term/terminfo.c: New argument oterm on all exported functions.
22985 All users updated.
22986 * util/grub-editenv.c (grub_term_input_class): Removed.
22987 (grub_term_output_class): Likewise.
22988
22989 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
22990
22991 Make loader output a bit more user-friendly.
22992
22993 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
22994 is being loaded. Likewise for the Hurd.
22995
22996 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
22997 that kernel of FreeBSD ${version} is being loaded.
22998
22999 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
23000 grub_dprintf().
23001 (grub_cmd_initrd): Likewise.
23002 * util/grub.d/10_linux.in (linux_entry): Print message indicating
23003 that Linux ${version} is being loaded. Likewise for initrd.
23004
23005 2010-01-09 Carles Pina i Estany <carles@pina.cat>
23006
23007 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
23008
23009 2010-01-08 Carles Pina i Estany <carles@pina.cat>
23010
23011 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
23012 (GRUB_MOD_INIT): Gettextizze.
23013 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
23014 (GRUB_MOD_INIT): Gettextizze.
23015 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
23016 (grub_cmd_linux): Capitalise Linux.
23017 (GRUB_MOD_INIT): Gettextizze.
23018 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
23019 (grub_cmd_linux): Capitalise Linux.
23020 (GRUB_MOD_INIT): Gettextizze.
23021 * loader/i386/linux.c: Include `<grub/i18n.h>'.
23022 (grub_cmd_linux): Capitalise Linux.
23023 (GRUB_MOD_INIT): Gettextizze.
23024 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
23025 (GRUB_MOD_INIT): Gettextizze.
23026 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
23027 (grub_cmd_linux): Capitalise Linux.
23028 (GRUB_MOD_INIT): Gettextizze.
23029 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
23030 (grub_cpu_xnu_init): Gettextizze.
23031 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
23032 (GRUB_MOD_INIT): Gettextizze.
23033 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
23034 (GRUB_MOD_INIT): Gettextizze.
23035 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
23036 (grub_linux_load64): Capitalise Linux.
23037 (GRUB_MOD_INIT): Gettextizze.
23038 * loader/xnu.c: Include `<grub/i18n.h>'.
23039 (GRUB_MOD_INIT): Gettextizze.
23040 * po/POTFILES: Add `loader/efi/appleloader.c',
23041 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
23042 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
23043 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
23044 `loader/i386/xnu.c', `loader/multiboot_loader.c',
23045 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
23046 and `loader/xnu.c'.
23047
23048 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
23049
23050 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
23051
23052 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
23053
23054 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
23055 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
23056 * util/mkisofs/mkisofs.c (main): Readjust --version output.
23057
23058 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23059
23060 Reset Multiboot 2 support. New loader implements the draft in
23061 /branches/multiboot2 and shares as much code as possible with the
23062 production Multiboot 1 implementation.
23063
23064 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
23065 * loader/multiboot2.c: Likewise.
23066 * loader/i386/multiboot_helper.S: Likewise.
23067 * include/multiboot2.h: Replace with latest version from the draft
23068 in /branches/multiboot2.
23069
23070 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
23071 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
23072 and `loader/multiboot2.c'.
23073 (pkglib_MODULES): Add `multiboot2.mod'.
23074 (multiboot2_mod_SOURCES): New variable.
23075 (multiboot2_mod_LDFLAGS): Likewise.
23076 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
23077
23078 * conf/i386-pc.rmk: Likewise.
23079
23080 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
23081 (multiboot_mod_SOURCES): Remove variable.
23082 (multiboot_mod_LDFLAGS): Likewise.
23083 (multiboot_mod_CFLAGS): Likewise.
23084
23085 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
23086 `<multiboot2.h>' instead of `<multiboot.h>'.
23087 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
23088 (MULTIBOOT_HEADER_MAGIC): New macros.
23089
23090 * loader/multiboot_loader.c (module_version_status): Remove variable.
23091 (find_multi_boot2_header): Remove function.
23092 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
23093 logic. Always check for the Multiboot version we're compiling for.
23094 (grub_cmd_module_loader): Likewise.
23095 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
23096 command instead of `multiboot'.
23097
23098 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23099
23100 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
23101 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
23102 all users.
23103
23104 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23105 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23106
23107 Fix breakage introduced with previous commit.
23108
23109 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
23110 commands.
23111 * normal/handler.c (read_handler_list): Revert part of previous commit
23112 affecting this file.
23113 * normal/main.c (read_lists): Move read_handler_list() call back to ...
23114 (grub_normal_execute): ... here.
23115
23116 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23117
23118 Merge prefix-redefinition-fix branch.
23119
23120 * normal/autofs.c (read_fs_list): Make function capable of being
23121 run multiple times, gracefuly replacing the previous data
23122 structures.
23123 * normal/dyncmd.c (read_command_list): Likewise.
23124 * normal/handler.c (read_handler_list): Likewise.
23125 * normal/main.c (read_lists): New function. Calls all the
23126 list reading functions.
23127 (grub_normal_execute): Use read_lists() instead of calling all
23128 list reading functions explicitly. Register read_lists() as a
23129 variable hook attached to ${prefix}.
23130
23131 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23132
23133 Merge crypto branch.
23134
23135 * Makefile.in (pkglib_DATA): Add crypto.lst.
23136 (crypto.lst): New target.
23137 * commands/hashsum.c: New file.
23138 * commands/password.c (check_password): Use grub_crypto_memcmp.
23139 * commands/password_pbkdf2.c: New file.
23140 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
23141 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
23142 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
23143 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
23144 -I$(srcdir)/lib/libgcrypt_wrap.
23145 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
23146 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
23147 password_pbkdf2.mod.
23148 (crypto_mod_SOURCES): New variable.
23149 (crypto_mod_CFLAGS): Likewise.
23150 (crypto_mod_LDFLAGS): Likewise.
23151 (hashsum_mod_SOURCES): New variable.
23152 (hashsum_mod_CFLAGS): Likewise.
23153 (hashsum_mod_LDFLAGS): Likewise.
23154 (pbkdf2_mod_SOURCES): New variable.
23155 (pbkdf2_mod_CFLAGS): Likewise.
23156 (pbkdf2_mod_LDFLAGS): Likewise.
23157 (password_pbkdf2_mod_SOURCES): New variable.
23158 (password_pbkdf2_mod_CFLAGS): Likewise.
23159 (password_pbkdf2_mod_LDFLAGS): Likewise.
23160 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
23161 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
23162 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
23163 Include conf/gcry.rmk.
23164 * include/grub/auth.h: Rewritten.
23165 * include/grub/crypto.h: New file.
23166 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
23167 * include/grub/normal.h (read_crypto_list): New prototype.
23168 * lib/crypto.c: New file.
23169 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
23170 * lib/pbkdf2.c: Likewise.
23171 * normal/auth.c (grub_auth_strcmp): Removed.
23172 (grub_iswordseparator): Likewise.
23173 (grub_auth_strword): Likewise.
23174 (is_authenticated): Use grub_strword.
23175 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
23176 and grub_strword. Pass entered password to authentication callback.
23177 * normal/crypto.c: New file.
23178 * normal/main.c: Call read_crypto_list.
23179 * util/grub-mkpasswd-pbkdf2.c: New file.
23180 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
23181
23182 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
23183
23184 Fix descent and ascent calculation.
23185
23186 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
23187 (options): New option "asce".
23188 (usage): Likewise.
23189 (add_char): Ignore invalid glyphs for descent calculation.
23190 Calculate ascent from actual content.
23191 (print_glyphs): Use 'asce'.
23192 (write_font): Likewise. Allow ascent override.
23193 (main): Handle "asce" option.
23194
23195 2010-01-06 Carles Pina i Estany <carles@pina.cat>
23196
23197 * kern/err.c: Include `<grub/i18n.h>'.
23198 (grub_print_error): Add full stop. Gettextizze.
23199 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
23200 (grub_bsd_load_elf): Capitalise ELF.
23201 (grub_cmd_freebsd_loadenv): Add `s' in error string.
23202 (grub_cmd_freebsd_module): Likewise.
23203 (grub_cmd_freebsd_module_elf): Likewise.
23204 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
23205
23206 2010-01-06 Carles Pina i Estany <carles@pina.cat>
23207
23208 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
23209 * commands/search_file.c (HELP_MESSAGE): New macro.
23210 * commands/search_label.c (HELP_MESSAGE): Likewise.
23211 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
23212 * po/POTFILES: Add `commands/search_file.c',
23213 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
23214 `commands/search.c'.
23215
23216 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
23217
23218 * config.rpath: Update from Gnulib.
23219
23220 2010-01-05 Yves Blusseau <blusseau@zetam.org>
23221
23222 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
23223
23224 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
23225
23226 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
23227
23228 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23229
23230 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
23231 arguments to fread so that we get a return value in bytes, rather
23232 than something that will normally be rounded down to 0.
23233 Adjust error handling to avoid producing garbage when size_t is not
23234 the same size as long long.
23235
23236 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23237
23238 * util/mkisofs/write.c (padblock_write): Check return value of
23239 fread.
23240
23241 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
23242
23243 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
23244 floppy images now.
23245
23246 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
23247
23248 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
23249
23250 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
23251 instead of manual alignment.
23252 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
23253 verbose). Avoid attempts to read past end of the device
23254 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
23255 but GRUB_DISK_CACHE_SIZE may exceed that).
23256
23257 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
23258
23259 * commands/crc.c (grub_cmd_crc): Abort on read errors.
23260 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
23261 it to upper layer.
23262
23263 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
23264
23265 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
23266 New constant.
23267 (grub_efi_piwg_device_path): New structure
23268 (grub_efi_piwg_device_path_t): New type.
23269 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
23270 (devpath_1): Transform to a structure. All users updated.
23271 (devpath_2): Likewise.
23272 (devpath_3): Likewise.
23273 (devpath_4): Likewise.
23274 (devpath_5): Likewise.
23275
23276 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
23277
23278 * loader/efi/appleloader.c: Restored. Update all users.
23279
23280 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23281
23282 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
23283
23284 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
23285 (struct boot_blocklist): Move from here ...
23286 * include/grub/i386/pc/boot.h [ASM_FILE]
23287 (struct grub_boot_blocklist): ... to here. Update all users.
23288 (setup): Only initialize `start' member of `first_block'
23289 structure. Add assert() calls to verify the other members.
23290
23291 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
23292 (generate_image): Fix broken blocklist length initialization.
23293 Add assert() call to verify blocklist `segment' field.
23294
23295 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23296
23297 * loader/efi/appleloader.c: Remove. Update all users.
23298
23299 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23300
23301 * boot/i386/pc/boot.S: Update copyright year.
23302 * boot/i386/pc/cdboot.S: Likewise.
23303 * boot/i386/pc/diskboot.S: Likewise.
23304 * boot/i386/pc/lnxboot.S: Likewise.
23305 * boot/i386/pc/pxeboot.S: Likewise.
23306 * bus/pci.c: Likewise.
23307 * commands/cmp.c: Likewise.
23308 * commands/help.c: Likewise.
23309 * commands/hexdump.c: Likewise.
23310 * commands/i386/pc/halt.c: Likewise.
23311 * commands/i386/pc/play.c: Likewise.
23312 * commands/i386/pc/vbeinfo.c: Likewise.
23313 * commands/ls.c: Likewise.
23314 * commands/test.c: Likewise.
23315 * disk/dmraid_nvidia.c: Likewise.
23316 * disk/i386/pc/biosdisk.c: Likewise.
23317 * disk/ieee1275/nand.c: Likewise.
23318 * disk/ieee1275/ofdisk.c: Likewise.
23319 * disk/lvm.c: Likewise.
23320 * disk/raid.c: Likewise.
23321 * disk/raid6_recover.c: Likewise.
23322 * disk/scsi.c: Likewise.
23323 * fs/affs.c: Likewise.
23324 * fs/cpio.c: Likewise.
23325 * fs/ext2.c: Likewise.
23326 * fs/hfs.c: Likewise.
23327 * fs/iso9660.c: Likewise.
23328 * fs/ntfs.c: Likewise.
23329 * fs/sfs.c: Likewise.
23330 * fs/udf.c: Likewise.
23331 * fs/ufs.c: Likewise.
23332 * fs/xfs.c: Likewise.
23333 * gencmdlist.sh: Likewise.
23334 * genmk.rb: Likewise.
23335 * include/grub/disk.h: Likewise.
23336 * include/grub/efi/api.h: Likewise.
23337 * include/grub/efi/efi.h: Likewise.
23338 * include/grub/efi/pe32.h: Likewise.
23339 * include/grub/elf.h: Likewise.
23340 * include/grub/fs.h: Likewise.
23341 * include/grub/i386/at_keyboard.h: Likewise.
23342 * include/grub/i386/pc/memory.h: Likewise.
23343 * include/grub/i386/pc/vbe.h: Likewise.
23344 * include/grub/i386/pci.h: Likewise.
23345 * include/grub/i386/tsc.h: Likewise.
23346 * include/grub/ieee1275/ieee1275.h: Likewise.
23347 * include/grub/ntfs.h: Likewise.
23348 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
23349 * include/grub/sparc64/libgcc.h: Likewise.
23350 * include/grub/symbol.h: Likewise.
23351 * include/grub/types.h: Likewise.
23352 * include/multiboot2.h: Likewise.
23353 * io/gzio.c: Likewise.
23354 * kern/device.c: Likewise.
23355 * kern/disk.c: Likewise.
23356 * kern/efi/efi.c: Likewise.
23357 * kern/efi/mm.c: Likewise.
23358 * kern/elf.c: Likewise.
23359 * kern/file.c: Likewise.
23360 * kern/i386/dl.c: Likewise.
23361 * kern/i386/pc/init.c: Likewise.
23362 * kern/i386/pc/startup.S: Likewise.
23363 * kern/ieee1275/ieee1275.c: Likewise.
23364 * kern/ieee1275/init.c: Likewise.
23365 * kern/main.c: Likewise.
23366 * kern/mm.c: Likewise.
23367 * kern/powerpc/dl.c: Likewise.
23368 * kern/sparc64/dl.c: Likewise.
23369 * kern/x86_64/dl.c: Likewise.
23370 * lib/hexdump.c: Likewise.
23371 * loader/efi/appleloader.c: Likewise.
23372 * loader/i386/ieee1275/linux.c: Likewise.
23373 * loader/i386/pc/chainloader.c: Likewise.
23374 * loader/i386/pc/linux.c: Likewise.
23375 * loader/i386/pc/multiboot2.c: Likewise.
23376 * loader/ieee1275/multiboot2.c: Likewise.
23377 * loader/multiboot2.c: Likewise.
23378 * loader/multiboot_loader.c: Likewise.
23379 * loader/powerpc/ieee1275/linux.c: Likewise.
23380 * normal/completion.c: Likewise.
23381 * normal/menu_entry.c: Likewise.
23382 * partmap/apple.c: Likewise.
23383 * util/grub.d/10_hurd.in: Likewise.
23384 * util/hostfs.c: Likewise.
23385 * video/readers/png.c: Likewise.
23386
23387 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
23388
23389 * include/grub/misc.h (GNUC_PREREQ): New macro.
23390 (ATTRIBUTE_ERROR): New macro.
23391 * include/grub/list.h (grub_bad_type_cast_real): Use
23392 ATTRIBUTE_ERROR.
23393
23394 2010-01-03 Carles Pina i Estany <carles@pina.cat>
23395
23396 * normal/menu_text.c (print_message): Change messages.
23397
23398 2010-01-03 Carles Pina i Estany <carles@pina.cat>
23399
23400 * normal/menu_entry.c (store_completion): Gettextizze.
23401
23402 2010-01-03 Carles Pina i Estany <carles@pina.cat>
23403
23404 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
23405
23406 2010-01-03 Carles Pina i Estany <carles@pina.cat>
23407
23408 * po/POTFILES: Sort correctly.
23409
23410 2010-01-03 Carles Pina i Estany <carles@pina.cat>
23411
23412 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
23413 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
23414 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
23415 full stop.
23416 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
23417 summary. Gettextizze the strings.
23418 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
23419 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
23420 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
23421 full stop.
23422 (GRUB_MOD_INIT): Remove command name from summary.
23423 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
23424 summary.
23425 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
23426 * term/i386/pc/serial.c (options): Add full stops.
23427 (GRUB_MOD_INIT): Remove command name from the summary.
23428
23429 2010-01-03 Carles Pina i Estany <carles@pina.cat>
23430
23431 * commands/acpi.c: Gettextizze help strings and/or options. Include
23432 `grub/i18n.h' if needed.
23433 * commands/blocklist.c: Likewise.
23434 * commands/boot.c: Likewise.
23435 * commands/cat.c: Likewise.
23436 * commands/cmp.c: Likewise.
23437 * commands/configfile.c: Likewise.
23438 * commands/crc.c: Likewise.
23439 * commands/date.c: Likewise.
23440 * commands/echo.c: Likewise.
23441 * commands/efi/fixvideo.c: Likewise.
23442 * commands/efi/loadbios.c: Likewise.
23443 * commands/gptsync.c: Likewise.
23444 * commands/halt.c: Likewise.
23445 * commands/handler.c: Likewise.
23446 * commands/hdparm.c: Likewise.
23447 * commands/hexdump.c: Likewise.
23448 * commands/i386/cpuid.c: Likewise.
23449 * commands/i386/pc/drivemap.c: Likewise.
23450 * commands/i386/pc/halt.c: Likewise.
23451 * commands/i386/pc/pxecmd.c: Likewise.
23452 * commands/i386/pc/vbeinfo.c: Likewise.
23453 * commands/i386/pc/vbetest.c: Likewise.
23454 * commands/ieee1275/suspend.c: Likewise.
23455 * commands/keystatus.c: Likewise.
23456 * commands/loadenv.c: Likewise.
23457 * commands/ls.c: Likewise.
23458 * commands/lsmmap.c: Likewise.
23459 * commands/lspci.c: Likewise.
23460 * commands/memrw.c: Likewise.
23461 * commands/minicmd.c: Likewise.
23462 * commands/parttool.c: Likewise.
23463 * commands/password.c: Likewise.
23464 * commands/probe.c: Likewise.
23465 * commands/read.c: Likewise.
23466 * commands/reboot.c: Likewise.
23467 * commands/search.c: Likewise.
23468 * commands/sleep.c: Likewise.
23469 * commands/test.c: Likewise.
23470 * commands/true.c: Likewise.
23471 * commands/usbtest.c: Likewise.
23472 * commands/videotest.c: Likewise.
23473 * commands/xnu_uuid.c: Likewise.
23474 * disk/loopback.c: Likewise.
23475 * hello/hello.c: Likewise.
23476 * loader/i386/bsd.c: Likewise.
23477 * term/i386/pc/serial.c: Likewise.
23478 * po/POTFILES: Add new files.
23479
23480 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
23481
23482 * term/i386/pc/at_keyboard.c
23483 (keyboard_controller_wait_untill_ready): Rename to ...
23484 (keyboard_controller_wait_until_ready): ... this. Update all users.
23485
23486 2010-01-01 Carles Pina i Estany <carles@pina.cat>
23487
23488 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
23489 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
23490 string using string width.
23491 * normal/menu_text.c (grub_print_message_indented): Use
23492 grub_print_spaces and not print_spaces.
23493 (print_timeout): Likewise.
23494 (print_spaces): Move to...
23495 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
23496
23497 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
23498
23499 Import from Gnulib.
23500
23501 * gnulib/getdelim.c: New file.
23502 * gnulib/getline.c: Likewise.
23503
23504 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
23505
23506 * include/grub/list.h (grub_assert_fail): Removed.
23507 (grub_bad_type_cast_real): New function.
23508 (grub_bad_type_cast): New macro.
23509 (GRUB_AS_LIST): Use grub_bad_type_cast.
23510 (GRUB_AS_LIST_P): Likewise.
23511 (GRUB_AS_NAMED_LIST): Likewise.
23512 (GRUB_AS_NAMED_LIST_P): Likewise.
23513 (GRUB_AS_PRIO_LIST): Likewise.
23514 (GRUB_AS_PRIO_LIST_P): Likewise.
23515 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
23516
23517 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
23518
23519 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
23520 Fix syntax error.
23521
23522 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
23523
23524 * configure.ac: Check for TARGET_CFLAGS initialization before we
23525 initialize it ourselves (sigh).
23526 Move a few modifications to TARGET_CFLAGS to be unconditional
23527 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
23528 eh_frame)
23529
23530 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
23531 * term/i386/pc/at_keyboard.c
23532 (keyboard_controller_wait_untill_ready): Likewise.
23533 (keyboard_controller_led): Rename `led_status' paramter to avoid
23534 name conflict.
23535
23536 2009-12-28 Carles Pina i Estany <carles@pina.cat>
23537
23538 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
23539 quotes.
23540
23541 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
23542
23543 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
23544
23545 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
23546
23547 * normal/menu_text.c (grub_print_message_indented): Prevent
23548 past-the-end-of-array dereference.
23549
23550 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
23551
23552 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
23553 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
23554
23555 2009-12-27 Carles Pina i Estany <carles@pina.cat>
23556
23557 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
23558 * normal/main.c (grub_normal_read_line): Remove a space from the
23559 default prompt.
23560
23561 2009-12-27 Carles Pina i Estany <carles@pina.cat>
23562
23563 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
23564 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23565 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
23566 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
23567 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23568 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23569 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
23570
23571 2009-12-26 Carles Pina i Estany <carles@pina.cat>
23572
23573 * video/readers/jpeg.c (cmd): Declare.
23574 (grub_cmd_jpegtest): Use `grub_command_t' type.
23575 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
23576 Assign to `cmd'.
23577 (GRUB_MOD_FINI): Use `cmd' to unregister.
23578 * video/readers/png.c (cmd): Declare.
23579 (grub_cmd_pngtest): Use `grub_command_t' type.
23580 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
23581 Assign to `cmd'.
23582 (GRUB_MOD_FINI): Use `cmd' to unregister.
23583 * video/readers/tga.c (cmd): Declare.
23584 (grub_cmd_tgatest): Use `grub_command_t' type.
23585 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
23586 Assign to `cmd'.
23587 (GRUB_MOD_FINI): Use `cmd' to unregister.
23588
23589 2009-12-26 Carles Pina i Estany <carles@pina.cat>
23590
23591 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
23592 stops.
23593 * kern/corecmd.c (grub_register_core_commands): Likewise.
23594 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
23595 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
23596 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
23597 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23598 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
23599 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
23600 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
23601 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
23602 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23603 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23604 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
23605 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
23606 * normal/handler.c (insert_handler): Likewise.
23607 * normal/main.c (GRUB_MOD_INIT): Likewise.
23608 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
23609
23610 2009-12-26 Carles Pina i Estany <carles@pina.cat>
23611
23612 * commands/help.c (grub_cmd_help): Print the command name before the
23613 summary.
23614 (GRUB_MOD_INIT): Remove command name from the summary.
23615 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
23616 string as summary.
23617 * lib/arg.c (find_long): Print the command name before the summary.
23618 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
23619 summary.
23620 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
23621 * commands/cat.c (GRUB_MOD_INIT): Likewise.
23622 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
23623 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
23624 * commands/crc.c (GRUB_MOD_INIT): Likewise.
23625 * commands/date.c (GRUB_MOD_INIT): Likewise.
23626 * commands/echo.c (GRUB_MOD_INIT): Likewise.
23627 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
23628 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
23629 * commands/handler.c (GRUB_MOD_INIT): Likewise.
23630 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
23631 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
23632 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
23633 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
23634 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
23635 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
23636 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
23637 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
23638 * commands/ls.c (GRUB_MOD_INIT): Likewise.
23639 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
23640 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
23641 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
23642 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
23643 * commands/password.c (GRUB_MOD_INIT): Likewise.
23644 * commands/probe.c (GRUB_MOD_INIT): Likewise.
23645 * commands/read.c (GRUB_MOD_INIT): Likewise.
23646 * commands/search.c (GRUB_MOD_INIT): Likewise.
23647 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
23648 * commands/test.c (GRUB_MOD_INIT): Likewise.
23649 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
23650 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
23651 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
23652 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
23653 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
23654 * lib/arg.c (GRUB_MOD_INIT): Likewise.
23655 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
23656 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
23657 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
23658 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
23659 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
23660 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
23661 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
23662 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
23663
23664 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
23665
23666 Use search command for preliminar UUID search.
23667
23668 * commands/search.c: Split into ...
23669 * commands/search_wrap.c: ...this
23670 * commands/search.c: ...and this.
23671 * commands/search_file.c: New file.
23672 * commands/search_label.c: New file.
23673 * commands/search_uuid.c: New file.
23674 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
23675 Add commands/search_wrap.c, commands/search_file.c,
23676 commands/search_label.c and commands/search_uuid.c.
23677 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
23678 (search_mod_SOURCES): Set to commands/search_wrap.c.
23679 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
23680 search_label.mod.
23681 (search_fs_file_mod_SOURCES): New variable.
23682 (search_fs_file_mod_CFLAGS): Likewise.
23683 (search_fs_file_mod_LDFLAGS): Likewise.
23684 (search_label_mod_SOURCES): Likewise.
23685 (search_label_mod_CFLAGS): Likewise.
23686 (search_label_mod_LDFLAGS): Likewise.
23687 (search_fs_uuid_mod_SOURCES): New variable.
23688 (search_fs_uuid_mod_CFLAGS): Likewise.
23689 (search_fs_uuid_mod_LDFLAGS): Likewise.
23690 (fs_file_mod_SOURCES): Removed.
23691 (fs_file_mod_CFLAGS): Likewise.
23692 (fs_file_mod_LDFLAGS): Likewise.
23693 (fs_uuid_mod_SOURCES): Removed.
23694 (fs_uuid_mod_CFLAGS): Likewise.
23695 (fs_uuid_mod_LDFLAGS): Likewise.
23696 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
23697 Set to util/grub-install.in.
23698 * disk/fs_file.c: Removed.
23699 * disk/fs_uuid.c: Likewise.
23700 * include/grub/search.h: New file.
23701 * util/grub-install.in: Handle sparc64.
23702 Create and use load.cfg.
23703 * util/sparc64/ieee1275/grub-install.in: Removed.
23704
23705 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
23706
23707 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
23708 Ignore return status if CF is cleared.
23709 (grub_biosdisk_get_diskinfo_standard): Likewise.
23710
23711 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
23712
23713 * term/i386/pc/at_keyboard.c
23714 (keyboard_controller_wait_untill_ready): New function.
23715 (grub_keyboard_controller_write, grub_keyboard_controller_read)
23716 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
23717 for keyboard polling, rather than duplicate the same loop. This
23718 saves a few bytes in code size.
23719
23720 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
23721
23722 Support for (pxe[:server[:gateway]]) syntax and
23723 use environment variable for PXE.
23724
23725 * commands/i386/pc/pxecmd.c (options): Removed.
23726 (print_ip): Removed.
23727 (grub_cmd_pxe): Removed
23728 (grub_cmd_pxe_unload): New function.
23729 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
23730 (grub_pxe_your_ip): Made static.
23731 (grub_pxe_default_server_ip): Likewise.
23732 (grub_pxe_default_gateway_ip): Likewise.
23733 (grub_pxe_blksize): Likewise.
23734 (parse_ip): New function.
23735 (grub_pxe_open): Support server and gateway specification.
23736 (grub_pxe_close): Free disk->data.
23737 (grub_pxefs_open): Use disk->data.
23738 (grub_pxefs_read): Likewise.
23739 (grub_env_write_readonly): New function.
23740 (set_mac_env): Likewise.
23741 (set_env_limn_ro): Likewise.
23742 (parse_dhcp_vendor): Likewise.
23743 (grub_pxe_detect): Set the environment variables.
23744 (set_ip_env): New function.
23745 (write_ip_env): Likewise.
23746 (grub_env_write_pxe_default_server): Likewise.
23747 (grub_env_write_pxe_default_gateway): Likewise.
23748 (grub_env_write_pxe_blocksize): Likewise.
23749 (GRUB_MOD_INIT(pxe)): Set environment variables.
23750 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
23751 (grub_pxe_mac_addr_t): ... this. All users updated.
23752 (grub_pxe_your_ip): Removed.
23753 (grub_pxe_server_ip): Likewise.
23754 (grub_pxe_gateway_ip): Likewise.
23755 (grub_pxe_blksize): Likewise.
23756
23757 2009-12-25 Carles Pina i Estany <carles@pina.cat>
23758
23759 * commands/help.c: Include `<grub/i18n.h>'.
23760 (grub_cmd_help): Gettextizze.
23761 (GRUB_MOD_INIT): Likewise.
23762 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
23763 (GRUB_MOD_INIT): Gettextizze.
23764 * commands/search.c: Include `<grub/i18n.h>'.
23765 (options): Gettextizze.
23766 (GRUB_MOD_INIT): Gettextizze.
23767 * lib/arg.c: Include `<grub/i18n.h>'.
23768 (help_options): Gettextizze.
23769 (find_long): Likewise.
23770 (grub_arg_show_help): Likewise.
23771 * normal/dyncmd.c: Include `<grub/i18n.h>'.
23772 (read_command_list): Gettextizze.
23773 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
23774 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
23775
23776 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
23777
23778 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
23779 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
23780 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
23781 (led_status): New variable.
23782 (keyboard_controller_led): New function.
23783 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
23784 update led status for caps lock, num lock and scroll lock.
23785
23786 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
23787
23788 * util/hostdisk.c (open_device): Fix a comment.
23789
23790 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23791
23792 * util/grub-install.in (host_os): New variable.
23793 * util/i386/efi/grub-install.in (host_os): Likewise.
23794
23795 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23796
23797 * util/mkisofs/write.c (padblock_write): Abort when given an
23798 excedingly large embed image, instead of silently truncating it.
23799
23800 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23801
23802 * include/multiboot.h: Indentation fixes.
23803
23804 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23805
23806 * include/multiboot.h (struct multiboot_aout_symbol_table)
23807 (struct multiboot_elf_section_header_table): New structure
23808 declarations (stolen from GRUB Legacy).
23809 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
23810 table information.
23811
23812 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
23813 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
23814 type aliases.
23815
23816 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23817
23818 * include/multiboot.h: Make comments src2texi-friendly.
23819
23820 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23821
23822 For consistency with [multiboot]/docs/boot.S.
23823
23824 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
23825 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
23826 (MULTIBOOT_MAGIC2): Rename from this ...
23827 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
23828
23829 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23830
23831 * include/multiboot.h: Remove `<grub/types.h>'.
23832 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
23833 types. Update all users.
23834
23835 2009-12-25 Carles Pina i Estany <carles@pina.cat>
23836
23837 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
23838 `couldn't' and `can not' by `cannot'.
23839 * commands/i386/pc/drivemap.c: Likewise.
23840 * disk/ata.c: Likewise.
23841 * disk/ieee1275/nand.c: Likewise.
23842 * fs/affs.c: Likewise.
23843 * fs/fat.c: Likewise.
23844 * fs/hfs.c: Likewise.
23845 * fs/hfsplus.c: Likewise.
23846 * fs/iso9660.c: Likewise.
23847 * fs/jfs.c: Likewise.
23848 * fs/minix.c: Likewise.
23849 * fs/reiserfs.c: Likewise.
23850 * fs/sfs.c: Likewise.
23851 * fs/udf.c: Likewise.
23852 * fs/ufs.c: Likewise.
23853 * fs/xfs.c: Likewise.
23854 * loader/powerpc/ieee1275/linux.c: Likewise.
23855 * loader/sparc64/ieee1275/linux.c: Likewise.
23856 * util/grub-probe.c: Likewise.
23857 * util/misc.c: Likewise.
23858
23859 2009-12-24 Carles Pina i Estany <carles@pina.cat>
23860
23861 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
23862 grub_errno calls.
23863 * commands/acpi.c: Likewise.
23864 * commands/blocklist.c: Likewise.
23865 * commands/efi/loadbios.c: Likewise.
23866 * commands/i386/pc/drivemap.c: Likewise.
23867 * commands/loadenv.c: Likewise.
23868 * commands/memrw.c: Likewise.
23869 * commands/password.c: Likewise.
23870 * commands/videotest.c: Likewise.
23871 * disk/ata.c: Likewise.
23872 * disk/ata_pthru.c: Likewise.
23873 * disk/dmraid_nvidia.c: Likewise.
23874 * disk/ieee1275/nand.c: Likewise.
23875 * disk/ieee1275/ofdisk.c: Likewise.
23876 * disk/loopback.c: Likewise.
23877 * disk/lvm.c: Likewise.
23878 * disk/mdraid_linux.c: Likewise.
23879 * disk/raid.c: Likewise.
23880 * disk/raid6_recover.c: Likewise.
23881 * disk/scsi.c: Likewise.
23882 * efiemu/main.c: Likewise.
23883 * efiemu/mm.c: Likewise.
23884 * efiemu/pnvram.c: Likewise.
23885 * efiemu/symbols.c: Likewise.
23886 * font/font.c: Likewise.
23887 * fs/cpio.c: Likewise.
23888 * fs/hfsplus.c: Likewise.
23889 * fs/iso9660.c: Likewise.
23890 * fs/jfs.c: Likewise.
23891 * fs/minix.c: Likewise.
23892 * fs/ntfs.c: Likewise.
23893 * fs/ntfscomp.c: Likewise.
23894 * fs/reiserfs.c: Likewise.
23895 * fs/ufs.c: Likewise.
23896 * fs/xfs.c: Likewise.
23897 * gettext/gettext.c: Likewise.
23898 * include/grub/auth.h: Likewise.
23899 * kern/elf.c: Likewise.
23900 * kern/file.c: Likewise.
23901 * kern/ieee1275/init.c: Likewise.
23902 * kern/ieee1275/mmap.c: Likewise.
23903 * kern/ieee1275/openfw.c: Likewise.
23904 * kern/powerpc/dl.c: Likewise.
23905 * kern/sparc64/dl.c: Likewise.
23906 * lib/arg.c: Likewise.
23907 * loader/i386/bsd.c: Likewise.
23908 * loader/i386/bsdXX.c: Likewise.
23909 * loader/i386/efi/linux.c: Likewise.
23910 * loader/i386/efi/xnu.c: Likewise.
23911 * loader/i386/ieee1275/linux.c: Likewise.
23912 * loader/i386/linux.c: Likewise.
23913 * loader/i386/multiboot.c: Likewise.
23914 * loader/i386/pc/linux.c: Likewise.
23915 * loader/i386/pc/multiboot2.c: Likewise.
23916 * loader/i386/xnu.c: Likewise.
23917 * loader/ieee1275/multiboot2.c: Likewise.
23918 * loader/macho.c: Likewise.
23919 * loader/machoXX.c: Likewise.
23920 * loader/multiboot2.c: Likewise.
23921 * loader/multiboot_loader.c: Likewise.
23922 * loader/powerpc/ieee1275/linux.c: Likewise.
23923 * loader/sparc64/ieee1275/linux.c: Likewise.
23924 * loader/xnu.c: Likewise.
23925 * loader/xnu_resume.c: Likewise.
23926 * mmap/i386/pc/mmap.c: Likewise.
23927 * normal/menu_viewer.c: Likewise.
23928 * partmap/acorn.c: Likewise.
23929 * partmap/amiga.c: Likewise.
23930 * partmap/apple.c: Likewise.
23931 * script/lexer.c: Likewise.
23932 * term/gfxterm.c: Likewise.
23933 * term/i386/pc/serial.c: Likewise.
23934 * term/i386/pc/vga.c: Likewise.
23935 * term/ieee1275/ofconsole.c: Likewise.
23936 * term/terminfo.c: Likewise.
23937 * video/bitmap.c: Likewise.
23938 * video/efi_gop.c: Likewise.
23939 * video/efi_uga.c: Likewise.
23940 * video/fb/video_fb.c: Likewise.
23941 * video/i386/pc/vbe.c: Likewise.
23942 * video/readers/tga.c: Likewise.
23943 * video/video.c: Likewise.
23944
23945 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
23946
23947 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
23948 * commands/lspci.c: Likewise.
23949 * commands/probe.c: Likewise.
23950 * commands/xnu_uuid.c: Likewise.
23951 * conf/i386-coreboot.rmk: Likewise.
23952 * conf/i386-efi.rmk: Likewise.
23953 * conf/i386-ieee1275.rmk: Likewise.
23954 * conf/i386-pc.rmk: Likewise.
23955 * conf/powerpc-ieee1275.rmk: Likewise.
23956 * conf/sparc64-ieee1275.rmk: Likewise.
23957 * conf/x86_64-efi.rmk: Likewise.
23958 * fs/i386/pc/pxe.c: Likewise.
23959 * gettext/gettext.c: Likewise.
23960 * include/grub/efi/graphics_output.h: Likewise.
23961 * include/grub/i386/pc/memory.h: Likewise.
23962 * kern/env.c: Likewise.
23963 * kern/i386/qemu/startup.S: Likewise.
23964 * lib/i386/pc/biosnum.c: Likewise.
23965 * lib/i386/relocator.c: Likewise.
23966 * lib/i386/relocator_asm.S: Likewise.
23967 * lib/relocator.c: Likewise.
23968 * loader/i386/bsd.c: Likewise.
23969 * loader/i386/multiboot.c: Likewise.
23970 * loader/i386/pc/chainloader.c: Likewise.
23971 * loader/i386/xnu.c: Likewise.
23972 * loader/xnu.c: Likewise.
23973 * normal/main.c: Likewise.
23974 * normal/menu_text.c: Likewise.
23975 * util/getroot.c: Likewise.
23976 * util/grub-mkconfig_lib.in: Likewise.
23977 * util/grub.d/00_header.in: Likewise.
23978 * util/i386/pc/grub-mkimage.c: Likewise.
23979 * util/mkisofs/eltorito.c: Likewise.
23980 * util/mkisofs/exclude.h: Likewise.
23981 * util/mkisofs/hash.c: Likewise.
23982 * util/mkisofs/iso9660.h: Likewise.
23983 * util/mkisofs/joliet.c: Likewise.
23984 * util/mkisofs/mkisofs.c: Likewise.
23985 * util/mkisofs/mkisofs.h: Likewise.
23986 * util/mkisofs/multi.c: Likewise.
23987 * util/mkisofs/name.c: Likewise.
23988 * util/mkisofs/rock.c: Likewise.
23989 * util/mkisofs/tree.c: Likewise.
23990 * util/mkisofs/write.c: Likewise.
23991 * video/efi_gop.c: Likewise.
23992
23993 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
23994
23995 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
23996 size counting.
23997
23998 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
23999
24000 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
24001 * genmk.rb (class SCRIPT): Modify the target file instead of source.
24002
24003 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24004
24005 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
24006 (GRUB_MOD_INIT(memrw)): Update help line.
24007
24008 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24009
24010 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
24011 Use grub_extcmd_t. All users updated.
24012 (options): New variable.
24013 (grub_cmd_read): Restructure for readability. Support "-v" option.
24014 (grub_cmd_write): Restructure for readability.
24015
24016 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24017
24018 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
24019
24020 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24021
24022 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
24023 with the actual contents of the correspondending make variable.
24024 * util/grub-mkrescue.in (pkglib_DATA): New variable.
24025 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
24026 specifying `*.lst' and `efiemu??.o'
24027
24028 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24029
24030 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
24031 after function name.
24032 Noticed by Rene Engelhard <rene@debian.org>.
24033
24034 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24035
24036 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
24037 (options): New variable.
24038 (iospace): Likewise.
24039 (grub_lspci_iter): List IO spaces if "-i" was given.
24040 (grub_cmd_lspci): Parse options.
24041 (GRUB_MOD_INIT(lspci)): Use extcmd.
24042 (GRUB_MOD_FINI(lspci)): Likewise.
24043
24044 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24045
24046 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
24047 `function' keyword.
24048 Patch by Tony Mancill <tmancill@debian.org>.
24049
24050 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24051
24052 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
24053 (grub_uhci_portstatus): Likewise.
24054 (grub_uhci_portstatus): Add necessary delay.
24055 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
24056
24057 2009-12-21 Carles Pina i Estany <carles@pina.cat>
24058
24059 * commands/acpi.c (options): Fix capitalizations and/or full stops.
24060 (GRUB_MOD_INIT): Likewise.
24061 * commands/boot.c (GRUB_MOD_INIT): Likewise.
24062 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
24063 * commands/echo.c (options): Fix capitalizations and/or full stops.
24064 * commands/efi/loadbios.c (enable_rom_area): Likewise.
24065 (enable_rom_area): Likewise.
24066 (GRUB_MOD_INIT): Likewise.
24067 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
24068 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
24069 * commands/handler.c (GRUB_MOD_INIT): Likewise.
24070 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
24071 * commands/hexdump.c (options): Likewise.
24072 * commands/i386/cpuid.c (options): Likewise.
24073 (GRUB_MOD_INIT): Likewise.
24074 * commands/i386/pc/drivemap.c (options): Likewise.
24075 (GRUB_MOD_INIT): Likewise.
24076 * commands/i386/pc/halt (options): Likewise.
24077 (GRUB_MOD_INIT): Likewise.
24078 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
24079 * commands/i386/pc/pxecmd.c (options): Likewise.
24080 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
24081 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
24082 * commands/keystatus.c (options): Likewise.
24083 (GRUB_MOD_INIT): Likewise.
24084 * commands/loadenv.c (options): Likewise.
24085 * commands/ls.c (options): Likewise.
24086 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
24087 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
24088 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
24089 * commands/parttool.c (helpmsg): Likewise.
24090 * commands/probe.c (options): Likewise.
24091 * commands/read.c (GRUB_MOD_INIT): Likewise.
24092 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
24093 * commands/search.c (options): Likewise.
24094 * commands/sleep.c (options): Likewise.
24095 * commands/test.c (GRUB_MOD_INIT): Likewise.
24096 * commands/true.c (GRUB_MOD_INIT): Likewise.
24097 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
24098 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
24099 * lib/arg.c (help_options): Likewise.
24100 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
24101 `$(XGETTEXT)'.
24102 * po/POTFILES: Add `commands/loadenv.c'.
24103
24104 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
24105
24106 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
24107 instead of specifying them explicit.
24108
24109 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24110
24111 * NEWS: Add grub-probe support for GNU/Hurd.
24112
24113 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24114
24115 * NEWS: gettext was added after 1.97.
24116
24117 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24118
24119 * util/mkisofs/msdos_partition.h: New file (based on
24120 include/grub/msdos_partition.h).
24121 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
24122 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
24123 (ld_options, main): Recognize --protective-msdos-label.
24124 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
24125 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
24126 (padblock_write): If `use_protective_msdos_label' is set, patch a
24127 protective DOS-style label in the output image.
24128
24129 * util/grub-mkrescue.in: Use --protective-msdos-label.
24130
24131 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24132
24133 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
24134 boot.
24135
24136 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24137
24138 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
24139 variables.
24140 (ld_options, main): Recognize `--embedded-boot'.
24141 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
24142 declarations.
24143 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
24144 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
24145 (padblock_write): Likewise. Rewrite to support embedded boot image.
24146
24147 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
24148 for BIOS-based disk boot instead of only ElTorito.
24149
24150 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24151
24152 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
24153 build (not needed for bootstrap).
24154
24155 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24156
24157 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
24158 from i386-pc build (not needed for bootstrap).
24159 Rewrite a pair of strings.
24160
24161 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24162
24163 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
24164
24165 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
24166
24167 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
24168
24169 2009-12-21 Andreas Born <futur.andy@googlemail.com>
24170
24171 * kern/env.c (grub_env_context_open): Mark exported variable for
24172 reexport.
24173
24174 2009-12-21 Andreas Born <futur.andy@googlemail.com>
24175
24176 * kern/env.c (grub_env_export): Create nonexistent variables before
24177 exporting.
24178
24179 2009-12-20 Carles Pina i Estany <carles@pina.cat>
24180
24181 * include/grub/auth.h: Include `<grub/i18n.h>'.
24182 (GRUB_GET_PASSWORD): Gettextizze string.
24183 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
24184 menu_text.c.
24185 (grub_utf8_to_ucs4_alloc): Fix indentation.
24186 (grub_print_ucs4): Likewise.
24187 (grub_getstringwidth): Likewise.
24188 (print_message_indented): New declaration.
24189 * normal/auth.c: Include `<grub/i18n.h>'.
24190 (grub_auth_check_authentication): Gettexttize string.
24191 * normal/cmdline.c: Include `<grub/i18n.h>'.
24192 (grub_cmdline_get): Gettextizze.
24193 * normal/color.c: Include `<grub/i18n.h>'.
24194 (grub_parse_color_name_pair): Gettexttize strings.
24195 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
24196 string (use `print_message_indented').
24197 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
24198 `include/grub/normal.h'.
24199 (print_message_indented): Renamed to ...
24200 (grub_print_message_indented): ... this. Remove `static' qualifer (now
24201 used in normal/main.c).
24202 (print_message): Use `grub_print_message_indented' instead of
24203 `print_message_indented'.
24204 (print_timeout): Likewise.
24205 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
24206 (grub_normal_print_device_info): Gettexttize strings.
24207 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
24208
24209 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
24210
24211 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
24212 of arguments. Return number of tokens and not arguments. All users
24213 updated.
24214
24215 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
24216
24217 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
24218 non-MSDOS paritions.
24219
24220 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
24221
24222 * include/grub/types.h (UNUSED): Removed since it conflicts with
24223 NetBSD headers. All users changed to direct __attribute__ ((unused)).
24224 Reported by Grégoire Sutre.
24225
24226 2009-12-19 Carles Pina i Estany <carles@pina.cat>
24227
24228 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
24229 (grub_print_ucs4_alloc): Likewise.
24230 (grub_getstringwidth): Likewise.
24231 * normal/main.c (grub_normal_init_page): Gettextize version string.
24232 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
24233 (getstringwidth): Renamed to ...
24234 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
24235 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
24236 (grub_print_ucs4): Remove `static' qualifer (now used in
24237 normal/main.c).
24238 * po/POTFILES: Add normal/main.c.
24239
24240 2009-12-19 Carles Pina i Estany <carles@pina.cat>
24241
24242 * normal/menu_text.c (STANDARD_MARGIN): New macro.
24243 (print_message_indented): Add `margin_left' and `margin_right'
24244 parameters.
24245 (print_message): Update `print_message_indented' calls. Adds '\n' to the
24246 strings.
24247 (print_timeout): Use `print_message_indented' to print the message.
24248 Deletes `second_stage' parameter.
24249 (run_menu): Update `print_timeout' calls.
24250
24251 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24252
24253 Fix console palette on OpenFirmware.
24254
24255 * term/ieee1275/ofconsole.c (MAX): Removed.
24256 (colors): Redone based on VGA palette.
24257 (grub_ofconsole_setcolor): Discard brightness bit since only 8
24258 colors are supported.
24259 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
24260
24261 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24262
24263 Fix potential EfiEmu double prepare.
24264
24265 * efiemu/main.c (prepared): New variable
24266 (grub_efiemu_unload): Set prepare to '0'.
24267 (grub_efiemu_prepare): Return if already prepared. Set prepared.
24268
24269 set_virtual_address_map support.
24270
24271 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
24272 prototype.
24273 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
24274 prototype.
24275 (grub_efiemu_crc32): Likewise.
24276 (grub_efiemu_crc64): Likewise.
24277 (grub_efiemu_set_virtual_address_map): Likewise.
24278 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
24279 New definition.
24280 (grub_autoefi_set_virtual_address_map): Likewise.
24281 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
24282 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
24283 Restructure flow to accomodate it.
24284 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
24285 (grub_efiemu_crc): Recompute CRC32.
24286 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
24287 (efiemu_ptv_relocated): ... this. Made global. All users updated.
24288 * efiemu/symbols.c (relocated_handle): New variable.
24289 (grub_efiemu_free_syms): Free relocated_handle.
24290 (grub_efiemu_alloc_syms): Allocate relocated_handle.
24291 (grub_efiemu_write_sym_markers): New function.
24292 (grub_efiemu_set_virtual_address_map): Likewise.
24293
24294 Newer XNU parameters.
24295
24296 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
24297 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
24298 (grub_xnu_fill_devicetree): New prototype.
24299 (grub_xnu_heap_real_start): New variable.
24300 * loader/xnu.c (get_name_ptr): New function.
24301 (grub_xnu_load_driver): Fill namelen and name.
24302
24303 64-bit xnu support.
24304
24305 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
24306 and 'loader/macho64.c'.
24307 * conf/i386-pc.rmk: Likewise.
24308 * conf/x86_64-efi.rmk: Likewise.
24309 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
24310 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
24311 * include/grub/macho.h (grub_macho_segment64): New structure.
24312 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
24313 (grub_macho_size32): ... to this.
24314 (grub_macho32_get_entry_point): Renamed from ...
24315 (grub_macho_get_entry_point32): ... to this.
24316 (grub_macho_contains_macho64): New prototype.
24317 (grub_macho_size64): Likewise.
24318 (grub_macho_get_entry_point64): Likewise.
24319 (grub_macho32_load): Renamed from ...
24320 (grub_macho_load32): ... to this.
24321 (grub_macho32_filesize): Renamed from ...
24322 (grub_macho_filesize32): ... to this.
24323 (grub_macho32_readfile): Renamed from ...
24324 (grub_macho_readfile32): ... to this.
24325 (grub_macho_filesize64): New prototype.
24326 (grub_macho_readfile64): Likewise.
24327 (grub_macho_parse32): Likewise.
24328 (grub_macho_parse64): Likewise.
24329 * loader/macho.c: Split into ...
24330 * loader/machoXX.c: ... and this. Replace 32 with XX.
24331 * loader/macho32.c: New file.
24332 * loader/macho64.c: Likewise.
24333 * loader/xnu.c (grub_xnu_is_64bit): New variable.
24334 (grub_cmd_xnu_kernel): Make 32-bit only.
24335 (grub_cmd_xnu_kernel64): New function.
24336 (grub_xnu_load_driver): Support Mach-O 64.
24337 (grub_cmd_xnu_mkext): Likewise.
24338 * util/grub.d/30_os-prober.in (osx_entry): New function.
24339 Generate entries for 64-bit boot too.
24340
24341 Eliminate ad-hoc tree format in XNU and EfiEmu.
24342
24343 * efiemu/main.c (grub_efiemu_prepare): Update comment.
24344 * efiemu/pnvram.c: Rewritten to use environment variables.
24345 All users updated.
24346
24347 Inline utf16_to_utf8.
24348
24349 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
24350 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
24351 All users updated.
24352 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
24353
24354 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
24355 * commands/usbtest.c (grub_usb_get_string): ... move here.
24356 (usb_print_str): Fix error handling.
24357 * include/grub/usb.h (grub_usb_get_string): Remove.
24358
24359 UTF-8 to UTF-16 transformation.
24360
24361 * conf/common.rmk (pkglib_MODULES): Add charset.mod
24362 (charset_mod_SOURCES): New variable.
24363 (charset_mod_CFLAGS): Likewise.
24364 (charset_mod_LDFLAGS): Likewise.
24365 * include/grub/utf.h: New file.
24366 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
24367
24368 Support for device properties.
24369
24370 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
24371 (grub_xnu_devprop_device_header): Likewise.
24372 (grub_xnu_devprop_device_descriptor): Likewise.
24373 (grub_xnu_devprop_add_device): New prototype.
24374 (grub_xnu_devprop_remove_device): Likewise.
24375 (grub_xnu_devprop_remove_property): Likewise.
24376 (grub_xnu_devprop_add_property_utf8): Likewise.
24377 (grub_xnu_devprop_add_property_utf16): Likewise.
24378 (grub_cpu_xnu_init): Likewise.
24379 (grub_cpu_xnu_fini): Likewise.
24380 (grub_cpu_xnu_unload): Likewise.
24381 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
24382 (property_descriptor): Likewise.
24383 (devices): New variable.
24384 (grub_xnu_devprop_remove_property): New function.
24385 (grub_xnu_devprop_add_device): Likewise.
24386 (grub_xnu_devprop_remove_device): Likewise.
24387 (grub_xnu_devprop_add_property): Likewise.
24388 (grub_xnu_devprop_add_property_utf8): Likewise.
24389 (grub_xnu_devprop_add_property_utf16): Likewise.
24390 (hextoval): Likewise.
24391 (grub_cpu_xnu_fill_devprop): Likewise.
24392 (grub_cmd_devprop_load): Likewise.
24393 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
24394 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
24395 (cmd_devprop_load): New variable.
24396 (grub_cpu_xnu_init): New function.
24397 (grub_cpu_xnu_fini): Likewise.
24398 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
24399 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
24400 (grub_cmd_xnu_devtree): Likewise.
24401 (hextoval): New function.
24402 (unescape): Likewise.
24403 (grub_xnu_fill_devicetree): Likewise.
24404
24405 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
24406 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
24407
24408 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24409
24410 Workaround for broken ATI VBE.
24411
24412 * video/i386/pc/vbe.c (last_set_mode): New variable.
24413 (grub_vbe_set_video_mode): Set 'last_set_mode'.
24414 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
24415 (grub_video_vbe_setup): Don't check for reserved flag.
24416
24417 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
24418
24419 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
24420 the `find' command.
24421
24422 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
24423
24424 UUID support for HFS.
24425
24426 * fs/hfs.c (grub_hfs_uuid): New function.
24427 (grub_hfs_fs): New value .uuid.
24428 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
24429
24430 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
24431
24432 Fix a segfault with parsing unknown long options.
24433
24434 * util/grub-mkrelpath.c (options): Zero terminate it.
24435
24436 2009-12-13 Carles Pina i Estany <carles@pina.cat>
24437
24438 * include/grub/misc.h (grub_puts): New declaration.
24439 (grub_puts_): Likewise.
24440 * kern/misc.c (grub_puts): New definition.
24441 (grub_puts_): Likewise.
24442
24443 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
24444
24445 * util/grub-probe.c (probe): Improve error message.
24446
24447 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
24448
24449 * loader/i386/multiboot_elfxx.c
24450 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
24451 initialization.
24452
24453 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
24454
24455 Relocator framework
24456
24457 * loader/i386/xnu_helper.S: Removed. All users updated.
24458 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
24459 (relocator_mod_SOURCES): New variable.
24460 (relocator_mod_CFLAGS): Likewise.
24461 (relocator_mod_LDFLAGS): Likewise.
24462 (relocator_mod_ASFLAGS): Likewise.
24463 * conf/x86_64.rmk: Likewise.
24464 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
24465 (grub_multiboot_payload_entry_offset): Likewise.
24466 (grub_multiboot_forward_relocator): Likewise.
24467 (grub_multiboot_forward_relocator_end): Likewise.
24468 (grub_multiboot_backward_relocator): Likewise.
24469 (grub_multiboot_backward_relocator_end): Likewise.
24470 (grub_multiboot_payload_eip): New variable.
24471 (grub_multiboot_payload_orig): Likewise.
24472 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
24473 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
24474 * include/grub/i386/memory.h
24475 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
24476 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
24477 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
24478 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
24479 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
24480 * include/grub/i386/relocator.h: New file.
24481 * include/grub/x86_64/relocator.h: Likewise.
24482 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
24483 (XNU_RELOCATOR): New macro.
24484 (grub_xnu_launcher_start): Remove.
24485 (grub_xnu_launcher_end): Likewise.
24486 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
24487 (grub_xnu_heap_real_start): Remove.
24488 (grub_xnu_heap_start): Change to void *. All users updated.
24489 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
24490 * lib/i386/relocator.c: New file.
24491 * lib/i386/relocator_asm.S: Likewise.
24492 * lib/i386/relocator_backward.S: Likewise.
24493 * lib/mips/relocator.c: Likewise.
24494 * lib/mips/relocator_asm.S: Likewise.
24495 * lib/relocator.c: Likewise.
24496 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
24497 (entry): Removed.
24498 (playground): Likewise.
24499 (grub_multiboot_payload_orig): New variable.
24500 (grub_multiboot_payload_dest): Likewise.
24501 (grub_multiboot_payload_size): Likewise.
24502 (grub_multiboot_payload_eip): Likewise.
24503 (grub_multiboot_payload_esp): Likewise.
24504 (grub_multiboot_boot): Use grub_relocator32_boot.
24505 (grub_multiboot_unload): Free relocators.
24506 (grub_multiboot): Setup stack. Use relocators.
24507 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
24508 (grub_multiboot_load_elfXX): Use relocators.
24509 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
24510 (grub_multiboot_payload_size): Likewise.
24511 (grub_multiboot_payload_dest): Likewise.
24512 (grub_multiboot_payload_entry_offset): Likewise.
24513 (grub_multiboot_forward_relocator): Likewise.
24514 (grub_multiboot_backward_relocator): Likewise.
24515 (grub_multiboot_real_boot): Likewise.
24516 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
24517 (grub_xnu_entry_point): Likewise.
24518 (grub_xnu_arg1): Likewise.
24519 (grub_xnu_stack): Likewise.
24520 (grub_xnu_launch): Removed.
24521 (grub_xnu_boot_resume): New function.
24522 (grub_xnu_boot): Use relocators.
24523 * loader/i386/xnu_helper.S: Removed.
24524 * loader/xnu.c (grub_xnu_heap_start): New variable.
24525 (grub_xnu_heap_size): Likewise.
24526 (grub_xnu_heap_malloc): Use relocators.
24527 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
24528
24529 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
24530
24531 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
24532 anything.
24533
24534 2009-12-13 Carles Pina i Estany <carles@pina.cat>
24535
24536 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
24537 GRUB_ERR_NONE before calling grub_env_set.
24538
24539 2009-12-12 Robert Millan <rmh@aybabtu.com>
24540
24541 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
24542 * genmk.rb (video): New variable.
24543 (CLEANFILES, VIDEOFILES): Add #{video}.
24544 (#{video}): New target rule.
24545 * genvideolist.sh: New file.
24546 * Makefile.in (pkglib_DATA): Add video.lst.
24547 (video.lst): New target rule.
24548 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
24549 `video.lst'.
24550 * util/grub.d/30_os-prober.in: Replace `vbe' with
24551 ${GRUB_VIDEO_BACKEND}.
24552
24553 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
24554
24555 * THANKS: Add David Miller.
24556
24557 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
24558
24559 libpciaccess support.
24560
24561 * Makefile.in (LIBPCIACCESS): New variable.
24562 (enable_grub_emu_pci): Likewise.
24563 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
24564 util/pci.c and commands/lspci.c.
24565 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
24566 * configure.ac (grub-emu-pci): New option.
24567 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
24568 (grub_pci_device_unmap_range): Likewise.
24569 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
24570 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
24571 (grub_pci_address_t) [!GRUB_UTIL]: New type.
24572 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
24573 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
24574 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
24575 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
24576 * include/grub/pciutils.h: New file.
24577 * util/pci.c: Likewise.
24578
24579 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
24580
24581 * util/misc.c: Don't include <errno.h> twice.
24582
24583 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
24584
24585 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
24586 name in an error message.
24587 (grub_biosdisk_rw): Likewise.
24588
24589 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
24590
24591 Eliminate NTFS 4Gib barrier.
24592
24593 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
24594 (read_run_data): Likewise.
24595 (grub_ntfs_read_run_list): Likewise.
24596 (grub_ntfs_read_block): Likewise.
24597 (grub_ntfs_iterate_dir): Likewise.
24598 (read_mft): Likewise.
24599 (read_data): Likewise.
24600 Use COM_LOG_LEN.
24601 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
24602 to avoid 64-bit division
24603 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
24604 (grub_ntfs_rlst): Use grub_disk_addr_t.
24605
24606 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
24607
24608 Eliminate grub-fstest 4Gib barrier.
24609
24610 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
24611 (read_file): Fix error reporting.
24612
24613 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
24614
24615 Eliminate hexdump 4Gib barrier.
24616
24617 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
24618 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
24619
24620 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
24621
24622 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
24623 Fixes amarsh bug.
24624
24625 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
24626
24627 Remove miscellaneous files in distclean target.
24628
24629 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
24630
24631 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
24632
24633 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
24634 if they're already set. This resolves the conflict between my
24635 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
24636 fixing the --grub-probe option again.
24637 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
24638 change on 2009-10-06, so that we now once again source
24639 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
24640
24641 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
24642
24643 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
24644 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
24645 `util/devicemap.c'.
24646
24647 2009-12-08 Carles Pina i Estany <carles@pina.cat>
24648
24649 * include/grub/misc.h (grub_printf_): New declaration.
24650 * kern/misc.c (grub_printf_): New definition.
24651 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
24652 instead of `grub_printf' and `_'.
24653 * normal/menu_entry.c (store_completion): Likewise.
24654 (run): Likewise.
24655 (grub_menu_entry_run): Likewise.
24656 * normal/menu_text.c (grub_wait_after_message): Likewise.
24657 (notify_booting): Likewise.
24658 (notify_fallback): Likewise.
24659 (notify_execution_failure): Likewise.
24660
24661 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
24662
24663 * configure.ac: Check for vasprintf.
24664 * util/misc.c (asprintf): Move allocation from here ...
24665 (vasprintf): ... to here. New function.
24666 (xasprintf): New function.
24667 * include/grub/util/misc.h (vasprintf, xasprintf): Add
24668 prototypes.
24669 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
24670 * util/grub-mkfont.c (write_font): Likewise.
24671 * util/grub-probe.c (probe): Likewise.
24672 * util/hostdisk.c (make_device_name): Likewise.
24673
24674 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
24675
24676 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
24677 anything even prefixed with 'cdrom' as a cdrom.
24678
24679 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
24680
24681 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
24682 mount points.
24683
24684 2009-12-05 Carles Pina i Estany <carles@pina.cat>
24685
24686 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
24687 grub_gettext_msg_list.
24688 (grub_gettext_gettranslation_from_position): Return const char *
24689 and not char *.
24690 (grub_gettext_translate): Add the translated strings into a list,
24691 returns from the list if existing there.
24692 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
24693 (grub_gettext_delete_list): Delete the list.
24694 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
24695 lang environment variable is changed.
24696 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
24697
24698 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
24699
24700 Rename kernel.mod to kernel.img.
24701
24702 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
24703 (kernel_mod_EXPORTS): Rename to ...
24704 (kernel_img_EXPORTS): ... this.
24705 (kernel_mod_SOURCES): Rename to ...
24706 (kernel_img_SOURCES): ... this.
24707 (kernel_mod_HEADERS): Rename to ...
24708 (kernel_img_HEADERS): ... this. All users updated.
24709 (kernel_mod_CFLAGS): Rename to ...
24710 (kernel_img_CFLAGS): ... this.
24711 (kernel_mod_ASFLAGS): Rename to ...
24712 (kernel_img_ASFLAGS): ... this.
24713 (kernel_mod_LDFLAGS): Rename to ...
24714 (kernel_img_LDFLAGS): ... this.
24715 * conf/x86_64-efi.rmk: Likewise.
24716 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
24717 (read_kernel_image): ... this. All users updated.
24718 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
24719
24720 2009-12-05 Carles Pina i Estany <carles@pina.cat>
24721
24722 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
24723 (print_spaces): New function.
24724 (grub_print_ucs4): New function.
24725 (getstringwidth): New function.
24726 (print_message_indented): New function.
24727 (print_message): Gettexttize strings using print_message_indented.
24728 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
24729 width.
24730 (get_entry_number): Gettextize and uses dynamic terminal width.
24731 (notify_booting, notify_fallback, notify_execution_failure):
24732 Gettextize.
24733 * normal/menu_entry.c (store_completion): Cleanup the gettextized
24734 string.
24735 (run): Likewise.
24736 (grub_menu_entry_run): Likewise.
24737 * PO/POTFILES: Add normal/menu_entry.c.
24738
24739 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
24740
24741 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
24742
24743 2009-12-05 Carles Pina i Estany <carles@pina.cat>
24744
24745 * util/grub-install.in: Install gettext .mo files.
24746 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
24747
24748 2009-12-05 Carles Pina i Estany <carles@pina.cat>
24749
24750 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
24751 grub_dprintf.
24752
24753 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
24754
24755 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
24756 non-firmware-dependant one in realmode.S takes precedence.
24757
24758 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
24759
24760 * commands/halt.c: Replace misc arch-specific headers with
24761 `<grub/misc.h>'.
24762 * commands/reboot.c: Likewise.
24763 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
24764 `<grub/misc.h>'.
24765 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
24766 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
24767 (kernel_img_SOURCES): ... to here.
24768
24769 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
24770 * include/grub/i386/pc/init.h: Likewise.
24771 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
24772 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
24773
24774 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
24775
24776 * include/grub/i386/halt.h: Remove.
24777 * include/grub/i386/reboot.h: Likewise.
24778
24779 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
24780
24781 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
24782
24783 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
24784 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
24785 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
24786 "progname.h"
24787 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
24788 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24789 (usage): Add missing comma in printf.
24790
24791 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
24792
24793 Use the same reboot approach on i386 coreboot and qemu as we do on
24794 BIOS.
24795
24796 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
24797 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
24798 * kern/i386/reboot.c: Remove.
24799 * include/grub/i386/reboot.h (grub_reboot): Export function.
24800 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
24801 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
24802 0xf000:0xfff0 instead of 0xffff:0x0000.
24803 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
24804 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
24805
24806 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
24807
24808 Fix $srcdir != $objdir build.
24809
24810 * Makefile.in (po/%.po): Rewrite as ...
24811 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
24812
24813 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
24814
24815 Fix GNU/Hurd grub-install crash.
24816 * util/grub-probe.c (probe): Try to access `path' only when it is not
24817 NULL.
24818
24819 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
24820
24821 Correct module naming.
24822
24823 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
24824 (GRUB_MOD_INIT(efi_uga)): ... to this
24825 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
24826 (GRUB_MOD_FINI(efi_uga)): ... to this
24827 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
24828 (GRUB_MOD_INIT(efi_gop)): ... to this
24829 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
24830 (GRUB_MOD_FINI(efi_gop)): ... to this
24831
24832 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
24833
24834 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
24835 translatable.
24836 (usage): Translate `arg' strings using gettext().
24837 Thanks to Jordi Mallach for the suggestion.
24838
24839 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
24840
24841 GOP support. Based on patch from Bean
24842 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
24843
24844 * video/efi_gop.c: New file.
24845 * include/grub/efi/graphics_output.h: Likewise.
24846 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
24847 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
24848 variables.
24849 * conf/x86_64-efi.rmk: Likewise.
24850
24851 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
24852
24853 Rename efi_fb to efi_uga.
24854
24855 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
24856 'efi_uga.mod'.
24857 (efi_fb_mod_SOURCES): Rename this ...
24858 (efi_uga_mod_SOURCES): ... to this.
24859 (efi_fb_mod_CFLAGS): Rename this ...
24860 (efi_uga_mod_CFLAGS): ... to this.
24861 (efi_fb_mod_LDFLAGS): Rename this ...
24862 (efi_uga_mod_LDFLAGS): ... to this.
24863 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
24864 'efi_uga.mod'.
24865 (efi_fb_mod_SOURCES): Rename this ...
24866 (efi_uga_mod_SOURCES): ... to this.
24867 (efi_fb_mod_CFLAGS): Rename this ...
24868 (efi_uga_mod_CFLAGS): ... to this.
24869 (efi_fb_mod_LDFLAGS): Rename this ...
24870 (efi_uga_mod_LDFLAGS): ... to this.
24871 * video/efi_fb.c: Move this ...
24872 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
24873
24874 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
24875
24876 * po/README: New file. Explain our PO file workflow.
24877
24878 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
24879
24880 * po/ChangeLog: Remove. Move relevant entries back to ...
24881 * ChangeLog: ... here.
24882 * po/ca.po: Remove (now handled by TLP).
24883 * po/id.po: Likewise.
24884 * po/zh_CN.po: Likewise.
24885 * Makefile.in (LINGUAS): Initialize in a way that supports
24886 empty set.
24887
24888 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
24889
24890 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
24891 reliing on po/LINGUAS.
24892 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
24893 (po/%.po): ... this.
24894
24895 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
24896
24897 * util/i386/efi/grub-mkimage.c: Include "progname.h".
24898 (main): Use `program_name' instead of nonexistent `progname'.
24899
24900 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
24901
24902 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
24903 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
24904
24905 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
24906
24907 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
24908 commit.
24909 * conf/i386-efi.rmk: Likewise.
24910 * conf/i386-ieee1275.rmk: Likewise.
24911 * conf/powerpc-ieee1275.rmk: Likewise.
24912 * conf/sparc64-ieee1275.rmk: Likewise.
24913 * conf/x86_64-efi.rmk: Likewise.
24914
24915 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
24916
24917 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
24918
24919 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
24920
24921 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
24922
24923 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
24924
24925 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
24926 (grub_mkdevicemap_SOURCES): New variable.
24927 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
24928 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
24929 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
24930 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
24931 (grub_mkdevicemap_SOURCES): Remove.
24932 * conf/i386-efi.rmk: Likewise.
24933 * conf/i386-ieee1275.rmk: Likewise.
24934 * conf/i386-pc.rmk: Likewise.
24935 * conf/powerpc-ieee1275.rmk: Likewise.
24936 * conf/sparc64-ieee1275.rmk: Likewise.
24937 * conf/x86_64-efi.rmk: Likewise.
24938 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
24939 (usage): Fix strings to use `program_name'.
24940 (main): Initialize gettext.
24941 * util/grub-editenv.c: Likewise.
24942 * util/grub-emu.c: Likewise.
24943 * util/grub-fstest.c: Likewise.
24944 * util/grub-mkdevicemap.c: Likewise.
24945 * util/grub-mkfont.c: Likewise.
24946 * util/grub-mkrelpath.c: Likewise.
24947 * util/grub-pe2elf.c: Likewise.
24948 * util/grub-probe.c: Likewise.
24949 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
24950 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
24951 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24952
24953 * util/misc.c: Include `"progname.h"'.
24954 (progname): Remove variable.
24955 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
24956
24957 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
24958
24959 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
24960 printf and print a newline after the menuentry header line.
24961 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
24962
24963 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
24964
24965 autoconf >= 2.60 support $(localedir).
24966
24967 * INSTALL: Note that autoconf 2.60 is required.
24968 * configure.ac (AC_PREREQ): Bump to 2.60.
24969 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
24970 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
24971
24972 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
24973
24974 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
24975 aclocal is run.
24976
24977 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
24978
24979 * normal/main.c (grub_normal_read_line): Fix off-by-one
24980 buffer overflow.
24981
24982 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
24983
24984 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
24985 "parser.grub" in grub_command_execute() call.
24986
24987 2009-11-24 Carles Pina i Estany <carles@pina.cat>
24988
24989 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
24990 * conf/i386-efi.rmk: Likewise.
24991 * conf/i386-ieee1275.rmk: Likewise.
24992 * conf/i386-pc.rmk: Likewise.
24993 * conf/powerpc-ieee1275.rmk: Likewise.
24994 * conf/sparc64-ieee1275.rmk: Likewise.
24995 * conf/x86_64-efi.rmk: Likewise.
24996 * gettext/gettex.c: Include <grub/i18n.h>.
24997 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
24998 here ...
24999 * include/grub/i18n.h: ... to here
25000 * include/grub/i18n.h: ... to here.
25001 * kern/misc.c: Include <grub/i18n.h>
25002 (grub_gettext_dummy): Move above user.
25003
25004 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25005
25006 * util/Makefile.in (install-local): Convert a `for' into a normal
25007 shell expansion.
25008
25009 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
25010
25011 * autogen.sh: Add automake call.
25012 * config.guess: Remove.
25013 * config.sub: Likewise.
25014 * install-sh: Likewise.
25015
25016 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25017
25018 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
25019
25020 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25021
25022 * util/Makefile.in (install-local): Convert a make `$(foreach)'
25023 function to a normal shell `for'.
25024
25025 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25026
25027 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25028
25029 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25030
25031 * util/grub-mkrelpath.c: New file.
25032 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
25033 (grub_mkrelpath_SOURCES): New variable.
25034 * include/grub/util/misc.h: New function prototype.
25035 * util/misc.c (make_system_path_relative_to_its_root): New function.
25036
25037 * util/grub-mkconfig_lib.in (bindir): New variable.
25038 (grub_mkrelpath): Likewise.
25039 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
25040
25041 * util/probe.c (probe): Make the file path relative to its root.
25042 Change a info message to use the GRUB path. Enable again the
25043 check if we can read the file with GRUB facilities.
25044
25045 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
25046 to its root.
25047
25048 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25049
25050 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
25051 platform.
25052
25053 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25054
25055 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
25056 strncmp().
25057
25058 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25059
25060 * util/getroot.c (grub_util_is_dmraid): New function.
25061 (grub_util_get_dev_abstraction): Treat dmraid and multipath
25062 devices as normal ones, not as LVM.
25063
25064 2009-11-23 Carles Pina i Estany <carles@pina.cat>
25065
25066 * conf/common.rmk: Add grub-gettext_lib target and updates
25067 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
25068 LDFLAGS.
25069 * gettext/gettext.c: New file. (Reads mo files).
25070 * include/grub/file.h (grub_file_pread): New prototype.
25071 * include/grub/i18n.h (_): New prototype.
25072 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
25073 prototypes.
25074 * kern/misc.c (grub_gettext_dummy): New function.
25075 * normal/menu_text.c: Include <grub/i18n.h>.
25076 * normal/menu_text.c (print_timeout): Gettexttize string.
25077 * normal/menu_text.c (print_message): Gettexttize string.
25078 * po/POTFILES: Add `normal/menu_text.c'.
25079 * po/ca.po: Add new translations.
25080 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
25081 gettext module and defines locale_dir and lang in grub.cfg.
25082 * NEWS: Add gettext support.
25083
25084 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25085
25086 * util/hostdisk.c: Include `<grub/i18n.h>'.
25087 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
25088 (make_device_name): Rewrite using asprintf.
25089 (convert_system_partition_to_system_disk): Replace 0 with NULL.
25090 (find_system_device): If a device is not found, generate one just
25091 by reusing the OS path name.
25092 (read_device_map): Make it permissible for device.map not to exist.
25093
25094 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25095
25096 * script/sh/execute.c: Move from here ...
25097 * script/execute.c: ... to here. Update all users.
25098 * script/sh/function.c: Move from here ...
25099 * script/function.c: ... to here. Update all users.
25100 * script/sh/lexer.c: Move from here ...
25101 * script/lexer.c: ... to here. Update all users.
25102 * script/sh/main.c: Move from here ...
25103 * script/main.c: ... to here. Update all users.
25104 * script/sh/parser.y: Move from here ...
25105 * script/parser.y: ... to here. Update all users.
25106 * script/sh/script.c: Move from here ...
25107 * script/script.c: ... to here. Update all users.
25108
25109 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25110
25111 * configure.ac: Detect all `emu' platforms. Define
25112 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
25113 --enable-grub-emu logic. Disable include/grub/machine
25114 symlink on `emu' platforms.
25115
25116 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
25117 * gensymlist.sh.in: Likewise.
25118
25119 * include/grub/i386/coreboot/machine.h: Remove file.
25120 * include/grub/i386/efi/machine.h: Likewise.
25121 * include/grub/i386/ieee1275/machine.h: Likewise.
25122 * include/grub/i386/pc/machine.h: Likewise.
25123 * include/grub/i386/qemu/machine.h: Likewise.
25124 * include/grub/powerpc/ieee1275/machine.h: Likewise.
25125 * include/grub/sparc64/ieee1275/machine.h: Likewise.
25126 * include/grub/x86_64/efi/machine.h: Likewise.
25127
25128 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
25129 * commands/halt.c: Likewise.
25130 * commands/reboot.c: Likewise.
25131 * include/grub/autoefi.h: Likewise.
25132 * include/grub/i386/at_keyboard.h: Likewise.
25133 * include/grub/i386/kernel.h: Likewise.
25134 * include/grub/i386/loader.h: Likewise.
25135 * include/grub/i386/pc/memory.h: Likewise.
25136 * kern/dl.c: Likewise.
25137 * kern/i386/coreboot/init.c: Likewise.
25138 * loader/i386/bsd.c: Likewise.
25139 * loader/i386/linux.c: Likewise.
25140 * loader/multiboot_loader.c: Likewise.
25141 * term/i386/pc/serial.c: Likewise.
25142 * term/usb_keyboard.c: Likewise.
25143
25144 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
25145 `<grub/machine/machine.h>'
25146 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
25147 * util/misc.c: Remove `<grub/machine/machine.h>' and
25148 `<grub/machine/time.h>'.
25149
25150 * Makefile.in (enable_grub_emu): Remove variable.
25151 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
25152
25153 * conf/any-emu.rmk: New file.
25154 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
25155 (grub_emu_init.c): Move from here ...
25156 * conf/any-emu.rmk: ... to here.
25157
25158 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
25159 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
25160 * conf/any-emu.rmk: ... to here.
25161
25162 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25163
25164 * include/grub/parser.h (grub_parser_register): Document need
25165 of `name' parameter.
25166 * normal/main.c (grub_normal_read_line): Simplify prompt string.
25167 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
25168 "sh" to "grub".
25169
25170 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25171
25172 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
25173 `$(XGETTEXT)'.
25174 * include/grub/i18n.h (N_): New macro.
25175 * util/mkisofs/mkisofs.h: Likewise.
25176 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
25177 around N_().
25178 (usage): Use gettext() to translate help strings when printing them.
25179
25180 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25181
25182 Based on patch from Bean
25183 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
25184
25185 * video/efi_fb.c: New file.
25186 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
25187 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
25188 variables.
25189 * conf/x86_64-efi.rmk: Likewise.
25190
25191 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
25192
25193 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
25194 * util/i386/pc/grub-setup.c: Likewise.
25195
25196 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
25197
25198 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
25199 <hurd/fs.h>
25200 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
25201 file_get_storage_info to implement grub_guess_root_device.
25202
25203 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
25204
25205 * Makefile.in (target): Use make's builtin $(shell) function
25206 instead of calling directly $(SHELL) to create the locale directories,
25207 inside the $(foreach) function.
25208
25209 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
25210
25211 * util/grub-mkrescue.in: Print an error and usage if output option
25212 has not been given.
25213
25214 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
25215
25216 Patch from Loïc Minier <loic.minier@ubuntu.com>.
25217 * util/grub.d/30_os-prober.in: Cope with Linux entries where
25218 root and /boot are on different devices.
25219
25220 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25221
25222 Fix build for srcdir != objdir.
25223
25224 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
25225 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
25226 $(srcdir).
25227 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
25228 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
25229 reference for input.
25230
25231 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25232
25233 * util/grub-mkrescue.in: Use source directory direcly (without copiing
25234 or hardlinking it). Remove -J option, Joliet is not compatible with
25235 multiple source directories.
25236
25237 2009-11-21 Carles Pina i Estany <carles@pina.cat>
25238 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25239
25240 * util/grub-mkrescue.in: Recognize `--override-directory' option.
25241 (process_input_dir): New function. Process an arbitrary input
25242 directory.
25243 Misc adjustments to support both "override mode" and system-wide mode.
25244
25245 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
25246
25247 * configure.ac (UNIFONT_BDF): Rename to ...
25248 (FONT_SOURCE): ... this. Update all users.
25249
25250 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
25251
25252 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
25253 to the list of unifont files to look for.
25254
25255 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25256
25257 Patch from Joe Auricchio <jauricchio@gmail.com>
25258 * commands/minicmd.c (grub_mini_cmd_clear): New function.
25259 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
25260 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
25261
25262 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
25263
25264 * Makefile.in (install-local): Add a missing backslash.
25265
25266 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
25267
25268 * include/grub/x86_64/io.h: New file.
25269
25270 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25271
25272 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
25273 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
25274 Include `"progname.h"'.
25275 (main): Initialize gettext.
25276 * util/i386/pc/grub-setup.c: Gettexttize.
25277 * util/i386/pc/grub-mkimage.c: Likewise.
25278
25279 * Makefile.in (po/*.po): Redefine as ...
25280 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
25281
25282 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
25283
25284 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25285
25286 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
25287 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
25288 (program_name): Remove.
25289 (main): Initialize gettext support.
25290 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
25291 Include `<libintl.h>'.
25292 (_): New macro.
25293
25294 * util/mkisofs/eltorito.c: Gettexttize.
25295 * util/mkisofs/joliet.c: Likewise.
25296 * util/mkisofs/mkisofs.c: Likewise.
25297 * util/mkisofs/multi.c: Likewise.
25298 * util/mkisofs/rock.c: Likewise.
25299 * util/mkisofs/tree.c: Likewise.
25300 * util/mkisofs/write.c: Likewise.
25301
25302 * po/POTFILES: Update with new files.
25303
25304 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25305
25306 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
25307 * util/mkisofs/iso9660.h: Likewise.
25308 * util/mkisofs/joliet.c: Likewise.
25309 * util/mkisofs/mkisofs.c: Likewise.
25310 * util/mkisofs/mkisofs.h: Likewise.
25311 * util/mkisofs/rock.c: Likewise.
25312 * util/mkisofs/tree.c: Likewise.
25313 * util/mkisofs/write.c: Likewise.
25314
25315 * util/mkisofs/eltorito.c (rcsid): Remove.
25316 * util/mkisofs/hash.c: Likewise.
25317 * util/mkisofs/joliet.c: Likewise.
25318 * util/mkisofs/name.c: Likewise.
25319 * util/mkisofs/rock.c: Likewise.
25320 * util/mkisofs/tree.c: Likewise.
25321 * util/mkisofs/write.c: Likewise.
25322
25323 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25324
25325 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
25326 instead of static allocation.
25327 * util/mkisofs/match.h: Likewise.
25328
25329 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25330
25331 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
25332 and `util/grub.d/10_linux.in'.
25333 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
25334 translatable Shell files.
25335
25336 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25337
25338 * Makefile.in ($(srcdir)/aclocal.m4): New target.
25339
25340 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25341
25342 * INSTALL: Document Automake is needed for bootstrap.
25343 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
25344 * util/grub.d/10_kfreebsd.in (bindir): New variable.
25345 Add gettext initialization.
25346 (kfreebsd_entry): Make menuentry output translatable.
25347
25348 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25349
25350 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
25351 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
25352 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
25353 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
25354 (LINGUAS): Auto-generate using `po/LINGUAS'.
25355 * po/LINGUAS: New file.
25356
25357 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25358
25359 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
25360 other things).
25361 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
25362 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
25363 bindtextdomain() calls for gettext initialization.
25364
25365 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25366
25367 * gnulib/progname.c: New file (imported from Gnulib).
25368 * gnulib/progname.h: Likewise.
25369 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25370 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
25371 (usage): Replace `progname' with `program_name'.
25372 (main): Use set_program_name() for program name initialization.
25373
25374 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25375
25376 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
25377 from here ...
25378 * Makefile.in (CPPFLAGS): ... to here.
25379
25380 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25381
25382 * aclocal.m4: Move from here ...
25383 * acinclude.m4: ... to here.
25384 * autogen.sh: Add call to `aclocal'.
25385 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
25386
25387 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25388
25389 * Makefile.in (CLEANFILES): Add `po/*.mo'.
25390 (LINGUAS): New variable.
25391 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
25392 (install-local): Install MO files.
25393 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
25394 * include/grub/i18n.h: New file.
25395 * po/POTFILES: New file.
25396 * po/ca.po: New file.
25397 * util/grub.d/10_linux.in (bindir): New variable.
25398 Add gettext initialization.
25399 (linux_entry): Make menuentry output translatable.
25400 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
25401 (usage): Make --help output translatable.
25402 (main): Initialize gettext.
25403
25404 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25405
25406 * import_gcry.py: New file (written by Vladimir with minor
25407 adjustments).
25408 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
25409 ciphers.
25410 * INSTALL: Document that Python is required for bootstrap.
25411
25412 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25413
25414 Import ciphers from libgcrypt 1.4.4.
25415
25416 * lib/libgcrypt/cipher/ChangeLog
25417 * lib/libgcrypt/cipher/ac.c
25418 * lib/libgcrypt/cipher/arcfour.c
25419 * lib/libgcrypt/cipher/bithelp.h
25420 * lib/libgcrypt/cipher/blowfish.c
25421 * lib/libgcrypt/cipher/camellia-glue.c
25422 * lib/libgcrypt/cipher/camellia.c
25423 * lib/libgcrypt/cipher/camellia.h
25424 * lib/libgcrypt/cipher/cast5.c
25425 * lib/libgcrypt/cipher/cipher.c
25426 * lib/libgcrypt/cipher/crc.c
25427 * lib/libgcrypt/cipher/des.c
25428 * lib/libgcrypt/cipher/dsa.c
25429 * lib/libgcrypt/cipher/ecc.c
25430 * lib/libgcrypt/cipher/elgamal.c
25431 * lib/libgcrypt/cipher/hash-common.c
25432 * lib/libgcrypt/cipher/hash-common.h
25433 * lib/libgcrypt/cipher/hmac-tests.c
25434 * lib/libgcrypt/cipher/md.c
25435 * lib/libgcrypt/cipher/md4.c
25436 * lib/libgcrypt/cipher/md5.c
25437 * lib/libgcrypt/cipher/primegen.c
25438 * lib/libgcrypt/cipher/pubkey.c
25439 * lib/libgcrypt/cipher/rfc2268.c
25440 * lib/libgcrypt/cipher/rijndael-tables.h
25441 * lib/libgcrypt/cipher/rijndael.c
25442 * lib/libgcrypt/cipher/rmd.h
25443 * lib/libgcrypt/cipher/rmd160.c
25444 * lib/libgcrypt/cipher/rsa.c
25445 * lib/libgcrypt/cipher/seed.c
25446 * lib/libgcrypt/cipher/serpent.c
25447 * lib/libgcrypt/cipher/sha1.c
25448 * lib/libgcrypt/cipher/sha256.c
25449 * lib/libgcrypt/cipher/sha512.c
25450 * lib/libgcrypt/cipher/tiger.c
25451 * lib/libgcrypt/cipher/twofish.c
25452 * lib/libgcrypt/cipher/whirlpool.c
25453
25454 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25455
25456 Fix build for systems without error().
25457
25458 * gnulib/error.c: New file (imported from Gnulib).
25459 * gnulib/error.h: Likewise.
25460 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
25461 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
25462 (this variable is now used by error()).
25463
25464 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
25465
25466 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
25467 instead of relying that char is signed.
25468
25469 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
25470
25471 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
25472 blocksize different from specified.
25473 (grub_pxefs_read): Likewise.
25474
25475 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
25476
25477 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
25478
25479 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
25480 (grub_ata_readwrite): Likewise. Update 2 format strings.
25481 (grub_atapi_read): Likewise.
25482
25483 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
25484 * conf/i386.rmk (pkglib_MODULES): ... to here ...
25485 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
25486 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
25487 (ata_mod_LDFLAGS): Move from here ...
25488 * conf/i386.rmk: ... to here ...
25489 * conf/x86_64-efi.rmk: ... and here.
25490 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
25491 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
25492
25493 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25494
25495 Relicense multiboot.h, with RMS' blessing.
25496
25497 * include/multiboot.h: Change to X11 license.
25498
25499 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
25500
25501 Support --version in grub-mkisofs.
25502
25503 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
25504 (OPTION_VERSION): New macro.
25505 (ld_options): Recognize --version.
25506 (usage): Move `program_name' from here ...
25507 (program_name): ... to here. Add `static' qualifier.
25508 (main): Recognize `OPTION_VERSION'.
25509
25510 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
25511
25512 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
25513 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
25514
25515 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
25516
25517 Fix help2man generation for mkisofs.
25518
25519 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
25520 (usage): Send output to stdout (rather than stderr).
25521
25522 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
25523
25524 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
25525 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
25526 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
25527 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
25528 (bin_SCRIPTS): Add `grub-mkfloppy'.
25529 (grub_mkfloppy_SOURCES): New variable.
25530
25531 * util/grub-mkrescue.in: New file.
25532 * util/i386/pc/grub-mkfloppy.in: New file.
25533
25534 * util/i386/coreboot/grub-mkrescue.in: Remove.
25535 * util/i386/pc/grub-mkrescue.in: Remove.
25536
25537 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
25538
25539 * include/grub/multiboot.h (struct grub_multiboot_header): Move
25540 from here ...
25541 * include/multiboot.h (struct multiboot_header): ... to here. Update
25542 all users.
25543 * include/grub/multiboot.h (struct grub_multiboot_info): Move
25544 from here ...
25545 * include/multiboot.h (struct multiboot_info): ... to here. Update
25546 all users.
25547 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
25548 from here ...
25549 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
25550 Update all users.
25551 * include/grub/multiboot.h (struct grub_mod_list): Move
25552 from here ...
25553 * include/multiboot.h (struct multiboot_mod_list): ... to here.
25554 Update all users.
25555
25556 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
25557
25558 * include/multiboot2.h (multiboot_word): Rename from this ...
25559 (multiboot2_word): ... to this. Update all users.
25560 (multiboot_header): Rename from this ...
25561 (multiboot2_header): ... to this. Update all users.
25562 (multiboot_tag_header): Rename from this ...
25563 (multiboot2_tag_header): ... to this. Update all users.
25564 (multiboot_tag_start): Rename from this ...
25565 (multiboot2_tag_start): ... to this. Update all users.
25566 (multiboot_tag_name): Rename from this ...
25567 (multiboot2_tag_name): ... to this. Update all users.
25568 (multiboot_tag_module): Rename from this ...
25569 (multiboot2_tag_module): ... to this. Update all users.
25570 (multiboot_tag_memory): Rename from this ...
25571 (multiboot2_tag_memory): ... to this. Update all users.
25572 (multiboot_tag_unused): Rename from this ...
25573 (multiboot2_tag_unused): ... to this. Update all users.
25574 (multiboot_tag_end): Rename from this ...
25575 (multiboot2_tag_end): ... to this. Update all users.
25576
25577 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
25578
25579 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
25580 this platform we should support Multiboot1 first.
25581
25582 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
25583 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
25584 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
25585
25586 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
25587
25588 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
25589 of write calls (converting them to fwrite() if they aren't already).
25590 (get_torito_desc): Likewise.
25591 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
25592
25593 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
25594
25595 * util/i386/pc/grub-install.in: Move from here ...
25596 * util/grub-install.in: ... to here. Update all users.
25597
25598 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
25599
25600 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
25601
25602 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
25603
25604 Support for El Torito without floppy emulation.
25605
25606 * util/mkisofs/eltorito.c: Include `<errno.h>'.
25607 (init_boot_catalog): Improve error handling.
25608 (get_torito_desc): Don't use floppy emulation unless requested by
25609 user. Patch boot information table when requested via
25610 `-boot-info-table'.
25611 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
25612 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
25613 (use_boot_info_table): New variables.
25614 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
25615 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
25616 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
25617 `--eltorito-emul-floppy'.
25618 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
25619 and `OPTION_ELTORITO_EMUL_FLOPPY'.
25620 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
25621 (use_boot_info_table, get_731): New prototypes.
25622 * util/mkisofs/write.c (get_731): New function.
25623
25624 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
25625
25626 Fix the generation of the man page.
25627
25628 * util/pc/i386/grub-install.in: Source
25629 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
25630
25631 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
25632
25633 Large file support for grub-mkisofs.
25634
25635 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
25636 * util/mkisofs/mkisofs.c (next_extent, last_extent)
25637 (session_start): Upgrade type to `uint64_t'. Update all users.
25638 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
25639 (struct directory_entry): Upgrade type of `starting_block' and
25640 `size' to `uint64_t'. Update all users.
25641 (struct deferred): Remove unused structure.
25642 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
25643 Update all users.
25644 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
25645 file is larger than `UINT32_MAX'.
25646 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
25647 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
25648 return value.
25649 (struct deferred_write): Upgrade type of `extent' and `size' to
25650 `uint64_t'. Update all users.
25651 (last_extent_written): Upgrade type to `uint64_t'. Update all
25652 users.
25653 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
25654 Update all users. Upgrade type of `remain' to `int64_t' and
25655 `use' to `size_t'. Use error() to handle fread() errors.
25656 (write_files): Rely on write_one_file() rather than calling
25657 xfwrite() directly.
25658
25659 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
25660
25661 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
25662
25663 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25664
25665 * util/mkisofs/fnmatch.c: Remove.
25666 * util/mkisofs/getopt1.c: Likewise.
25667 * util/mkisofs/getopt.c: Likewise.
25668 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
25669 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
25670 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
25671 `gnulib/getopt1.c' and `gnulib/getopt.c'.
25672 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
25673
25674 * configure.ac: Detect `mingw32msvc' host_os.
25675 Check for lstat(), getuid() and getgid().
25676
25677 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
25678 instances of `u_char' with `uint8_t'.
25679
25680 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
25681 [!HAVE_GETUID] (getuid): New function (stub).
25682 [!HAVE_GETGID] (getgid): Likewise.
25683 [!HAVE_LSTAT] (lstat): Likewise.
25684 [!S_IROTH] (S_IROTH): New macro (dummy).
25685 [!S_IRGRP] (S_IRGRP): Likewise.
25686
25687 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25688
25689 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
25690 conditional expression).
25691
25692 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25693
25694 Import from Gnulib.
25695
25696 * gnulib/fnmatch.c: New file.
25697 * gnulib/fnmatch.h: Likewise.
25698 * gnulib/fnmatch_loop.c: Likewise.
25699 * gnulib/getopt.c: Likewise.
25700 * gnulib/getopt.h: Likewise.
25701 * gnulib/getopt1.c: Likewise.
25702 * gnulib/getopt_int.h: Likewise.
25703 * gnulib/gettext.h: Likewise.
25704
25705 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25706
25707 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
25708 * normal/handler.c (read_handler_list): Likewise.
25709
25710 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25711
25712 Misc cleanup.
25713
25714 * kern/command.c (grub_register_command_prio): Use
25715 grub_zalloc() instead of explicitly zeroing data.
25716 * kern/list.c: Include `<grub/mm.h>'.
25717 (grub_named_list_find): Replace `0' with `NULL'.
25718 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
25719 (fs_module_list): Change type to `grub_named_list_t'. Update all
25720 users.
25721 * normal/dyncmd.c (read_command_list): Add space between function
25722 call and parenthesis.
25723 * normal/handler.c (read_handler_list): Likewise.
25724
25725 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25726
25727 * normal/auth.c (punishment_delay): Moved from here ...
25728 (grub_auth_strcmp): ... to here (inside function).
25729
25730 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25731
25732 * include/grub/list.h (struct grub_named_list): Remove `const'
25733 qualifier from `name'.
25734 (struct grub_prio_list): Likewise.
25735
25736 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25737
25738 * normal/auth.c: Include `<grub/time.h>'.
25739 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
25740
25741 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25742
25743 * normal/auth.c (punishment_delay): New variable.
25744 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
25745 (grub_auth_check_authentication): Punish failed login attempts with
25746 an incremental (2^N) delay.
25747
25748 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25749
25750 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
25751 path with $(srcdir).
25752
25753 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
25754
25755 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
25756
25757 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25758
25759 * util/i386/coreboot/grub-mkrescue.in: New file.
25760 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
25761 variables.
25762
25763 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
25764 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
25765 * configure.ac: Add header and function checks to satisfy grub-mkisofs
25766 requirements.
25767 * util/mkisofs/defaults.h: New file.
25768 * util/mkisofs/eltorito.c: Likewise.
25769 * util/mkisofs/exclude.h: Likewise.
25770 * util/mkisofs/fnmatch.c: Likewise.
25771 * util/mkisofs/getopt.c: Likewise.
25772 * util/mkisofs/getopt1.c: Likewise.
25773 * util/mkisofs/hash.c: Likewise.
25774 * util/mkisofs/include/fctldefs.h: Likewise.
25775 * util/mkisofs/include/mconfig.h: Likewise.
25776 * util/mkisofs/include/prototyp.h: Likewise.
25777 * util/mkisofs/include/statdefs.h: Likewise.
25778 * util/mkisofs/iso9660.h: Likewise.
25779 * util/mkisofs/joliet.c: Likewise.
25780 * util/mkisofs/match.c: Likewise.
25781 * util/mkisofs/match.h: Likewise.
25782 * util/mkisofs/mkisofs.c: Likewise.
25783 * util/mkisofs/mkisofs.h: Likewise.
25784 * util/mkisofs/multi.c: Likewise.
25785 * util/mkisofs/name.c: Likewise.
25786 * util/mkisofs/rock.c: Likewise.
25787 * util/mkisofs/tree.c: Likewise.
25788 * util/mkisofs/write.c: Likewise.
25789
25790 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
25791
25792 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
25793 being insecure.
25794
25795 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
25796
25797 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
25798 `grub-mkimage' (and use $0 when possible).
25799
25800 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
25801
25802 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
25803 error message for excessively large memory map.
25804
25805 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
25806
25807 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
25808 executable bit.
25809
25810 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
25811
25812 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
25813 message for coreboot users.
25814
25815 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
25816
25817 Fix build with GNU gold.
25818
25819 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
25820 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
25821 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
25822 link addresses.
25823 * aclocal.m4: Likewise.
25824
25825 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
25826
25827 * configure.ac (AC_PREREQ): Bump to 2.59d.
25828 * INSTALL: Make it more clear when Autoconf and Ruby are
25829 needed and when to run `./autogen.sh'.
25830
25831 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
25832
25833 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
25834 OSes.
25835
25836 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
25837
25838 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
25839
25840 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
25841
25842 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
25843 giving it to GNU Mach.
25844
25845 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
25846
25847 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
25848 GNU partition number to get internal GRUB partition number.
25849
25850 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
25851
25852 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
25853 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
25854
25855 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
25856
25857 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
25858 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
25859 case.
25860
25861 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
25862
25863 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
25864
25865 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
25866
25867 Fix build problem.
25868
25869 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
25870 `-isystem=$(srcdir)/include'.
25871
25872 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
25873
25874 * util/i386/pc/grub-install.in: Remove hint that device.map should be
25875 checked (grub-install doesn't currently rely on it).
25876
25877 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
25878
25879 Revert SVN r2660.
25880
25881 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
25882 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
25883 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
25884 * conf/i386-ieee1275.rmk: Likewise.
25885 * conf/i386-pc.rmk: Likewise.
25886 * conf/powerpc-ieee1275.rmk: Likewise.
25887 * conf/sparc64-ieee1275.rmk: Likewise.
25888 * conf/x86_64-efi.rmk: Likewise.
25889
25890 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
25891
25892 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
25893
25894 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
25895
25896 * include/grub/misc.h: Stop checking for APPLE_CC.
25897
25898 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
25899
25900 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
25901 doesn't cause an infinite call loop.
25902
25903 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
25904
25905 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
25906 strings.
25907
25908 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25909
25910 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
25911 variable.
25912 * Makefile.in: Likewise.
25913
25914 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25915
25916 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
25917
25918 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25919
25920 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
25921
25922 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25923
25924 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
25925
25926 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25927
25928 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
25929 from here ...
25930 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
25931
25932 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25933
25934 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
25935 in $(MAKEINFO) invocation. This makes it clear in output that
25936 errors are being ignored.
25937
25938 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25939
25940 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
25941 from here ...
25942 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
25943 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
25944 * conf/i386-ieee1275.rmk: Likewise.
25945 * conf/i386-pc.rmk: Likewise.
25946 * conf/powerpc-ieee1275.rmk: Likewise.
25947 * conf/sparc64-ieee1275.rmk: Likewise.
25948 * conf/x86_64-efi.rmk: Likewise.
25949
25950 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
25951
25952 * util/grub-editenv.c (main): If only a command is given, use
25953 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
25954 (usage): FILENAME is now optional and has a default.
25955
25956 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
25957
25958 Improve grub-mkconfig performance when there are several menu
25959 entries on a single filesystem.
25960
25961 * util/grub.d/10_linux.in (linux_entry): Cache the output of
25962 prepare_grub_to_access_device.
25963 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
25964 * util/grub.d/30_os-prober.in: Likewise.
25965
25966 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25967
25968 * util/grub.d/10_freebsd.in: Remove.
25969 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
25970 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
25971
25972 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25973
25974 * docs/grub.cfg: Fix example usage of *BSD loaders.
25975
25976 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25977
25978 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
25979 grub_util_error() call.
25980
25981 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25982
25983 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
25984 `reserved_first_sector' member.
25985 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
25986 `reserved_first_sector' to 1.
25987 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
25988 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
25989 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
25990 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
25991 filesystems which begin at first sector.
25992 (options): New option --skip-fs-probe.
25993 (main): Handle --skip-fs-probe and pass it to setup().
25994
25995 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25996
25997 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
25998 (memset): Fix function prototype.
25999
26000 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26001 2009-10-25 Vasily Averin <vvs@parallels.com>
26002
26003 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
26004 `dirent.direntlen == 0'.
26005
26006 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26007
26008 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
26009 `cpio'.
26010 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
26011
26012 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26013
26014 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
26015 `__trampoline_setup' and `__ucmpdi2'.
26016 * include/grub/powerpc/libgcc.h: Only export symbols for functions
26017 that libgcc provides.
26018
26019 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26020
26021 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
26022 * include/grub/sparc64/libgcc.h (memset): Likewise.
26023 * include/grub/misc.h (memset, memcmp): New function prototypes.
26024
26025 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26026
26027 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
26028 `cpio'.
26029 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
26030
26031 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26032
26033 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
26034 * docs/grub.cfg: Compensate for recent change in multiboot
26035 loader (since 2009-08-14 it won't pass filename to payload).
26036 * util/grub.d/10_hurd.in: Likewise.
26037
26038 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
26039
26040 * config.guess: Update to latest version from config git
26041 repository.
26042 * config.sub: Likewise.
26043
26044 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
26045
26046 Fix build on sparc64.
26047
26048 * configure.ac: Perform checks for libgcc symbols before
26049 adding `-nostdlib' to LDFLAGS.
26050
26051 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
26052
26053 Let user specify OpenBSD root device.
26054
26055 * loader/i386/bsd.c (openbsd_root): New variable.
26056 (openbsd_opts): New option 'root'.
26057 (OPENBSD_ROOT_ARG): New macro.
26058 (grub_openbsd_boot): Use 'openbsd_root'.
26059 (grub_cmd_openbsd): Fill 'openbsd_root'.
26060
26061 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
26062
26063 * NEWS: Misc adjustments.
26064
26065 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
26066
26067 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
26068
26069 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
26070
26071 * configure.ac: Bump version to 1.97.
26072
26073 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
26074
26075 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
26076 -mno-3dnow on x86 architectures. Some toolchains enable these
26077 features by default, but they rely on registers that aren't enabled
26078 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
26079
26080 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
26081
26082 Make entry text a bit more readable.
26083
26084 * util/grub.d/10_linux.in: Add `with' before `Linux'.
26085
26086 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26087
26088 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
26089
26090 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26091
26092 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
26093 operations.
26094
26095 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26096
26097 * configure.ac: Add missing dollar.
26098
26099 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26100
26101 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
26102
26103 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
26104 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
26105 exports.
26106 * include/grub/sparc64/libgcc.h: Likewise. Use
26107 preprocessor conditionals.
26108
26109 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
26110
26111 * conf/common.rmk (grub-dumpbios): Remove rule.
26112 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
26113 * util/grub-dumpbios.in: Remove file.
26114
26115 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
26116
26117 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
26118 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
26119
26120 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
26121 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
26122 users.
26123
26124 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
26125 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
26126 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
26127 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
26128 users.
26129
26130 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
26131
26132 * term/tparm.c: Switch to GPLv3.
26133
26134 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
26135
26136 * include/grub/i386/cpuid.h: Add header protection.
26137
26138 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
26139
26140 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
26141
26142 * include/grub/i386/cpuid.h: New file.
26143 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
26144 (has_longmode): Rename to ...
26145 (grub_cpuid_has_longmode): ... this. Update all users. Remove
26146 `static' attribute.
26147 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
26148 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
26149 on a CPU that doesn't implement AMD64 instruction set.
26150
26151 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
26152
26153 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
26154 that version.texi is rebuilt on version number changes.
26155
26156 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
26157
26158 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
26159 Fixes bug #27602.
26160
26161 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
26162
26163 * util/i386/pc/grub-install.in: Source
26164 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
26165 that the --grub-probe option will work.
26166 * util/sparc64/ieee1275/grub-install.in: Likewise.
26167
26168 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
26169
26170 * configure.ac: Bump version to 1.97~beta4.
26171
26172 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
26173
26174 Resync grub-mkdevicemap in x86_64-efi.
26175
26176 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
26177 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
26178 `util/devicemap.c'.
26179
26180 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
26181
26182 * util/grub-editenv.c (create_envblk_file): Write new block with a
26183 .new suffix and then rename it into place, to ensure atomic
26184 creation.
26185
26186 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
26187
26188 Do not automatically install headers.
26189
26190 * Makefile.in (include_DATA): Remove. Update all users.
26191
26192 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
26193
26194 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
26195 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
26196
26197 * util/osdetect.lua: Remove.
26198 * script/lua/lauxlib.c: Likewise.
26199 * script/lua/ldebug.c: Likewise.
26200 * script/lua/grub_main.c: Likewise.
26201 * script/lua/lauxlib.h: Likewise.
26202 * script/lua/ldebug.h: Likewise.
26203 * script/lua/ltablib.c: Likewise.
26204 * script/lua/liolib.c: Likewise.
26205 * script/lua/lstrlib.c: Likewise.
26206 * script/lua/lualib.h: Likewise.
26207 * script/lua/ldo.c: Likewise.
26208 * script/lua/ldump.c: Likewise.
26209 * script/lua/ldo.h: Likewise.
26210 * script/lua/loslib.c: Likewise.
26211 * script/lua/lundump.c: Likewise.
26212 * script/lua/grub_lib.c: Likewise.
26213 * script/lua/ldblib.c: Likewise.
26214 * script/lua/lundump.h: Likewise.
26215 * script/lua/lmem.c: Likewise.
26216 * script/lua/grub_lib.h: Likewise.
26217 * script/lua/lmathlib.c: Likewise.
26218 * script/lua/lstate.c: Likewise.
26219 * script/lua/ltm.c: Likewise.
26220 * script/lua/lvm.c: Likewise.
26221 * script/lua/lmem.h: Likewise.
26222 * script/lua/lstate.h: Likewise.
26223 * script/lua/ltm.h: Likewise.
26224 * script/lua/ltable.c: Likewise.
26225 * script/lua/lvm.h: Likewise.
26226 * script/lua/llex.c: Likewise.
26227 * script/lua/lgc.c: Likewise.
26228 * script/lua/grub_lua.h: Likewise.
26229 * script/lua/loadlib.c: Likewise.
26230 * script/lua/lfunc.c: Likewise.
26231 * script/lua/lopcodes.c: Likewise.
26232 * script/lua/lparser.c: Likewise.
26233 * script/lua/ltable.h: Likewise.
26234 * script/lua/llex.h: Likewise.
26235 * script/lua/lgc.h: Likewise.
26236 * script/lua/lfunc.h: Likewise.
26237 * script/lua/lbaselib.c: Likewise.
26238 * script/lua/lopcodes.h: Likewise.
26239 * script/lua/lparser.h: Likewise.
26240 * script/lua/lzio.c: Likewise.
26241 * script/lua/linit.c: Likewise.
26242 * script/lua/lobject.c: Likewise.
26243 * script/lua/llimits.h: Likewise.
26244 * script/lua/lstring.c: Likewise.
26245 * script/lua/lzio.h: Likewise.
26246 * script/lua/lapi.c: Likewise.
26247 * script/lua/lcode.c: Likewise.
26248 * script/lua/lua.h: Likewise.
26249 * script/lua/lobject.h: Likewise.
26250 * script/lua/lstring.h: Likewise.
26251 * script/lua/lapi.h: Likewise.
26252 * script/lua/lcode.h: Likewise.
26253 * script/lua/luaconf.h: Likewise.
26254
26255 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
26256
26257 * docs/grub.texi (Command-line and menu entry commands): Document
26258 date and echo commands.
26259
26260 2009-09-24 Pavel Roskin <proski@gnu.org>
26261
26262 * include/grub/kernel.h (struct grub_module_header): Remove
26263 `grub_module_header_types'. Make `type' unsigned. Make `size'
26264 32-bit on all platforms.
26265 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
26266 8-bit field. Use grub_host_to_target32() for `size'.
26267 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
26268 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
26269 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
26270
26271 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26272
26273 Fix "lost keypress" bug in at_keyboard.
26274
26275 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
26276 Checks for readyness of input buffer (without flushing it).
26277 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
26278 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
26279
26280 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26281
26282 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
26283 size check within GRUB_MACHINE_PCBIOS section.
26284
26285 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26286
26287 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
26288 return value.
26289 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
26290 KEYBOARD_ISREADY check.
26291 (grub_at_keyboard_checkkey): Rename to ...
26292 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
26293 Remove gratuitous cast.
26294
26295 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
26296
26297 * configure.ac: Call AC_PROG_MKDIR_P.
26298 * Makefile.in (docs/stamp-vti): Create docs directory. Create
26299 version.texi in $(builddir) rather than $(srcdir).
26300 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
26301 to makeinfo's @include search path.
26302
26303 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
26304
26305 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
26306
26307 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
26308
26309 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
26310 for `*.dpkg-new'.
26311
26312 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
26313
26314 Build info documentation. Some code borrowed from Automake.
26315
26316 * configure.ac: Check for makeinfo.
26317 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
26318 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
26319 docs/version.texi.
26320 (MOSTLYCLEANFILES): Add vti.tmp.
26321 (docs/version.texi, docs/stamp-vti): Update automatically.
26322 (docs/grub.info): Build info documentation. Use --force and ignore
26323 errors for now.
26324 (all-local): Add $(INFOS).
26325 (install-local): Install info files.
26326 (uninstall): Uninstall info files.
26327 * docs/version.texi: Remove from revision control. This file is
26328 automatically generated on build now.
26329 * gendistlist.sh: Add `*.info'.
26330
26331 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
26332
26333 * kern/term.c: Fix indentation.
26334
26335 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
26336
26337 * util/hostdisk.c: Fix a comment.
26338
26339 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
26340
26341 Fix regression introduced in r2539.
26342
26343 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
26344 to 0xA1.
26345
26346 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
26347
26348 * util/grub.d/30_os-prober.in: Don't throw away stderr from
26349 os-prober. Under normal operation, it does not print anything to
26350 stderr; if it does, we need to debug it, and throwing away stderr
26351 makes that excessively difficult.
26352
26353 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
26354
26355 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
26356
26357 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
26358
26359 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
26360 AC_LANG_PROGRAM from autoconf.
26361 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
26362 prototypes (fixes warning).
26363
26364 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
26365 `--disable-werror' was used.
26366
26367 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
26368
26369 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
26370 uninitialized `lastaddr'.
26371
26372 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
26373
26374 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
26375
26376 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
26377
26378 * commands/test.c (get_fileinfo): Return immediately if
26379 grub_fs_probe fails.
26380
26381 2009-09-14 José Martínez <xosemp@gmail.com>
26382
26383 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
26384
26385 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
26386
26387 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
26388 output.
26389
26390 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
26391
26392 * configure.ac: Remove --enable-grub-pe2elf. Only build
26393 grub-pe2elf when needed by the build system itself.
26394 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
26395
26396 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
26397
26398 * configure.ac: Bump version to 1.97~beta3.
26399 * docs/version.texi: Likewise.
26400
26401 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
26402
26403 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
26404 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
26405 from here ...
26406 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
26407 (grub_linux_setup_video): ... to here (with some adjustments).
26408
26409 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
26410
26411 Fix memory corruption issue (spotted by Colin Watson).
26412
26413 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
26414 causing returned size to be stored in an incorrect memory location.
26415 Fix use of uninitialized value when storing the returned size.
26416
26417 2009-09-12 Yves Blusseau <blusseau@zetam.org>
26418
26419 Change clean rules to properly remove files
26420
26421 * genmk.rb: add new clean rules
26422 * Makefile.in (clean): add the new targets
26423 (mostlyclean): likewise
26424
26425 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
26426
26427 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
26428 to grub_uint64_t.
26429 * fs/ntfs.c (init_file): Understand 64-bit sizes for
26430 non-resident files.
26431
26432 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
26433
26434 * configure.ac: Don't look for help2man when cross-compiling. Fixes
26435 part of bug #27349.
26436
26437 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
26438
26439 * util/grub-mkconfig.in: Make the created config mode 400 and
26440 print a warning if it fails.
26441
26442 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
26443
26444 * util/grub.d/40_custom.in: Ask user to type custom entries below
26445 comment, rather than below 'exec tail' line.
26446
26447 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
26448
26449 * util/grub.d/40_custom.in: Make sure that the explanatory text is
26450 visible in grub.cfg.
26451
26452 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
26453
26454 * util/grub.d/40_custom.in: Make it a little clearer how to use this
26455 file.
26456
26457 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
26458
26459 * docs/grub.cfg: Add an example menu entry for memtest86+.
26460
26461 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
26462
26463 * config.guess: Update to latest version from config git.
26464 * config.sub: Likewise.
26465
26466 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
26467
26468 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
26469 unknown-command case. Fixes bug #27320.
26470
26471 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
26472
26473 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
26474 `help' if the command exists.
26475
26476 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
26477
26478 * INSTALL: Require GCC 4.1.3 or later.
26479
26480 2009-09-06 Yves Blusseau <blusseau@zetam.org>
26481
26482 * Makefile.in (RMKFILES): add i386-qemu.rmk
26483 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
26484 $(srcdir)/stamp-h.in
26485
26486 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
26487
26488 * util/grub-probe.c (probe): Comment out buggy codepath, which
26489 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
26490 should be re-enabled after 1.97.
26491
26492 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
26493
26494 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
26495 find searches for.
26496
26497 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
26498
26499 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
26500 unnecessary calls to grub_error.
26501
26502 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
26503
26504 * NEWS: Mention `keystatus' and Unicode fonts.
26505
26506 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
26507
26508 * configure.ac: Bump version to 1.97~beta2.
26509 * docs/version.texi: Likewise.
26510
26511 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
26512
26513 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
26514 containing unwind information in some cases where it previously did
26515 not. Use -fno-dwarf2-cfi-asm if available to restore the old
26516 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
26517 discussion.
26518
26519 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
26520
26521 Embedding loadenv module into grub-emu
26522
26523 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
26524 commands/loadenv.c
26525 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
26526 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
26527 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
26528 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
26529 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
26530 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
26531
26532 2009-09-03 Magnus Granberg <zorry@ume.nu>
26533
26534 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
26535 include -fPIE in the default specs.
26536 * configure.ac: Check if pie_possible is yes and add -fno-PIE
26537 to TARGET_CFLAGS.
26538
26539 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
26540
26541 * INSTALL: Note that GNU Bison 2.3 or later is required.
26542
26543 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
26544
26545 * kern/i386/pc/startup.S: Fix typo.
26546
26547 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
26548
26549 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
26550 according to GCS.
26551
26552 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
26553
26554 * docs/grub.texi (Naming convention): Describe one-based partition
26555 numbering.
26556 (Device syntax): Likewise.
26557 (File name syntax): Likewise.
26558 (Block list syntax): Likewise.
26559 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
26560 menu.lst.
26561 (File name syntax): Likewise.
26562 (Command-line and menu entry commands): Document acpi, blocklist,
26563 crc, export, insmod, keystatus, ls, set, and unset commands.
26564
26565 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
26566
26567 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
26568 to avoid implying that only one of --shift, --ctrl, or --alt may be
26569 used.
26570
26571 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
26572
26573 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
26574 rather than comparing against S_IFREG, which will almost never work.
26575
26576 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
26577
26578 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
26579 (write_blocklists): Likewise.
26580
26581 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
26582
26583 * script/lua/grub_lua.h (fputs): Supply a format string as the first
26584 argument to grub_printf.
26585
26586 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
26587
26588 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
26589 non GNU test.
26590
26591 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
26592
26593 * kern/file.c (grub_file_read): Spelling fix
26594
26595 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
26596
26597 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
26598 loading of headers in some cases.
26599
26600 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
26601
26602 * configure.ac: Bump version to 1.97~beta1.
26603 * docs/version.texi: Likewise.
26604
26605 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
26606
26607 * include/grub/i386/xnu.h: Add license header.
26608 include grub/err.h explicitly.
26609
26610 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
26611
26612 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
26613 to `ufs' in the vfs.root.mountfrom kernel parameter.
26614
26615 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
26616
26617 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
26618
26619 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
26620 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
26621
26622 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
26623 `ARRAY_SIZE' macro.
26624
26625 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
26626
26627 * kern/file.c (grub_file_read): Check offset.
26628 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
26629 * fs/jfs.c (grub_jfs_read_file): Likewise.
26630 * fs/ntfs.c (grub_ntfs_read): Likewise.
26631 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
26632 * fs/minix.c (grub_minix_read_file): Correct offset check.
26633 * fs/ufs.c (grub_ufs_read_file): Likewise.
26634
26635 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
26636
26637 * term/i386/pc/console.c (bios_data_area): Cast
26638 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
26639
26640 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
26641
26642 1-bit optimised blitters.
26643
26644 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
26645 prototype.
26646 (grub_video_fbblit_replace_24bit_1bit): Likewise.
26647 (grub_video_fbblit_replace_16bit_1bit): Likewise.
26648 (grub_video_fbblit_replace_8bit_1bit): Likewise.
26649 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
26650 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
26651 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
26652 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
26653 function.
26654 (grub_video_fbblit_replace_24bit_1bit): Likewise.
26655 (grub_video_fbblit_replace_16bit_1bit): Likewise.
26656 (grub_video_fbblit_replace_8bit_1bit): Likewise.
26657 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
26658 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
26659 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
26660 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
26661 when possible.
26662 * video/video.c (grub_video_get_blit_format): Return
26663 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
26664
26665 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
26666
26667 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
26668 the first argument to grub_printf.
26669
26670 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
26671 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
26672
26673 Add `getkeystatus' terminal method. Add a new `keystatus' command
26674 to query it.
26675
26676 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
26677 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
26678 modifier key bitmasks.
26679 (struct grub_term_input): Add `getkeystatus' member.
26680 (grub_getkeystatus): Add prototype.
26681 * kern/term.c (grub_getkeystatus): New function.
26682
26683 * include/grub/i386/pc/memory.h
26684 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
26685 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
26686 Data Area layout.
26687 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
26688 (grub_console_term_input): Set `getkeystatus' member.
26689 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
26690 constants.
26691 (grub_usb_keyboard_getreport): Likewise.
26692 (grub_usb_keyboard_checkkey): Likewise.
26693 (grub_usb_keyboard_getkeystatus): New function.
26694 (grub_usb_keyboard_term): Set `getkeystatus' member.
26695
26696 * commands/keystatus.c: New file.
26697 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
26698 (keystatus_mod_SOURCES): New variable.
26699 (keystatus_mod_CFLAGS): Likewise.
26700 (keystatus_mod_LDFLAGS): Likewise.
26701 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
26702 commands/keystatus.c.
26703 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26704 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26705 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26706 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26707 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26708 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26709
26710 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
26711
26712 Split befs.mod and afs.mod into *_be.mod and *.mod
26713
26714 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
26715 (grub_fstest_SOURCES): Likewise.
26716 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
26717 (afs_be_mod_SOURCES): New variable.
26718 (afs_be_mod_CFLAGS): Likewise.
26719 (afs_be_mod_LDFLAGS): Likewise.
26720 (befs_be_mod_SOURCES): Likewise.
26721 (befs_be_mod_CFLAGS): Likewise.
26722 (befs_be_mod_LDFLAGS): Likewise.
26723 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
26724 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26725 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26726 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
26727 (grub_emu_SOURCES): Likewise.
26728 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26729 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26730 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26731 * fs/afs_be.c: New file.
26732 * fs/befs_be.c: New file.
26733 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
26734 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
26735 (U16): Replaced with ...
26736 (grub_afs_to_cpu16): ...this. All users updated.
26737 (U32): Replaced with ...
26738 (grub_afs_to_cpu32): ...this. All users updated.
26739 (U64): Replaced with ...
26740 (grub_afs_to_cpu64): ...this. All users updated.
26741 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
26742 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
26743 (grub_afs_validate_sblock): Check only one endianness.
26744 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
26745 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
26746 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
26747 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
26748 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
26749 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
26750 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
26751 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
26752
26753 2009-08-26 Bean <bean123ch@gmail.com>
26754
26755 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
26756 64-bit number.
26757 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
26758 (grub_xfs_inode_block): Change return type to grub_uint64_t.
26759 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
26760
26761 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26762
26763 NetBSD memory map support.
26764
26765 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
26766 (grub_netbsd_btinfo_mmap_header): New structure.
26767 (grub_netbsd_btinfo_mmap_entry): Likewise.
26768 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
26769
26770 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26771
26772 Enable bsd.mod on coreboot.
26773
26774 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
26775 (bsd_mod_SOURCES): New variable.
26776 (bsd_mod_CFLAGS): Likewise.
26777 (bsd_mod_LDFLAGS): Likewise.
26778 (bsd_mod_ASFLAGS): Likewise.
26779 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
26780 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
26781
26782 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26783
26784 Cleanup NetBSD root support.
26785
26786 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
26787 grub_bsd_get_device.
26788 Fix typo.
26789
26790 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
26791
26792 * util/grub.d/00_header.in: Move check for the video backend of
26793 gfxterm from here ...
26794 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
26795 a suitable video backend.
26796
26797 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26798
26799 Fix breakage in grub-setup.
26800
26801 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
26802 "msdos_partition_map".
26803
26804 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26805
26806 Fix breakage in normal/auth.c.
26807
26808 * normal/auth.c (grub_iswordseparator): New function.
26809
26810 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26811
26812 Authentication support.
26813
26814 * commands/password.c: New file.
26815 * conf/common.rmk (pkglib_MODULES): Add password.mod.
26816 (password_mod_SOURCES): New variable.
26817 (password_mod_CFLAGS): Likewise.
26818 (password_mod_LDFLAGS): Likewise.
26819 (normal_mod_SOURCES): Add normal/auth.c.
26820 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
26821 normal/auth.c.
26822 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26823 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26824 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26825 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26826 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26827 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26828 * include/grub/auth.h: New file.
26829 * include/grub/err.h (grub_err_t): New enum value
26830 GRUB_ERR_ACCESS_DENIED.
26831 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
26832 'users'.
26833 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
26834 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
26835 users updated.
26836 * normal/auth.c: New file.
26837 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
26838 (grub_cmdline_run): Don't allow to go to command line without
26839 authentication.
26840 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
26841 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
26842 menuentry without superuser rights.
26843 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
26844 user isn't a superuser.
26845
26846 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26847
26848 Save space by inlining misc.c functions.
26849
26850 * kern/misc.c (grub_iswordseparator): Made static.
26851 * kern/misc.c (grub_strcat): Moved from here ...
26852 * include/grub/misc.h (grub_strcat): ... here. Inlined.
26853 * kern/misc.c (grub_strncat): Moved from here ...
26854 * include/grub/misc.h (grub_strncat): ... here. Inlined.
26855 * kern/misc.c (grub_strcasecmp): Moved from here ...
26856 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
26857 * kern/misc.c (grub_strncasecmp): Moved from here ...
26858 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
26859 * kern/misc.c (grub_isalpha): Moved from here ...
26860 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
26861 * kern/misc.c (grub_isdigit): Moved from here ...
26862 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
26863 * kern/misc.c (grub_isgraph): Moved from here ...
26864 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
26865 * kern/misc.c (grub_tolower): Moved from here ...
26866 * include/grub/misc.h (grub_tolower): ... here. Inlined.
26867
26868 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26869
26870 * script/sh/function.c (grub_script_function_find): Cut error message
26871 not to flood terminal.
26872 * script/sh/lexer.c (grub_script_yylex): Remove command line length
26873 limit.
26874 * script/sh/script.c (grub_script_arg_add): Duplicate string.
26875
26876 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
26877
26878 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
26879 `report' grub_uint8_t *.
26880 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
26881 Use a 50-millisecond timeout rather than just repeating
26882 grub_usb_keyboard_getreport 50 times.
26883 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
26884
26885 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26886
26887 Rename *_partition_map to part_*
26888
26889 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
26890 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
26891 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
26892 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
26893 All users updated.
26894 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
26895 All users updated.
26896 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
26897 * util/grub-probe.c (probe_partmap): Don't transform partition name
26898 to get module name.
26899
26900 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26901
26902 Fix OpenBSD and NetBSD support.
26903
26904 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
26905 memory address conflict.
26906 (OPENBSD_MMAP_ACPI): New definition.
26907 (OPENBSD_MMAP_NVS): Likewise.
26908 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
26909 and OPENBSD_MMAP_NVS.
26910 Add memory map terminator
26911 Explicit cast when calling grub_unix_real_boot.
26912 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
26913
26914 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26915
26916 Let user specify NetBSD root device.
26917
26918 * loader/i386/bsd.c (netbsd_root): New variable.
26919 (netbsd_opts): New option 'root'.
26920 (NETBSD_ROOT_ARG): New macro.
26921 (grub_netbsd_boot): Use 'netbsd_root'.
26922 (grub_bsd_unload): Free 'netbsd_root'.
26923 (grub_cmd_netbsd): Fill 'netbsd_root'.
26924
26925 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26926
26927 Support for 64-bit NetBSD.
26928
26929 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
26930 point when booting non-FreeBSD.
26931
26932 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26933
26934 Support --no-smp and --no-acpi for NetBSD.
26935
26936 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
26937 (NETBSD_AB_NOACPI): Likewise.
26938 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
26939 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
26940
26941 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
26942
26943 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
26944 errors.
26945 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
26946 errors. Call grub_error when needed.
26947
26948 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
26949
26950 * commands/search.c (search_fs): Try searching without autoload first.
26951 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
26952 filesystem module explicitly for faster booting.
26953
26954 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
26955
26956 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
26957
26958 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
26959
26960 * util/grub.d/30_os-prober.in: Disable os-prober if
26961 `GRUB_DISABLE_OS_PROBER' was set to true.
26962
26963 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
26964
26965 * partmap/pc.c: Rename to ...
26966 * partmap/msdos.c: ... this. Update all users.
26967 (grub_pc_partition_map): Rename to ...
26968 (grub_msdos_partition_map): ... this. Update all users.
26969
26970 * parttool/pcpart.c: Rename to ...
26971 * parttool/msdospart.c: ... this. Update all users.
26972
26973 * include/grub/pc_partition.h: Rename to ...
26974 * include/grub/msdos_partition.h: ... this. Update all users.
26975 (grub_pc_partition_bsd_entry): Rename to ...
26976 (grub_msdos_partition_bsd_entry): ... this. Update all users.
26977 (grub_pc_partition_disk_label): Rename to ...
26978 (grub_msdos_partition_disk_label): ... this. Update all users.
26979 (grub_pc_partition_entry): Rename to ...
26980 (grub_msdos_partition_entry): ... this. Update all users.
26981 (grub_pc_partition_mbr): Rename to ...
26982 (grub_msdos_partition_mbr): ... this. Update all users.
26983 (grub_pc_partition): Rename to ...
26984 (grub_msdos_partition): ... this. Update all users.
26985 (grub_pc_partition_is_empty): Rename to ...
26986 (grub_msdos_partition_is_empty): ... this. Update all users.
26987 (grub_pc_partition_is_extended): Rename to ...
26988 (grub_msdos_partition_is_extended): ... this. Update all users.
26989 (grub_pc_partition_is_bsd): Rename to ...
26990 (grub_msdos_partition_is_bsd): ... this. Update all users.
26991
26992 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
26993 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
26994 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
26995 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
26996 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
26997 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
26998 (gpt_mod_LDFLAGS): Rename to ...
26999 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
27000 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
27001 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
27002 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
27003 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
27004 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
27005 (part_gpt_mod_LDFLAGS): ... this.
27006 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
27007 `pcpart.mod' to `msdospart.mod'.
27008 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
27009 to ...
27010 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
27011 (msdospart_mod_LDFLAGS): ... this.
27012
27013 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27014
27015 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
27016 (openbsd_opts): Likewise.
27017 (netbsd_opts): Likewise.
27018 (freebsd_flags): Added 0 terminator.
27019 (openbsd_flags): Likewise.
27020 (netbsd_flags): Likewise.
27021 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
27022 (grub_cmd_freebsd): Transformed into extended command.
27023 (grub_cmd_openbsd): Likewise.
27024 (grub_cmd_netbsd): Likewise.
27025 (cmd_freebsd): Changed type to grub_extcmd_t.
27026 (cmd_openbsd): Likewise.
27027 (cmd_netbsd): Likewise.
27028 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
27029 grub_cmd_openbsd as extended commands.
27030 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
27031 cmd_netbsd and cmd_openbsd
27032
27033 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
27034
27035 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
27036
27037 2009-08-21 Pavel Roskin <proski@gnu.org>
27038
27039 * Makefile.in (install-local): When checking if a file is in the
27040 build directory, use "test -e" to detect symlinks.
27041
27042 * Makefile.in (install-local): Remove all files in
27043 $(DESTDIR)$(pkglibdir) before installing new files there.
27044
27045 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
27046
27047 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
27048 grub-mkelfimage.
27049
27050 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
27051
27052 * util/grub-mkconfig.in: Don't use gfxterm by default if not
27053 explicitly specified by the user.
27054
27055 2009-08-18 Pavel Roskin <proski@gnu.org>
27056
27057 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
27058 grub_uint8_t pointer for data.
27059 * include/grub/fbutil.h (struct grub_video_fbblit_info):
27060 Likewise.
27061 * video/fb/fbutil.c: Remove unnecessary casts.
27062
27063 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
27064
27065 VBE cleanup.
27066
27067 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
27068 (grub_vbe_set_video_mode): Save active mode info
27069 only after setting the mode.
27070 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
27071 second argument.
27072
27073 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
27074
27075 Rename variables for clarity.
27076
27077 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
27078 (active_vbe_mode_info): ... this. All users updated.
27079 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
27080 All users updated.
27081 (initial_mode): Rename to ...
27082 (initial_vbe_mode): ... this. All users updated.
27083 (mode_in_use): Rename to ..
27084 (vbe_mode_in_use): ... this. All users updated.
27085 (mode_list): Rename to ..
27086 (vbe_mode_list): ... this. All users updated.
27087 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
27088 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
27089 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
27090 'mode_list_size' to 'vbe_mode_list_size'.
27091 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
27092 'best_mode_info' to 'best_vbe_mode_info' and
27093 'best_mode' to 'best_vbe_mode'
27094
27095 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
27096
27097 Remove duplicate grub_video_fb_get_video_ptr.
27098
27099 * include/grub/fbutil.h (get_data_ptr): Rename to ...
27100 (grub_video_fb_get_video_ptr): ... this.
27101 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
27102 * video/fb/fbutil.c: Add comment about addressing.
27103 (get_data_ptr): Rename to ...
27104 (grub_video_fb_get_video_ptr): ... this. All users updated.
27105 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
27106
27107 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
27108
27109 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
27110 grub_dprintf() that was just added.
27111
27112 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
27113
27114 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
27115 (DEFAULT_VIDEO_MODE): Remove macros.
27116 (grub_linux_boot): Remove assumption that Linux has FB support,
27117 and use "text" as default video mode.
27118
27119 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
27120
27121 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
27122 grub_dprintf.
27123 * fs/fat.c (grub_fat_read_data): Likewise.
27124
27125 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27126
27127 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
27128 payload.
27129 (grub_module): Likewise.
27130
27131 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27132
27133 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
27134 mbi->cmdline but free playground.
27135
27136 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27137
27138 Handle group offset on UFS1.
27139
27140 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
27141 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
27142
27143 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27144
27145 Split ufs.mod into ufs1.mod and ufs2.mod.
27146
27147 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
27148 (grub_fstest_SOURCES): Likewise.
27149 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
27150 (ufs_mod_SOURCES): Remove.
27151 (ufs_mod_CFLAGS): Likewise.
27152 (ufs_mod_LDFLAGS): Likewise.
27153 (ufs1_mod_SOURCES): New variable.
27154 (ufs1_mod_CFLAGS): Likewise.
27155 (ufs1_mod_LDFLAGS): Likewise.
27156 (ufs2_mod_SOURCES): New variable.
27157 (ufs2_mod_CFLAGS): Likewise.
27158 (ufs2_mod_LDFLAGS): Likewise.
27159 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
27160 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
27161 Likewise.
27162 (grub_emu_SOURCES): Likewise.
27163 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27164 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27165 (grub_setup_SOURCES): Likewise.
27166 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27167 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
27168 (grub_setup_SOURCES): Likewise.
27169 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
27170 Likewise.
27171 * fs/ufs2.c: New file.
27172 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
27173
27174 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27175
27176 Framebuffer split.
27177
27178 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
27179 subsystem at the end.
27180 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
27181 (video_fb_mod_SOURCES): New variable.
27182 (video_fb_mod_CFLAGS): Likewise.
27183 (video_fb_mod_LDFLAGS): Likewise.
27184 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
27185 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
27186 * video/i386/pc/vbeblit.c: Moved from here ...
27187 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
27188 * video/i386/pc/vbefill.c: Moved from here ...
27189 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
27190 * video/i386/pc/vbeutil.c: Moved from here ...
27191 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
27192 * include/grub/i386/pc/vbeblit.h: Moved from here ...
27193 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
27194 * include/grub/i386/pc/vbefill.h: Moved from here ...
27195 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
27196 * include/grub/i386/pc/vbeutil.h: Moved from here ...
27197 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
27198 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
27199 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
27200 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
27201 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
27202 (grub_video_adapter): Added 'get_info_and_fini'.
27203 (grub_video_get_info_and_fini): New prototype.
27204 (grub_video_set_mode): make modestring const char *.
27205 * loader/i386/linux.c (grub_linux_setup_video): Use
27206 grub_video_get_info_and_fini.
27207 (grub_linux_boot): Move modesetting just before booting.
27208 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
27209 grub_video_get_info_and_fini.
27210 * video/i386/pc/vbe.c: Moved framebuffer part ...
27211 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
27212 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
27213 grub_video_fbstd_colors and grub_video_fb_set_palette.
27214 (grub_video_vbe_init): Clear 'framebuffer' variable and use
27215 grub_video_fb_init.
27216 (grub_video_vbe_fini): Use grub_video_fb_fini.
27217 (grub_video_vbe_setup): Use framebuffer.render_target instead of
27218 render_target and use grub_video_fb_set_active_render_target and
27219 grub_video_fb_set_palette.
27220 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
27221 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
27222 (grub_video_vbe_adapter): Use framebuffer.
27223 * video/video.c (grub_video_get_info_and_fini): New function.
27224 (grub_video_set_mode): Make modestring const char *.
27225 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
27226 values are already initialised.
27227
27228 2009-08-14 Pavel Roskin <proski@gnu.org>
27229
27230 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
27231 ABS and APPLE_CC.
27232 * boot/i386/pc/diskboot.S: Likewise.
27233 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
27234 sectors allow compilation on MacOSX.
27235 * conf/i386-pc.rmk: Enable unconditional compilation of
27236 lnxboot.img.
27237
27238 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
27239
27240 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
27241 * util/grub.d/00_header.in: Enter interruptible sleep if
27242 GRUB_HIDDEN_TIMEOUT is set.
27243
27244 2009-08-13 Yves Blusseau <blusseau@zetam.org>
27245
27246 * include/grub/symbol.h: Add the LOCAL macro.
27247 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
27248 starting with "L_".
27249
27250 2009-08-13 Pavel Roskin <proski@gnu.org>
27251
27252 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
27253 any modern compilers we support.
27254
27255 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
27256 Use local labels starting with "L_" so that Apple assembler
27257 knows they are local.
27258
27259 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
27260
27261 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
27262 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
27263 (bsd_kernel_types): ... this enum.
27264
27265 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
27266 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
27267 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
27268
27269 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
27270 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
27271 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
27272 messages.
27273
27274 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
27275
27276 * util/grub-dumpdevtree: Moved from here ...
27277 * util/i386/efi/grub-dumpdevtree: ... to here.
27278 (hexify): New function. Converts a string to its hex version.
27279 Generate hex versions of "efi" and "device-properties" by calling
27280 hexify() on the ASCII strings rather than by hardcoding numbers.
27281
27282 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
27283
27284 * fs/jfs.c: Update copyright year.
27285
27286 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
27287
27288 * util/grub.d/00_header.in: Fix a comment.
27289 * util/grub.d/10_linux.in: Likewise.
27290 * util/grub.d/10_windows.in: Likewise.
27291 * util/grub.d/10_hurd.in: Likewise.
27292
27293 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
27294
27295 * util/grub-mkconfig.in: Allow the user to specify the used font
27296 with GRUB_FONT.
27297
27298 2009-08-08 Pavel Roskin <proski@gnu.org>
27299
27300 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
27301 available, xfs.mod needs it now.
27302
27303 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
27304 the "g" modifier in sed when the intention is to strip something
27305 once. This fixes comparison of kernels with multiple dashes.
27306
27307 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
27308 on it. Add missing space before closing bracket. Fix
27309 misleading formatting.
27310
27311 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27312
27313 * docs/grub.texi: Major overhaul. Remove all sections that are
27314 specific to GRUB Legacy, or mostly composed of Legacy-specific
27315 information.
27316
27317 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27318
27319 * docs/version.texi: New file. Provides version information for
27320 grub.texi.
27321
27322 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27323
27324 * docs/grub.texi: Update CVS information to SVN.
27325 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
27326
27327 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
27328
27329 * util/grub-mkconfig.in: Remove a wrong `fi'.
27330
27331 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
27332
27333 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
27334 (grub_jfs_uuid): New function.
27335 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
27336
27337 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
27338
27339 * util/grub-mkconfig_lib.in (font_path): Move the functionality
27340 of it to ...
27341 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
27342 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
27343
27344 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27345
27346 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
27347 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
27348 Update all users.
27349
27350 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
27351 not just "vmlinu[zx]".
27352 Moved from here ...
27353 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
27354 all users.
27355
27356 * util/grub.d/10_linux.in (find_latest): Moved from here ...
27357 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
27358 all users.
27359
27360 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27361
27362 * util/grub.d/10_freebsd.in: Use an absolute device path for
27363 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
27364
27365 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
27366
27367 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
27368 handling of multiple abstraction modules.
27369
27370 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
27371
27372 Fix a bug resulting in black screen when loading Linux using a
27373 packed video mode.
27374
27375 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
27376 function.
27377
27378 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
27379 (grub_vbe_bios_getset_dac_palette_width): New function.
27380 (grub_vbe_bios_get_dac_palette_width)
27381 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
27382 grub_vbe_bios_getset_dac_palette_width()).
27383
27384 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
27385 check for return status.
27386 (grub_vbe_get_video_mode_info): When getting information for a packed
27387 mode (<= 8 bpp), obtain DAC palette width using
27388 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
27389 {red,green,blue}_mark_size.
27390
27391 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
27392
27393 * commands/search.c (options): Fix help output to match actual code.
27394
27395 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
27396
27397 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
27398 of homegrown code.
27399
27400 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
27401
27402 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
27403 on XFS or ReiserFS.
27404
27405 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
27406
27407 Support Apple partition map with sector size different from 512 bytes.
27408
27409 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
27410 (apple_partition_map_iterate): Respect 'aheader.blocksize'
27411 and 'apart.partmap_size'.
27412
27413 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
27414 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
27415
27416 Fix cpuid command.
27417
27418 * commands/i386/cpuid.c (options): New variable.
27419 (grub_cmd_cpuid): Return real error.
27420 (GRUB_MOD_INIT(cpuid)): Declare options.
27421
27422 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
27423
27424 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
27425 valid.
27426
27427 2009-07-31 Bean <bean123ch@gmail.com>
27428
27429 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
27430 log2_inode.
27431 (grub_fshelp_node): Move inode field to the end.
27432 (grub_xfs_data): Remove inode field.
27433 (grub_xfs_inode_block): Calculate inode size using sblock.
27434 (grub_xfs_inode_offset): Likewise.
27435 (grub_xfs_read_inode): Calculate inode size using sblock.
27436 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
27437 (grub_xfs_iterate_dir): Calculate inode size using sblock.
27438 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
27439 to match inode size.
27440 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
27441 not accessible when data is null.
27442 (grub_xfs_open): Likewise.
27443
27444 2009-07-31 Bean <bean123ch@gmail.com>
27445
27446 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
27447 Don't change pv->disk if it's already set.
27448
27449 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
27450 (grub_raid_register): ... here.
27451 (grub_raid_rescan): Removed.
27452
27453 * include/grub/raid.h (grub_raid_rescan): Removed.
27454
27455 * util/grub-fstest.c: Remove include file <grub/raid.h>.
27456 (fstest): Replace grub_raid_rescan with module fini function followed
27457 by init function.
27458
27459 * util/grub-probe.c: Add include file <grub/raid.h>.
27460 (probe_raid_level): New function.
27461 (probe): Detect abstraction by walking the disk device, support two
27462 level of abstraction (LVM on RAID) when detecting partition map.
27463
27464 2009-07-31 Pavel Roskin <proski@gnu.org>
27465
27466 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
27467 to grub_zalloc(), it was erroneous.
27468 Reported by Bean <bean123ch@gmail.com>
27469
27470 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
27471
27472 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
27473 embedding zone, not only the first one.
27474
27475 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
27476
27477 * term/gfxterm.c (clear_char): New function.
27478 (grub_virtual_screen_setup): Use clear_char.
27479 (scroll_up): Likewise.
27480 (grub_virtual_screen_cls): Likewise.
27481
27482 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
27483
27484 * util/deviceiter.c (get_acceleraid_disk_name): New static
27485 function.
27486 (grub_util_iterate_devices): Handle Accelraid devices.
27487 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
27488
27489 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
27490
27491 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
27492 separator for the suggested gfxpayload string (';' collides with the
27493 parser and needs escaping).
27494
27495 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
27496
27497 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
27498 Clear direction flag before jumping to OS.
27499 (grub_multiboot2_real_boot): Likewise.
27500
27501 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
27502
27503 * util/i386/pc/grub-install: Fix parsing of --disk-module
27504 option.
27505
27506 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
27507
27508 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
27509 when embedding.
27510
27511 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
27512
27513 * util/grub-mkconfig.in (package_version): New variable.
27514 Use it do display the version.
27515
27516 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
27517
27518 * kern/file.c (grub_file_open): Revert to previous check with
27519 grub_errno.
27520
27521 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
27522
27523 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
27524 from help line. It's out of sync with code.
27525
27526 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
27527
27528 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
27529 entries on failed boot.
27530
27531 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
27532
27533 * kern/file.c (grub_file_open): Fix an error check.
27534
27535 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
27536
27537 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
27538 partition map couldn't be identified.
27539
27540 2009-07-23 Pavel Roskin <proski@gnu.org>
27541
27542 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
27543 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
27544 case of little endian words becomes just an optimization.
27545 Respect const modifier.
27546 (md5_final): Use code that doesn't depend on endianness.
27547
27548 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
27549 to avoid loss of upper bits if align is unsigned and shorter
27550 than addr.
27551
27552 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
27553
27554 UUID support for UFS
27555
27556 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
27557 (grub_ufs_uuid): New function.
27558 (grub_ufs_fs): add .uuid
27559
27560 2009-07-21 Pavel Roskin <proski@gnu.org>
27561
27562 * kern/dl.c (grub_dl_check_header): Make static.
27563
27564 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
27565
27566 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
27567 add drivemap for Vista. It breaks Windows 7.
27568
27569 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
27570
27571 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
27572 128 bytes
27573
27574 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
27575
27576 Add BFS support
27577
27578 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
27579 (grub_fstest_SOURCES): Likewise.
27580 (pkglib_MODULES): Add befs.mod.
27581 (befs_mod_SOURCES): New variable.
27582 (befs_mod_CFLAGS): Likewise.
27583 (befs_mod_LDFLAGS): Likewise.
27584 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
27585 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27586 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27587 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27588 (grub_setup_SOURCES): Likewise.
27589 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27590 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27591 (grub_setup_SOURCES): Likewise.
27592 * fs/befs.c: New file.
27593 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
27594 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
27595 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
27596 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
27597 (B_KEY_INDEX_ALIGN): New declaration.
27598 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
27599 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
27600 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
27601 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
27602 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
27603 (grub_afs_mount) [MODE_BFS]: Likewise.
27604 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
27605 (grub_afs_fs): Use GRUB_AFS_FSNAME
27606 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
27607 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
27608 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
27609 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
27610
27611 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
27612
27613 * util/getroot.c (find_root_device): Add support for MacOSX.
27614 * util/hostdisk.c: Likewise.
27615
27616 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
27617
27618 * font/font.c (find_glyph): Check whether a font is present to avoid
27619 segmentation fault.
27620
27621 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
27622
27623 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
27624
27625 2009-07-20 Pavel Roskin <proski@gnu.org>
27626
27627 * configure.ac: Trim excessively wordy excuses.
27628
27629 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
27630
27631 Add symlink, mtime and label support to AtheFS.
27632
27633 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
27634 (grub_afs_iterate_dir): Handle symlinks.
27635 (grub_afs_open): Use grub_afs_read_symlink.
27636 (grub_afs_dir): Likewise.
27637 Pass mtime.
27638 (grub_afs_label): New function.
27639 (grub_afs_fs): Add grub_afs_label.
27640 (grub_afs_read_symlink): New function.
27641
27642 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
27643
27644 Fix AtheFS support.
27645
27646 * fs/afs.c: Fix comments style.
27647 (grub_afs_blockrun): Declare as packed.
27648 (grub_afs_datastream): Likewise.
27649 (grub_afs_bnode): Likewise.
27650 (grub_afs_btree): Likewise.
27651 (grub_afs_sblock): Likewise.
27652 Declare `name' as char.
27653 (grub_afs_inode): Declare as packed.
27654 Change void *vnode to grub_uint32_t unused.
27655 (grub_afs_iterate_dir): Check that key_size is positive.
27656 (grub_afs_mount): Don't read superblock twice.
27657 (grub_afs_dir): Don't free node in case of error,
27658 grub_fshelp_find_file already handles this.
27659 (grub_afs_open): Likewise.
27660
27661 2009-07-19 Pavel Roskin <proski@gnu.org>
27662
27663 * Makefile.in: Remove LIBLZO and enable_lzo.
27664 * conf/i386-pc.rmk: Remove lzo support.
27665 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
27666 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
27667 support.
27668 * kern/i386/pc/lzo1x.S: Remove.
27669 * kern/i386/pc/startup.S: Remove lzo support.
27670 * util/i386/pc/grub-mkimage.c: Likewise.
27671
27672 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
27673
27674 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
27675 * fs/xfs.c (grub_xfs_dir): Likewise.
27676 * fs/afs.c (grub_afs_dir): Likewise.
27677 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
27678 (grub_iso9660_open): Likewise.
27679 * fs/jfs.c (grub_jfs_open): Likewise.
27680 * fs/ext2.c (grub_ext2_dir): Likewise.
27681 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
27682 * script/sh/lexer.c (grub_script_yylex): Likewise.
27683
27684 2009-07-16 Pavel Roskin <proski@gnu.org>
27685
27686 * configure.ac: Never add "-c" to CFLAGS.
27687
27688 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
27689
27690 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
27691 grub_cv_cc_efiemu should be used.
27692
27693 * configure.ac: Typo fixes.
27694
27695 * kern/mm.c (grub_zalloc): New function.
27696 (grub_debug_zalloc): Likewise.
27697 * include/grub/mm.h: Declare grub_zalloc() and
27698 grub_debug_zalloc().
27699 * util/misc.c (grub_zalloc): New function.
27700 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
27701 instead of grub_malloc(), remove unneeded initializations.
27702 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
27703 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
27704 * commands/parttool.c (grub_cmd_parttool): Likewise.
27705 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
27706 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
27707 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
27708 * disk/usbms.c (grub_usbms_finddevs): Likewise.
27709 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
27710 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
27711 (grub_cmd_efiemu_pnvram): Likewise.
27712 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
27713 * fs/iso9660.c (grub_iso9660_mount): Likewise.
27714 (grub_iso9660_iterate_dir): Likewise.
27715 * fs/jfs.c (grub_jfs_opendir): Likewise.
27716 * fs/ntfs.c (list_file): Likewise.
27717 (grub_ntfs_mount): Likewise.
27718 * kern/disk.c (grub_disk_open): Likewise.
27719 * kern/dl.c (grub_dl_load_core): Likewise.
27720 * kern/elf.c (grub_elf_file): Likewise.
27721 * kern/env.c (grub_env_context_open): Likewise.
27722 (grub_env_set): Likewise.
27723 (grub_env_set_data_slot): Likewise.
27724 * kern/file.c (grub_file_open): Likewise.
27725 * kern/fs.c (grub_fs_blocklist_open): Likewise.
27726 * loader/i386/multiboot.c (grub_module): Likewise.
27727 * loader/xnu.c (grub_xnu_create_key): Likewise.
27728 (grub_xnu_create_value): Likewise.
27729 * normal/main.c (grub_normal_add_menu_entry): Likewise.
27730 (read_config_file): Likewise.
27731 * normal/menu_entry.c (make_screen): Likewise.
27732 * partmap/sun.c (sun_partition_map_iterate): Likewise.
27733 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
27734 * script/sh/script.c (grub_script_parse): Likewise.
27735 * video/bitmap.c (grub_video_bitmap_create): Likewise.
27736 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
27737 * video/readers/png.c (grub_png_output_byte): Likewise.
27738 (grub_video_reader_png): Likewise.
27739
27740 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27741
27742 Enable all targets that can be built by default
27743
27744 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
27745 grub-mkfont and grub-fstest if they can be built
27746
27747 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27748
27749 Fix hang and segmentation fault in grub-emu-usb
27750
27751 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
27752 * util/usb.c (grub_libusb_devices): likewise
27753 (grub_libusb_init): rename to ...
27754 (GRUB_MOD_INIT (libusb)):...this
27755 (grub_libusb_fini): rename to ..
27756 (GRUB_MOD_FINI (libusb)):...this
27757 * disk/usbms.c (grub_usbms_transfer): fix retry logic
27758 * include/grub/disk.h (grub_raid_init): removed, it's useless
27759 (grub_raid_fini): likewise
27760 (grub_lvm_init): likewise
27761 (grub_lvm_fini): likewise
27762 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
27763 by grub_init_all
27764
27765 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27766
27767 Fix libusb
27768
27769 * Makefile.in (LIBUSB): new macro
27770 * genmk.rb (Utility/print_tail): new method
27771 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
27772 (top level): call util.print_tail at the end.
27773
27774 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27775
27776 Make FreeBSD accept zpool.cache
27777
27778 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
27779 type is /boot/zfs/zpool.cache
27780
27781 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27782
27783 Fix 64-bit efiemu
27784
27785 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
27786 correct wrong typedef
27787 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
27788
27789 2009-07-15 Pavel Roskin <proski@gnu.org>
27790
27791 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
27792 * kern/disk.c (struct grub_disk_cache): Likewise.
27793
27794 * commands/probe.c (options): Typo fix.
27795
27796 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
27797 Increase to 0x5a to accommodate FAT32. Adjust other offsets
27798 accordingly.
27799 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
27800
27801 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
27802 the end of "Error" to make the message more readable.
27803
27804 * boot/i386/pc/boot.S (kernel_segment): Remove.
27805 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
27806 for destination.
27807
27808 * boot/i386/pc/boot.S (boot_version): Remove.
27809 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
27810 Remove.
27811
27812 * include/grub/i386/pc/boot.h: Sort all offsets.
27813 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
27814 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
27815 * boot/i386/pc/boot.S: Assert location of every offset listed in
27816 include/grub/i386/pc/boot.h.
27817
27818 2009-07-13 Pavel Roskin <proski@gnu.org>
27819
27820 * include/grub/i386/coreboot/machine.h: Rename
27821 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
27822 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
27823 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
27824
27825 * kern/dl.c: Force native word size to suppress warnings when
27826 compiling grub-emu.
27827
27828 * kern/device.c (grub_device_iterate): Change struct part_ent to
27829 hold the name, not a pointer to it. Use one grub_malloc() per
27830 partition, not two. Free partition_name if grub_malloc() fails.
27831 Set ents to NULL only before grub_partition_iterate() is called.
27832
27833 2009-07-11 Bean <bean123ch@gmail.com>
27834
27835 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
27836 childname.
27837
27838 2009-07-10 Bean <bean123ch@gmail.com>
27839 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
27840
27841 * kern/ieee1275/openfw.c (grub_children_iterate)
27842 (grub_devalias_iterate): Fix size evaluation for property or path
27843 strings, which was broken since r2132.
27844
27845 2009-07-07 Pavel Roskin <proski@gnu.org>
27846
27847 * commands/search.c (search_file): Merge into ...
27848 (search_fs): ... this. Accept search type as argument.
27849 (grub_cmd_search): Pass search type to search_fs().
27850
27851 * include/grub/util/console.h: New file.
27852 * util/console.c: Use it instead of grub/machine/console.h.
27853 * util/grub-emu.c: Likewise.
27854
27855 * lib/arg.c (find_long_option): Remove.
27856 (find_long): Add `len' argument, make `s' const char *.
27857 (grub_arg_parse): Parse long options in place, not in a
27858 temporary buffer.
27859
27860 2009-07-06 Pavel Roskin <proski@gnu.org>
27861
27862 * commands/search.c (search_fs): Fix potential NULL pointer
27863 dereference.
27864
27865 * commands/search.c (search_fs): Replace QUID macro with quid_fn
27866 function pointer.
27867
27868 2009-07-06 Daniel Mierswa <impulze@impulze.org>
27869
27870 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
27871 comparison.
27872
27873 2009-07-05 Pavel Roskin <proski@gnu.org>
27874
27875 * include/grub/i386/linux.h (struct linux_kernel_params):
27876 Restore padding3, it's still needed.
27877
27878 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
27879 FreeBSD.
27880 * util/osdetect.lua: Likewise.
27881
27882 2009-07-05 Bean <bean123ch@gmail.com>
27883
27884 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
27885
27886 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
27887 (grub_lua_getenv): Likewise.
27888 (grub_lua_setenv): Likewise.
27889 (save_errno): New function.
27890 (push_result): Likewise.
27891 (grub_lua_enum_device): Likewise.
27892 (grub_lua_enum_file): Likewise.
27893 (grub_lua_file_open): Likewise.
27894 (grub_lua_file_close): Likewise.
27895 (grub_lua_file_seek): Likewise.
27896 (grub_lua_file_read): Likewise.
27897 (grub_lua_file_getline): Likewise.
27898 (grub_lua_file_getsize): Likewise.
27899 (grub_lua_file_getpos): Likewise.
27900 (grub_lua_file_eof): Likewise.
27901 (grub_lua_file_exist): Likewise.
27902 (grub_lua_add_menu): Likewise.
27903
27904 * script/lua/grub_lua.h (isupper): New inline function.
27905 (islower): Likewise.
27906 (ispunct): Likewise.
27907 (isxdigit): Likewise.
27908 (strcspn): Change to normal function.
27909 (strpbkr): New function declaration.
27910 (memchr): Likewise.
27911
27912 * script/lua/grub_main.c (scan_str): New function.
27913 (strcspn): Likewise.
27914 (strpbrk): Likewise.
27915 (memchr): Likewise.
27916
27917 * script/lua/linit.c (lualibs): Enable the string library.
27918
27919 * util/osdetect.lua: New file.
27920
27921 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
27922
27923 * include/grub/i386/linux.h (struct linux_kernel_params): Add
27924 `capabilities' member.
27925
27926 2009-07-02 Pavel Roskin <proski@gnu.org>
27927
27928 * genparttoollist.sh: Add missing newline at the end.
27929
27930 2009-07-01 Pavel Roskin <proski@gnu.org>
27931
27932 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
27933
27934 * util/hostdisk.c (open_device): Remove `const' from
27935 `sysctl_size', as sysctlbyname() can change it (in this case it
27936 doesn't actually happen).
27937
27938 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
27939 using signed long int constants.
27940
27941 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
27942 constant to avoid a warning on FreeBSD.
27943
27944 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
27945 where it's needed.
27946
27947 * Makefile.in: Install include/grub/machine symlink.
27948
27949 * Makefile.in: When installing symlinks, use "cp -fR", which
27950 works on FreeBSD and MacOSX.
27951 From Yves Blusseau <cl7m42e02@sneakemail.com>
27952
27953 * kern/dl.c (grub_dl_resolve_symbol): Make static.
27954 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
27955
27956 * util/misc.c: Move grub_reboot() and grub_halt() ...
27957 * util/grub-emu.c: ... here. Make main_env static.
27958 * include/grub/util/misc.h: Remove main_env.
27959
27960 * kern/mm.c: Use correct format to print size_t.
27961
27962 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
27963 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
27964 * kern/powerpc/dl.c: Likewise.
27965 * kern/sparc64/dl.c: Likewise.
27966 * kern/x86_64/dl.c: Likewise.
27967
27968 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
27969
27970 Fix grub-emu build on sparc64-ieee1275.
27971
27972 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
27973 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
27974
27975 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
27976
27977 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
27978 (grub_reboot, grub_halt): New functions.
27979
27980 * util/i386/pc/misc.c: Delete. Update all users.
27981 * util/sparc64/ieee1275/misc.c: Likewise.
27982 * util/powerpc/ieee1275/misc.c: Likewise.
27983
27984 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
27985
27986 * conf/i386.rmk (setjmp_mod_SOURCES)
27987 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
27988 * conf/common.rmk (setjmp_mod_SOURCES)
27989 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
27990 to use $(target_cpu).
27991 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
27992 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
27993 * conf/powerpc-ieee1275.rmk: Likewise.
27994 * conf/sparc64-ieee1275.rmk: Likewise.
27995
27996 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
27997 $(target_cpu) for kern/$(target_cpu)/dl.c.
27998 * conf/i386-efi.rmk: Likewise.
27999 * conf/i386-ieee1275.rmk: Likewise.
28000 * conf/x86_64-efi.rmk: Likewise.
28001 * conf/i386-coreboot.rmk: Likewise.
28002 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
28003 $(target_cpu) for kern/$(target_cpu)/dl.c and for
28004 kern/$(target_cpu)/cache.S.
28005 * conf/sparc64-ieee1275.rmk: Likewise.
28006
28007 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28008
28009 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
28010 type to `grub_uint8_t', and adjust `padding9' accordingly.
28011
28012 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28013
28014 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
28015
28016 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
28017 assembly in final jump, using register constraints.
28018
28019 (grub_linux_boot): For text mode, initialize `have_vga' using
28020 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
28021
28022 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
28023 right before the final jump.
28024
28025 Set `video_mode' to 0x3.
28026
28027 Document initialization of `video_page', `video_mode' and
28028 `video_ega_bx'.
28029
28030 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28031
28032 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
28033 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
28034 and set GRUB_LINUX_FLAG_QUIET appropriately.
28035
28036 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28037
28038 Fix build on Debian / sparc.
28039
28040 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
28041
28042 2009-06-28 Pavel Roskin <proski@gnu.org>
28043
28044 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
28045 fix a warning.
28046
28047 * util/grub.d/10_linux.in: Match SUSE style initrd names.
28048
28049 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28050
28051 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
28052 `err'.
28053
28054 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28055
28056 Revert r2338.
28057
28058 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
28059 file can't be opened. grub_file_open() is already supposed to set
28060 grub_errno / grub_errmsg appropriately.
28061 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
28062
28063 2009-06-27 Pavel Roskin <proski@gnu.org>
28064 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28065
28066 * include/grub/dl.h: Include grub/elf.h.
28067 (struct grub_dl): Add symtab field.
28068 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
28069 GRUB_MODULES_MACHINE_READONLY.
28070 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
28071 of the header for read-only modules.
28072 (grub_dl_unload): Free mod->symtab for read-only modules.
28073 * kern/i386/dl.c: Use mod->symtab.
28074 * kern/powerpc/dl.c: Likewise.
28075 * kern/sparc64/dl.c: Likewise.
28076 * kern/x86_64/dl.c: Likewise.
28077
28078 * conf/i386-qemu.rmk: New file.
28079 * kern/i386/qemu/startup.S: Likewise.
28080 * kern/i386/qemu/mmap.c: Likewise.
28081 * boot/i386/qemu/boot.S: Likewise.
28082 * include/grub/i386/qemu/time.h: Likewise.
28083 * include/grub/i386/qemu/serial.h: Likewise.
28084 * include/grub/i386/qemu/kernel.h: Likewise.
28085 * include/grub/i386/qemu/console.h: Likewise.
28086 * include/grub/i386/qemu/boot.h: Likewise.
28087 * include/grub/i386/qemu/init.h: Likewise.
28088 * include/grub/i386/qemu/machine.h: Likewise.
28089 * include/grub/i386/qemu/loader.h: Likewise.
28090 * include/grub/i386/qemu/memory.h: Likewise.
28091
28092 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
28093 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
28094 [qemu] (pkglib_IMAGES): Add `boot.img'.
28095 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
28096 [qemu] (boot_img_FORMAT): New variables.
28097 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
28098 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
28099 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
28100 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
28101 [qemu] (kernel_img_FORMAT): New variables.
28102
28103 * configure.ac: Recognise `i386-qemu'.
28104
28105 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
28106 (for no compression).
28107 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
28108 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
28109 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
28110 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
28111 ifdefs).
28112
28113 2009-06-27 Pavel Roskin <proski@gnu.org>
28114
28115 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
28116 read.
28117 * efiemu/prepare32.c: Likewise.
28118 * efiemu/prepare64.c: Likewise.
28119
28120 2009-06-26 Pavel Roskin <proski@gnu.org>
28121
28122 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
28123 * include/grub/elf.h: Define symbols without "32" or "64" based
28124 on GRUB_TARGET_WORDSIZE.
28125 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
28126 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
28127 ELF definitions.
28128 * efiemu/loadcore64.c: Likewise.
28129 * loader/i386/bsd32.c: Likewise.
28130 * loader/i386/bsd64.c: Likewise.
28131 * kern/dl.c: Remove own ELF definitions.
28132 * util/i386/efi/grub-mkimage.c: Likewise.
28133
28134 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
28135
28136 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
28137 segment 0x0 unconditionally, because the reference generated by
28138 GAS is an absolute address.
28139
28140 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28141
28142 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
28143 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
28144
28145 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28146
28147 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
28148 indexes. Check for -f explicitly.
28149 (search_file): Improve error message.
28150 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
28151
28152 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28153
28154 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
28155 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
28156
28157 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28158
28159 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
28160 * conf/i386-ieee1275.rmk: Likewise.
28161 * conf/i386-coreboot.rmk: Likewise.
28162
28163 * kern/i386/pc/startup.S (grub_stop): Remove function.
28164 * kern/i386/ieee1275/startup.S: Likewise.
28165 * kern/i386/coreboot/startup.S: Likewise.
28166 * kern/i386/misc.S (grub_stop): New function.
28167
28168 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28169
28170 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
28171 * kern/i386/realmode.S (real_to_prot): ... to here.
28172
28173 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28174
28175 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
28176 with `kernel.img'.
28177 (kernel_elf_SOURCES): Rename to ...
28178 (kernel_img_SOURCES): ... this.
28179 (kernel_elf_HEADERS): Rename to ...
28180 (kernel_img_HEADERS): ... this. Update all users.
28181 (kernel_elf_ASFLAGS): Rename to ...
28182 (kernel_img_ASFLAGS): ... this.
28183 (kernel_elf_CFLAGS): Rename to ...
28184 (kernel_img_CFLAGS): ... this.
28185 (kernel_elf_LDFLAGS): Rename to ...
28186 (kernel_img_LDFLAGS): ... this.
28187 * conf/i386-coreboot.rmk: Likewise.
28188 * conf/powerpc-ieee1275.rmk: Likewise.
28189
28190 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
28191 with "kernel.img".
28192
28193 2009-06-21 Pavel Roskin <proski@gnu.org>
28194
28195 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
28196 to match nested functions.
28197 * loader/sparc64/ieee1275/linux.c: Likewise.
28198
28199 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
28200
28201 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
28202
28203 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
28204 all i386 platforms.
28205
28206 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
28207
28208 Fix asm file handling on ELF, and remove workarounds.
28209
28210 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
28211 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
28212 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
28213 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
28214
28215 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
28216
28217 Load BSD ELF modules
28218
28219 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
28220 and loader/i386/bsd64.c
28221 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
28222 (FREEBSD_MODTYPE_ELF_MODULE): New definition
28223 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
28224 (grub_freebsd_load_elfmodule32): New declaration
28225 (grub_freebsd_load_elfmoduleobj64): Likewise
28226 (grub_freebsd_load_elf_meta32): Likewise
28227 (grub_freebsd_load_elf_meta64): Likewise
28228 (grub_freebsd_add_meta): Likewise
28229 (grub_freebsd_add_meta_module): Likewise
28230 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
28231 (grub_freebsd_add_meta_module): Likewise and move module-specific
28232 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
28233 (grub_cmd_freebsd): Add elf-kernel specific parts
28234 based on grub_freebsd_add_meta_module
28235 (grub_cmd_freebsd_module): Add type parsing moved from
28236 grub_freebsd_add_meta_module
28237 (grub_cmd_freebsd_module_elf): New function
28238 (cmd_freebsd_module_elf): New variable
28239 (GRUB_MOD_INIT): Register freebsd_module_elf
28240 * loader/i386/bsd32.c: New file
28241 * loader/i386/bsd64.c: Likewise
28242 * loader/i386/bsdXX.c: Likewise
28243 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
28244 (grub_elf64_load): Likewise
28245 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
28246 All users updated
28247 (grub_elf64_load_hook_t): Likewise
28248
28249 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
28250
28251 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
28252 variable.
28253 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
28254 don't write a menu entry for recovery mode.
28255
28256 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
28257
28258 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
28259 after it's no longer needed.
28260
28261 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
28262
28263 * include/grub/i386/loader.h (grub_linux_prot_size)
28264 (grub_linux_tmp_addr, grub_linux_real_addr)
28265 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
28266 GRUB_MACHINE_PCBIOS.
28267 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
28268 common grub_util_info() call to ...
28269 (generate_image): ... here.
28270 Fix use of uninitialized memory, comparison of signed with
28271 unsigned integers and memory leak.
28272 Remove bogus module address message.
28273
28274 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
28275
28276 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
28277 grub_raid_register
28278 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
28279
28280 2009-06-19 Pavel Roskin <proski@gnu.org>
28281
28282 * configure.ac: Remove stray AC_MSG_CHECKING.
28283
28284 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
28285
28286 * disk/scsi.c (grub_scsi_open): use continue instead of big if
28287
28288 2009-06-18 Pavel Roskin <proski@gnu.org>
28289
28290 * conf/common.rmk: Add fs_file.mod.
28291 * disk/fs_file.c: New file.
28292 * include/grub/disk.h (enum grub_disk_dev_id): Add
28293 GRUB_DISK_DEVICE_FILE_ID.
28294
28295 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28296
28297 Fix build with Apple's toolchain. Part 2
28298
28299 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
28300 a fake start
28301
28302 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28303
28304 Fix build with Apple's toolchain. Part 1
28305
28306 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
28307 for long calls
28308 * configure.ac: remove a leftover AC_MSG_RESULT
28309 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
28310 Apple's toolchain
28311
28312 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28313
28314 Fix warnings
28315
28316 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
28317 (decomp_block): initialize ch
28318 use grub_memcpy instead of memcpy
28319
28320 2009-06-17 Pavel Roskin <proski@gnu.org>
28321
28322 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
28323 version, use declarations needed to use vga_text as the startup
28324 console.
28325
28326 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
28327 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
28328 the kernel.
28329 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
28330 and grub_at_keyboard_fini(), it's done on module load and
28331 unload.
28332
28333 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
28334
28335 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
28336 file can't be found.
28337 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
28338
28339 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
28340
28341 Fix newline handling
28342
28343 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
28344 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
28345 (grub_script_yylex): don't segfault on unterminated script
28346 newline terminates command and variable
28347
28348 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
28349
28350 avoid double grub_adjust_range call. Bug reported by David Simner
28351
28352 * kern/disk.c (grub_disk_write): change to raw disk access before
28353 calling disk_read
28354
28355 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
28356
28357 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
28358 spaces, for the benefit of help2man.
28359 * util/i386/efi/grub-mkimage.c (usage): Likewise.
28360
28361 2009-06-16 Pavel Roskin <proski@gnu.org>
28362
28363 * kern/i386/halt.c: Include grub/machine/init.h.
28364 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
28365
28366 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
28367
28368 * util/grub.d/30_os-prober.in: Use ${root} in the generated
28369 drivemap menuentry.
28370
28371 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
28372
28373 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
28374 `echo' command.
28375
28376 2009-06-16 Pavel Roskin <proski@gnu.org>
28377
28378 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
28379 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
28380 save %dx, we only need %dl and we never change it.
28381 * boot/i386/pc/cdboot.S: Don't set the root drive.
28382 * boot/i386/pc/pxeboot.S: Likewise.
28383 * include/grub/i386/pc/boot.h: Remove
28384 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
28385 GRUB_BOOT_MACHINE_DRIVE_CHECK.
28386 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
28387 * kern/i386/pc/init.c (make_install_device): Remove references
28388 to grub_root_drive.
28389 * kern/i386/pc/startup.S: Likewise.
28390 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
28391
28392 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
28393
28394 xnu_uuid command
28395
28396 * commands/xnu_uuid.c: new file
28397 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
28398 (xnu_uuid_mod_SOURCES): new variable
28399 (xnu_uuid_mod_CFLAGS): likewise
28400 (xnu_uuid_mod_LDFLAGS): likewise
28401 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
28402 * conf/i386-ieee1275.rmk: likewise
28403 * conf/i386-pc.rmk: likewise
28404 * conf/powerpc-ieee1275.rmk: likewise
28405 * conf/sparc64-ieee1275.rmk: likewise
28406 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
28407
28408 2009-06-16 Pavel Roskin <proski@gnu.org>
28409
28410 * configure.ac: Avoid '==' in test command, it's not portable.
28411
28412 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
28413
28414 Probe command
28415
28416 * commands/probe.c: new file
28417 * conf/common.rmk (pkglib_MODULES): add probe.mod
28418 (probe_mod_SOURCES): new variable
28419 (probe_mod_CFLAGS): likewise
28420 (probe_mod_LDFLAGS): likewise
28421 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
28422 * conf/i386-ieee1275.rmk: likewise
28423 * conf/i386-pc.rmk: likewise
28424 * conf/powerpc-ieee1275.rmk: likewise
28425 * conf/sparc64-ieee1275.rmk: likewise
28426
28427 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
28428
28429 Fix handling of string like \"hello\" and "a
28430 b"
28431
28432 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
28433 (grub_script_yylex): fix parsing of quoting, escaping and newline
28434
28435 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
28436
28437 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
28438 handling
28439
28440 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
28441
28442 * util/grub-mkconfig.in: Fix parsing of --output option.
28443
28444 2009-06-12 Pavel Roskin <proski@gnu.org>
28445
28446 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
28447 genmk.rb don't need to be generated or installed.
28448
28449 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
28450
28451 * commands/i386/pc/drivemap_int13h.S: add more comments
28452
28453 2009-06-11 Pavel Roskin <proski@gnu.org>
28454
28455 * Makefile.in (uninstall): Uninstall manuals.
28456
28457 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
28458 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
28459 and update-grub_lib in two places.
28460 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
28461
28462 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
28463 a compiler warning.
28464
28465 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
28466 `entry_lo' to fix variable shadowing.
28467
28468 2009-06-11 Christian Franke <franke@computer.org>
28469
28470 * kern/misc.c (__enable_execute_stack): Add missing return type
28471 to prevent gcc warning.
28472
28473 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
28474
28475 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
28476
28477 2009-06-11 Pavel Roskin <proski@gnu.org>
28478
28479 * Makefile.in: Don't rely on any scripts being executable.
28480 Always use $(SHELL) to run shell scripts.
28481
28482 * configure.ac: Always define ___main if using -nostdlib. This
28483 fixes tests on Cygwin.
28484
28485 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
28486
28487 UDF fix
28488
28489 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
28490 is in bytes and not in blocks
28491
28492 2009-06-11 Pavel Roskin <proski@gnu.org>
28493
28494 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
28495 warning.
28496
28497 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
28498
28499 * util/grub.d/30_os-prober.in: Fix a comment. Source
28500 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
28501 to set the root device. Place drivemap command in the generated
28502 chain entry.
28503
28504 2009-06-11 Pavel Roskin <proski@gnu.org>
28505
28506 * configure.ac: Remove host_m32. Issues with 64-bit utilities
28507 have long been resolved.
28508
28509 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
28510
28511 * util/grub.d/10_linux.in: Capitalise "Linux".
28512
28513 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
28514
28515 2009-06-11 Pavel Roskin <proski@gnu.org>
28516
28517 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
28518 fix a gcc warning and ensure that the function won't ever exit.
28519
28520 * kern/i386/ieee1275/init.c: Add missing prototype for
28521 grub_stop_floppy().
28522
28523 * loader/ieee1275/multiboot2.c [__i386__]: Include
28524 grub/cpu/multiboot.h.
28525
28526 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
28527 casts to short - they are not portable and cause warnings. Fix
28528 use of uninitialized values in input_buf. Use ARRAY_SIZE.
28529
28530 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
28531
28532 Drivemap fixes
28533
28534 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
28535 new function
28536 (grub_get_root_biosnumber_saved): new variable
28537 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
28538 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
28539 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
28540 %dx after the call if necessary
28541 * conf/common.rmk (pkglib_MODULES): remove boot.mod
28542 (boot_mod_SOURCES): remove
28543 (boot_mod_CFLAGS): remove
28544 (boot_mod_LDFLAGS): remove
28545 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
28546 (boot_mod_SOURCES): new variable
28547 (boot_mod_CFLAGS): likewise
28548 (boot_mod_LDFLAGS): likewise
28549 * conf/i386-efi.rmk: likewise
28550 * conf/i386-ieee1275.rmk: likewise
28551 * conf/i386-pc.rmk: likewise
28552 * conf/powerpc-ieee1275.rmk: likewise
28553 * conf/sparc64-ieee1275.rmk: likewise
28554 * conf/x86_64-efi.rmk: likewise
28555 * include/grub/i386/pc/biosnum.h: new file
28556 * lib/i386/pc/biosnum.c: likewise
28557 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
28558 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
28559 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
28560
28561 2009-06-10 Pavel Roskin <proski@gnu.org>
28562
28563 * io/gzio.c (test_header): Don't reuse one buffer for all data.
28564 Use separate variables. Read only the file size at the end, but
28565 not the checksum that we don't use.
28566
28567 * kern/file.c (grub_file_read): Use void pointer for the buffer.
28568 Adjust all callers.
28569
28570 * kern/ieee1275/openfw.c: Remove libc includes.
28571 * kern/ieee1275/cmain.c: Likewise.
28572 * include/grub/ieee1275/ieee1275.h: Likewise.
28573
28574 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
28575 compiler warnings.
28576
28577 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
28578
28579 * Makefile.in: Remove all trailing whitespace.
28580 * conf/i386-pc.rmk: Likewise.
28581 * conf/powerpc-ieee1275.rmk: Likewise.
28582 * conf/sparc64-ieee1275.rmk: Likewise.
28583 * docs/grub.texi: Likewise.
28584 * docs/texinfo.tex: Likewise.
28585 * disk/fs_uuid.c: Likewise.
28586 * disk/lvm.c: Likewise.
28587 * disk/scsi.c: Likewise.
28588 * disk/ata.c: Likewise.
28589 * disk/ieee1275/ofdisk.c: Likewise.
28590 * disk/i386/pc/biosdisk.c: Likewise.
28591 * disk/host.c: Likewise.
28592 * disk/raid.c: Likewise.
28593 * disk/efi/efidisk.c: Likewise.
28594 * disk/usbms.c: Likewise.
28595 * disk/memdisk.c: Likewise.
28596 * disk/loopback.c: Likewise.
28597 * kern/powerpc/dl.c: Likewise.
28598 * kern/device.c: Likewise.
28599 * kern/dl.c: Likewise.
28600 * kern/sparc64/dl.c: Likewise.
28601 * kern/ieee1275/ieee1275.c: Likewise.
28602 * kern/term.c: Likewise.
28603 * kern/fs.c: Likewise.
28604 * kern/i386/dl.c: Likewise.
28605 * kern/i386/pc/startup.S: Likewise.
28606 * kern/i386/pc/init.c: Likewise.
28607 * kern/i386/pc/mmap.c: Likewise.
28608 * kern/i386/pc/lzo1x.S: Likewise.
28609 * kern/i386/ieee1275/init.c: Likewise.
28610 * kern/i386/realmode.S: Likewise.
28611 * kern/i386/tsc.c: Likewise.
28612 * kern/partition.c: Likewise.
28613 * kern/corecmd.c: Likewise.
28614 * kern/file.c: Likewise.
28615 * kern/efi/efi.c: Likewise.
28616 * kern/efi/init.c: Likewise.
28617 * kern/efi/mm.c: Likewise.
28618 * kern/main.c: Likewise.
28619 * kern/err.c: Likewise.
28620 * kern/env.c: Likewise.
28621 * kern/disk.c: Likewise.
28622 * kern/generic/millisleep.c: Likewise.
28623 * kern/generic/rtc_get_time_ms.c: Likewise.
28624 * kern/misc.c: Likewise.
28625 * kern/parser.c: Likewise.
28626 * genmk.rb: Likewise.
28627 * configure.ac: Likewise.
28628 * boot/i386/pc/diskboot.S: Likewise.
28629 * boot/i386/pc/pxeboot.S: Likewise.
28630 * boot/i386/pc/boot.S: Likewise.
28631 * boot/i386/pc/lnxboot.S: Likewise.
28632 * boot/i386/pc/cdboot.S: Likewise.
28633 * parttool/pcpart.c: Likewise.
28634 * video/readers/tga.c: Likewise.
28635 * video/video.c: Likewise.
28636 * video/bitmap.c: Likewise.
28637 * lib/envblk.c: Likewise.
28638 * lib/i386/setjmp.S: Likewise.
28639 * fs/xfs.c: Likewise.
28640 * fs/afs.c: Likewise.
28641 * fs/fat.c: Likewise.
28642 * fs/ntfs.c: Likewise.
28643 * fs/udf.c: Likewise.
28644 * fs/affs.c: Likewise.
28645 * fs/iso9660.c: Likewise.
28646 * fs/hfs.c: Likewise.
28647 * fs/fshelp.c: Likewise.
28648 * fs/ext2.c: Likewise.
28649 * fs/jfs.c: Likewise.
28650 * fs/reiserfs.c: Likewise.
28651 * fs/hfsplus.c: Likewise.
28652 * fs/minix.c: Likewise.
28653 * fs/cpio.c: Likewise.
28654 * fs/sfs.c: Likewise.
28655 * fs/ufs.c: Likewise.
28656 * efiemu/prepare.c: Likewise.
28657 * efiemu/loadcore_common.c: Likewise.
28658 * efiemu/runtime/efiemu.sh: Likewise.
28659 * efiemu/runtime/efiemu.S: Likewise.
28660 * efiemu/runtime/efiemu.c: Likewise.
28661 * efiemu/pnvram.c: Likewise.
28662 * efiemu/main.c: Likewise.
28663 * efiemu/i386/pc/cfgtables.c: Likewise.
28664 * efiemu/i386/loadcore64.c: Likewise.
28665 * efiemu/i386/loadcore32.c: Likewise.
28666 * efiemu/loadcore.c: Likewise.
28667 * efiemu/symbols.c: Likewise.
28668 * efiemu/mm.c: Likewise.
28669 * include/grub/autoefi.h: Likewise.
28670 * include/grub/datetime.h: Likewise.
28671 * include/grub/term.h: Likewise.
28672 * include/grub/hfs.h: Likewise.
28673 * include/grub/lvm.h: Likewise.
28674 * include/grub/i386/tsc.h: Likewise.
28675 * include/grub/i386/linux.h: Likewise.
28676 * include/grub/i386/xnu.h: Likewise.
28677 * include/grub/i386/efiemu.h: Likewise.
28678 * include/grub/i386/pc/biosdisk.h: Likewise.
28679 * include/grub/i386/pc/memory.h: Likewise.
28680 * include/grub/i386/pc/vbe.h: Likewise.
28681 * include/grub/parttool.h: Likewise.
28682 * include/grub/video.h: Likewise.
28683 * include/grub/memory.h: Likewise.
28684 * include/grub/fs.h: Likewise.
28685 * include/grub/partition.h: Likewise.
28686 * include/grub/xnu.h: Likewise.
28687 * include/grub/efi/api.h: Likewise.
28688 * include/grub/efi/pe32.h: Likewise.
28689 * include/grub/efi/memory.h: Likewise.
28690 * include/grub/multiboot.h: Likewise.
28691 * include/grub/usbdesc.h: Likewise.
28692 * include/grub/multiboot2.h: Likewise.
28693 * include/grub/acpi.h: Likewise.
28694 * include/grub/efiemu/efiemu.h: Likewise.
28695 * include/grub/disk.h: Likewise.
28696 * include/grub/ieee1275/ieee1275.h: Likewise.
28697 * include/grub/net.h: Likewise.
28698 * include/grub/machoload.h: Likewise.
28699 * include/grub/macho.h: Likewise.
28700 * include/multiboot.h: Likewise.
28701 * genmoddep.awk: Likewise.
28702 * normal/main.c: Likewise.
28703 * normal/menu_entry.c: Likewise.
28704 * normal/menu_viewer.c: Likewise.
28705 * normal/completion.c: Likewise.
28706 * normal/cmdline.c: Likewise.
28707 * normal/misc.c: Likewise.
28708 * normal/datetime.c: Likewise.
28709 * bus/usb/usbtrans.c: Likewise.
28710 * bus/usb/ohci.c: Likewise.
28711 * bus/usb/uhci.c: Likewise.
28712 * bus/usb/usb.c: Likewise.
28713 * mmap/efi/mmap.c: Likewise.
28714 * mmap/i386/pc/mmap_helper.S: Likewise.
28715 * mmap/i386/pc/mmap.c: Likewise.
28716 * mmap/i386/mmap.c: Likewise.
28717 * mmap/i386/uppermem.c: Likewise.
28718 * mmap/mmap.c: Likewise.
28719 * commands/acpi.c: Likewise.
28720 * commands/echo.c: Likewise.
28721 * commands/blocklist.c: Likewise.
28722 * commands/loadenv.c: Likewise.
28723 * commands/usbtest.c: Likewise.
28724 * commands/boot.c: Likewise.
28725 * commands/parttool.c: Likewise.
28726 * commands/search.c: Likewise.
28727 * commands/cat.c: Likewise.
28728 * commands/i386/pc/play.c: Likewise.
28729 * commands/i386/pc/drivemap.c: Likewise.
28730 * commands/i386/pc/vbeinfo.c: Likewise.
28731 * commands/i386/pc/acpi.c: Likewise.
28732 * commands/i386/pc/vbetest.c: Likewise.
28733 * commands/ls.c: Likewise.
28734 * commands/cmp.c: Likewise.
28735 * commands/test.c: Likewise.
28736 * commands/efi/acpi.c: Likewise.
28737 * commands/gptsync.c: Likewise.
28738 * commands/help.c: Likewise.
28739 * partmap/amiga.c: Likewise.
28740 * partmap/apple.c: Likewise.
28741 * partmap/acorn.c: Likewise.
28742 * partmap/pc.c: Likewise.
28743 * partmap/sun.c: Likewise.
28744 * partmap/gpt.c: Likewise.
28745 * script/sh/lexer.c: Likewise.
28746 * script/sh/function.c: Likewise.
28747 * font/font.c: Likewise.
28748 * font/font_cmd.c: Likewise.
28749 * loader/powerpc/ieee1275/linux.c: Likewise.
28750 * loader/efi/chainloader.c: Likewise.
28751 * loader/multiboot_loader.c: Likewise.
28752 * loader/macho.c: Likewise.
28753 * loader/i386/multiboot.c: Likewise.
28754 * loader/i386/linux.c: Likewise.
28755 * loader/i386/pc/linux.c: Likewise.
28756 * loader/i386/pc/multiboot2.c: Likewise.
28757 * loader/i386/pc/chainloader.c: Likewise.
28758 * loader/i386/pc/xnu.c: Likewise.
28759 * loader/i386/bsd_trampoline.S: Likewise.
28760 * loader/i386/efi/linux.c: Likewise.
28761 * loader/i386/multiboot_elfxx.c: Likewise.
28762 * loader/i386/bsd_helper.S: Likewise.
28763 * loader/i386/bsd.c: Likewise.
28764 * loader/i386/linux_trampoline.S: Likewise.
28765 * loader/i386/xnu_helper.S: Likewise.
28766 * loader/i386/xnu.c: Likewise.
28767 * loader/i386/bsd_pagetable.c: Likewise.
28768 * loader/i386/multiboot_helper.S: Likewise.
28769 * loader/xnu.c: Likewise.
28770 * loader/xnu_resume.c: Likewise.
28771 * io/gzio.c: Likewise.
28772 * term/efi/console.c: Likewise.
28773 * term/terminfo.c: Likewise.
28774 * term/ieee1275/ofconsole.c: Likewise.
28775 * term/i386/pc/serial.c: Likewise.
28776 * term/i386/pc/vesafb.c: Likewise.
28777 * term/i386/pc/vga.c: Likewise.
28778 * term/usb_keyboard.c: Likewise.
28779 * term/gfxterm.c: Likewise.
28780 * aclocal.m4: Likewise.
28781 * util/lvm.c: Likewise.
28782 * util/grub.d/30_os-prober.in: Likewise.
28783 * util/grub.d/10_hurd.in: Likewise.
28784 * util/console.c: Likewise.
28785 * util/grub-macho2img.c: Likewise.
28786 * util/grub-probe.c: Likewise.
28787 * util/hostfs.c: Likewise.
28788 * util/i386/pc/grub-mkimage.c: Likewise.
28789 * util/i386/pc/grub-setup.c: Likewise.
28790 * util/i386/efi/grub-mkimage.c: Likewise.
28791 * util/grub-mkconfig.in: Likewise.
28792 * util/raid.c: Likewise.
28793 * util/resolve.c: Likewise.
28794 * util/grub-mkdevicemap.c: Likewise.
28795 * util/grub-emu.c: Likewise.
28796 * util/getroot.c: Likewise.
28797 * util/hostdisk.c: Likewise.
28798 * util/usb.c: Likewise.
28799 * util/grub-editenv.c: Likewise.
28800 * util/misc.c: Likewise.
28801
28802 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
28803
28804 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
28805 `genparttoollist.sh'.
28806 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
28807 Add `*.sh' to the list find searches for and change `mdate.sh'
28808 to `mdate-sh'.
28809
28810 2009-06-10 Pavel Roskin <proski@gnu.org>
28811
28812 * include/grub/multiboot2.h: Provide compatibility defines for
28813 multiboot2.h.
28814 * include/multiboot2.h: Include stdint.h only if needed, using
28815 angle brackets.
28816 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
28817 grub/multiboot2.h.
28818 * loader/ieee1275/multiboot2.c: Likewise.
28819 * loader/multiboot2.c: Likewise.
28820 * loader/multiboot_loader.c: Likewise.
28821
28822 * configure.ac: Use -nostdlib when probing for the target. It
28823 should not be required to have libc for the target.
28824
28825 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
28826 they fail without libc headers for the target.
28827 * include/grub/powerpc/libgcc.h: Use weak attribute for all
28828 exports.
28829 * include/grub/sparc64/libgcc.h: Likewise. Don't use
28830 preprocessor conditionals.
28831
28832 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
28833 build system doesn't need to be aware of the tar.c internals.
28834
28835 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
28836
28837 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
28838
28839 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
28840
28841 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
28842 disk limit to 26 for IDE, Virtio, Xen and SCSI.
28843
28844 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
28845
28846 * util/i386/pc/grub-install.in: Change the error message if UUIDs
28847 aren't available if ata.mod gets used.
28848
28849 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
28850
28851 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
28852 initialising controller.
28853 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
28854
28855 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
28856
28857 * util/i386/pc/grub-install.in: Add a parameter --disk-module
28858 to choose between ata and biosdisk module on i386-pc.
28859
28860 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
28861
28862 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
28863 Subclass and Programming Interface fields in terms of the 3 byte
28864 Class Code register.
28865 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
28866
28867 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
28868 interface is OHCI. Add grub_dprintf for symmetry with
28869 bus/usb/uhci.c.
28870 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
28871 interface is UHCI. Add interf variable for programming
28872 interface. Print interface with class/subclass.
28873
28874 * bus/usb/ohci.c: Set interf with correct field.
28875
28876 * bus/usb/uhci.c: Remove unneeded doubled lines.
28877 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
28878 Remove whitespace inside comment.
28879
28880 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
28881
28882 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
28883 as fallback an equivalent option without depth.
28884
28885 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
28886
28887 Not fail if unable to retrieve C/H/S on LBA disks
28888
28889 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
28890 if unable to retrieve C/H/S on LBA disks
28891
28892 2009-06-08 Pavel Roskin <proski@gnu.org>
28893
28894 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
28895 about aliasing.
28896
28897 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
28898
28899 * Makefile.in (uninstall): Remove all $lib_DATA files.
28900
28901 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
28902
28903 Bugfix: install on partitionless device
28904
28905 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
28906 is a whole disk
28907
28908 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
28909
28910 * Makefile.in (uninstall): Remove all $include_DATA files.
28911
28912 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
28913
28914 * commands/true.c: New file. Implement the true and false commands.
28915 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
28916 (true_mod_SOURCES): New variable.
28917 (true_mod_CFLAGS): Likewise.
28918 (true_mod_LDFLAGS): Likewise.
28919
28920 2009-06-05 Colin D Bennett <colin@gibibit.com>
28921
28922 Optimized font character lookup using binary search instead of linear
28923 search. Fonts now are required to have the character index ordered by
28924 code point.
28925
28926 * font/font.c (load_font_index): Verify that fonts have ordered
28927 character indices.
28928 (find_glyph): Use binary search instead of linear search to find a
28929 character in a font.
28930
28931 2009-06-05 Michael Scherer <misc@mandriva.org>
28932
28933 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
28934 uses case sensitive btree.
28935 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
28936 only for case insensitive filesystems.
28937
28938 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
28939
28940 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
28941 * conf/common.rmk (search_mod_CFLAGS): likewise
28942
28943 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28944
28945 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
28946 compensate a compiler bug
28947
28948 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28949
28950 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
28951 instead of '\b'
28952
28953 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28954
28955 Definitions for creating asm symbols with Apple's CC
28956
28957 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
28958 [APPLE_CC] (VARIABLE): likewise
28959
28960 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28961
28962 Disable lnxboot.img when compiled
28963 with Apple's CC
28964
28965 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
28966 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
28967 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
28968 [! APPLE_CC] (CODE_LENG): skip
28969 [! APPLE_CC] (setup_sects): likewise
28970 [! APPLE_CC]: skip filling
28971
28972 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28973
28974 Address in trampolines based on 32-bit registers when compiled
28975 with Apple's CC
28976
28977 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
28978 for addresses
28979 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
28980
28981 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28982
28983 Avoid aliases when compiling with Apple's CC for PCBIOS machine
28984
28985 * kern/misc.c [APPLE_CC] (memcpy): new function
28986 [APPLE_CC] (memmove): likewise
28987 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
28988 (memcpy): define alias conditionally on !APPLE_CC
28989 (memset): likewise
28990 (abort): likewise
28991 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
28992 APPLE_CC are defined
28993 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
28994 (grub_assert_fail): make prototype conditional
28995
28996 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28997
28998 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
28999
29000 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
29001 grub-macho2img
29002 (CLEANFILES): add grub-macho2img
29003 (grub_macho2img_SOURCES): new variable
29004 * kern/i386/pc/startup.S (bss_start): new variable
29005 (bss_end): likewise
29006 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
29007 * util/grub-macho2img.c: new file
29008
29009 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29010
29011 Use objconv when compiling with Apple's CC
29012
29013 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
29014 (efiemu64.o): likewise
29015 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
29016 when compiling with Apple's CC
29017 (efiemu64_s.o): likewise
29018 * configure.ac: check for objconv when compiling with Apple's CC
29019 * genmk.rb: use objconv for modules when compiled with Apple's CC
29020
29021 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29022
29023 Define segment as well as section when compiling with
29024 Apple's CC
29025
29026 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
29027 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
29028 (efiemu_convert_pointer): likewise
29029 (efiemu_set_virtual_address_map): likewise
29030 (efiemu_convert_pointer): likewise
29031 (efiemu_getcrc32): likewise
29032 (init_crc32_table): likewise
29033 (reflect): likewise
29034 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
29035 (GRUB_MOD_DEP): likewise
29036
29037 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29038
29039 Allow a compilation without -mcmodel=large
29040
29041 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
29042 when compiled without -mcmodel=large
29043 (filter_memory_map): remove memory post 4 GiB when compiled
29044 without -mcmodel=large
29045 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
29046 TARGET_CFLAGS when -mcmodel=large isn't supported
29047
29048 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29049
29050 Remove nested functions in efiemu core
29051
29052 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
29053
29054 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29055
29056 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
29057
29058 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
29059 temporary storage
29060 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
29061 using Apple's CC
29062 (grub_cpu_is_tsc_supported): likewise
29063 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
29064
29065 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29066
29067 Absolute addressing through constant with Apple's cc
29068
29069 * kern/i386/pc/startup.S: Define necessary constants
29070 and address through it when using ABS with Apple's CC
29071 * boot/i386/pc/diskboot.S: likewise
29072 * boot/i386/pc/boot.S: likewise
29073 * boot/i386/pc/lnxboot.S: likewise
29074 * boot/i386/pc/cdboot.S: likewise
29075 * mmap/i386/pc/mmap_helper.S: likewise
29076 * commands/i386/pc/drivemap_int13h.S: likewise
29077
29078 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29079
29080 Check if compiler is apple cc
29081
29082 * Makefile.in (ASFLAGS): new variable
29083 (TARGET_ASFLAGS): likewise
29084 (TARGET_MODULE_FORMAT): likewise
29085 (TARGET_APPLE_CC): likewise
29086 (OBJCONV): likewise
29087 (TARGET_IMG_CFLAGS): likewise
29088 (TARGET_CPPFLAGS): add includedir
29089 * configure.ac: call grub_apple_cc and grub_apple_target_cc
29090 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
29091 Check for linker script only if compiler isn't Apple's CC
29092 (TARGET_MODULE_FORMAT): set
29093 (TARGET_APPLE_CC): likewise
29094 (TARGET_ASFLAGS): likewise
29095 (ASFLAGS): likewise
29096 Check for objcopy only if compiler isn't Apple's CC
29097 Check for BSS symbol only if compiler isn't Apple's CC
29098 * genmk.rb: adapt nm options if we use Apple's utils
29099 * aclocal.m4 (grub_apple_cc): new test
29100 (grub_apple_target_cc): likewise
29101
29102 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29103
29104 Simplify sed expressions and improve awk
29105
29106 * Makefile.in (install-local): simplify sed expression
29107 * gencmdlist.sh: likewise
29108 * genmoddep.awk: avoid adding module as a dependency of itself
29109
29110 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29111
29112 Add missing start symbols
29113
29114 * boot/i386/pc/boot.S: add start
29115 * boot/i386/pc/pxeboot.S: likewise
29116
29117 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29118
29119 Fix wrong assumptions with grub-mkimage on EFI
29120
29121 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
29122 (relocate_addresses): consider both r_addend and value at offset
29123 (make_mods_section): zerofill modinfo and header
29124 (convert_elf): write prefix here
29125
29126 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29127
29128 Use .asciz instead of .string
29129
29130 * i386/pc/diskboot.S: use .asciz instead of .string
29131 * i386/pc/boot.S: likewise
29132 * include/grub/dl.h (GRUB_MOD_DEP): likewise
29133 (GRUB_MOD_NAME): likewise
29134
29135 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29136
29137 gfxpayload support
29138
29139 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
29140 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
29141 (grub_video_setup): remove
29142 (grub_video_set_mode): new prototype
29143 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
29144 (vid_mode): remove
29145 (linux_vesafb_res): compile only on PCBIOS
29146 (grub_linux_boot): support gfxpayload
29147 * loader/i386/pc/xnu.c (video_hook): new function
29148 (grub_xnu_set_video): support gfxpayload
29149 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
29150 (DEFAULT_VIDEO_HEIGHT): likewise
29151 (DEFAULT_VIDEO_FLAGS): likewise
29152 (DEFAULT_VIDEO_MODE): new definition
29153 (video_hook): new function
29154 (grub_gfxterm_init): use grub_video_set_mode
29155 * util/grub.d/30_os-prober.in: remove explicit modesetting before
29156 loading xnu
29157 * video/video.c (grub_video_setup): removed
29158 (grub_video_set_mode): new function based on grub_gfxterm_init and
29159 grub_video_setup
29160
29161 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29162
29163 Avoid calling biosdisk in drivemap
29164
29165 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
29166 (revparse_biosdisk): likewise
29167 (list_mappings): derive name from id directly
29168 (grub_cmd_drivemap): use tryparse_diskstring
29169
29170 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29171
29172 Script fixes
29173
29174 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
29175 (grub_lexer_param): add tokenonhold
29176 (grub_script_create_cmdline): remove cmdline. All callers updated
29177 (grub_script_function_create): make functionname
29178 grub_script_arg. All callers updated
29179 (grub_script_execute_argument_to_string): new prototype
29180 * kern/parser.c (state_transitions): reorder
29181 (grub_parser_cmdline_state): fix a bug and make more compact
29182 * script/sh/execute.c (grub_script_execute_argument_to_string):
29183 make global
29184 (grub_script_execute_cmdline): use new format
29185 * script/sh/function.c (grub_script_function_create): make functionname
29186 grub_script_arg. All callers updated
29187 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
29188 (grub_script_yylex): remove
29189 (grub_script_yylex2): renamed to ...
29190 (grub_script_yylex): ...renamed
29191 parse the expressions like a${b}c
29192 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
29193 (GRUB_PARSER_TOKEN_VAR): remove
29194 (GRUB_PARSER_TOKEN_NAME): likewise
29195 ("if"): declare as typeless
29196 ("while"): likewise
29197 ("function"): likewise
29198 ("else"): likewise
29199 ("then"): likewise
29200 ("fi"): likewise
29201 (text): remove
29202 (argument): likewise
29203 (script): accept empty scripts and make exit on error
29204 (arguments): use GRUB_PARSER_TOKEN_ARG
29205 (function): likewise
29206 (command): move error handling to script
29207 (menuentry): move grub_script_lexer_ref before
29208 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
29209 argument. All callers updated
29210
29211 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
29212
29213 Prevent GRUB from probing floppies during boot.
29214
29215 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
29216 * commands/search.c (options): Add --no-floppy.
29217 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
29218 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
29219 --no-floppy when searching for UUIDs.
29220
29221 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
29222
29223 Simplify the code duplication in commands/search.c.
29224
29225 * commands/search.c (search_label, search_fs_uuid): Merge into ...
29226 (search_fs): ... this. Update all users.
29227
29228 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
29229
29230 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
29231
29232 2009-05-28 Pavel Roskin <proski@gnu.org>
29233
29234 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
29235 Remove the original symlink explicitly.
29236
29237 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
29238 just one slash. That's how grub_fshelp_find_file() does it.
29239
29240 2009-05-26 Pavel Roskin <proski@gnu.org>
29241
29242 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
29243 to `str'.
29244
29245 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
29246 possibly unused.
29247
29248 2009-05-25 Christian Franke <franke@computer.org>
29249
29250 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
29251 register.
29252 (grub_atapi_identify): Add wait after drive select.
29253 (grub_ata_identify): Do more strict status register check before
29254 calling grub_atapi_identify (). Suppress error message if status
29255 register is 0x00 after command failure. Add status register
29256 check after PIO read to avoid bogus identify due to stuck DRQ.
29257 Thanks to Pavel Roskin for testing.
29258 (grub_device_initialize): Remove unsafe status register check.
29259 Thanks to 'phcoder' for problem report and patch.
29260 Prevent sign extension in debug message.
29261
29262 2009-05-23 Colin D Bennett <colin@gibibit.com>
29263
29264 Cleaned up `include/grub/normal.h'. Grouped prototypes by
29265 definition file, and functions defined in `normal/menu.c' have had
29266 their prototypes moved to `include/grub/menu.h' for consistency.
29267
29268 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
29269 from normal.h.
29270 (grub_menu_get_entry): Likewise.
29271 (grub_menu_get_timeout): Likewise.
29272 (grub_menu_set_timeout): Likewise.
29273 (grub_menu_execute_entry): Likewise.
29274 (grub_menu_execute_with_fallback): Likewise.
29275 (grub_menu_entry_run): Likewise.
29276
29277 * include/grub/normal.h: Re-ordered and grouped function
29278 prototypes by file that the function is defined in.
29279 (grub_menu_execute_callback): Removed; moved to menu.h.
29280 (grub_menu_get_entry): Likewise.
29281 (grub_menu_get_timeout): Likewise.
29282 (grub_menu_set_timeout): Likewise.
29283 (grub_menu_execute_entry): Likewise.
29284 (grub_menu_execute_with_fallback): Likewise.
29285 (grub_menu_entry_run): Likewise.
29286 (grub_menu_addentry): Renamed from this ...
29287 (grub_normal_add_menu_entry): ... to this.
29288
29289 * normal/main.c (grub_menu_addentry): Renamed from this ...
29290 (grub_normal_add_menu_entry): ... to this.
29291
29292 * script/sh/execute.c (grub_script_execute_menuentry): Update
29293 reference to renamed grub_menu_addentry function.
29294
29295 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
29296
29297 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
29298
29299 2009-05-22 Pavel Roskin <proski@gnu.org>
29300
29301 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
29302 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
29303 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
29304 compiling for the i386 targets, but not for the utilities.
29305
29306 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
29307 to grub_uint8_t.
29308 (grub_root_drive): Likewise.
29309 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
29310 remove alignment.
29311 (grub_root_drive): Change size to byte.
29312 (grub_start_addr): Remove.
29313 (grub_end_addr): Likewise.
29314 (grub_apm_bios_info): Likewise.
29315
29316 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
29317
29318 * normal/i386: Remove.
29319 * normal/powerpc: Likewise.
29320 * normal/sparc64: Likewise.
29321 * normal/x86_64: Likewise.
29322
29323 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
29324
29325 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
29326 * loader/i386/linux_trampoline.S: Fix indentation
29327 * loader/i386/xnu_helper.S: Likewise
29328
29329 2009-05-18 Colin D Bennett <colin@gibibit.com>
29330
29331 Display error messages when parsing a Lua statement fails.
29332 Previously, executing a syntactically invalid statement like
29333 ")foo" or "bar;" would silently fail.
29334
29335 * script/lua/grub_main.c (handle_lua_error): New function.
29336 (grub_lua_parse_line): Improved reporting of Lua parser and
29337 execution errors.
29338
29339 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
29340
29341 Remove -Werror which causes build to fail on some systems
29342
29343 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
29344 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
29345 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
29346
29347 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
29348
29349 trampoline for linux on 64-bit platform
29350
29351 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
29352 loader/i386/efi/linux_trampoline.S
29353 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
29354 declaration
29355 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
29356 here
29357 * loader/i386/linux_trampoline.S: moved here
29358 * loader/i386/efi/linux.c (allocate_pages): reserve space for
29359 trampoline
29360 (jumpvector): removed
29361 (grub_linux_trampoline_start): new declaration
29362 (grub_linux_trampoline_end): likewise
29363 (grub_linux_boot): use trampoline when on 64-bit platform
29364 * loader/i386/linux.c: likewise
29365
29366 2009-05-16 Pavel Roskin <proski@gnu.org>
29367
29368 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
29369 const to avoid a warning.
29370 (grub_lua_setenv): Likewise.
29371 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
29372 lmsg to fix a warning.
29373
29374 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
29375
29376 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
29377 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29378 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
29379 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29380 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
29381 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29382 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
29383 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29384
29385 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
29386
29387 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
29388
29389 2009-05-16 Bean <bean123ch@gmail.com>
29390
29391 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
29392 (lua_mod_SOURCES): New variable.
29393 (lua_mod_CFLAGS): Likewise.
29394 (lua_mod_LDFLAGS): Likewise.
29395
29396 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
29397 (setjmp_mod_SOURCES): New variable.
29398 (setjmp_mod_CFLAGS): Likewise.
29399 (setjmp_LDFLAGS): Likewise.
29400
29401 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
29402 (setjmp_mod_SOURCES): New variable.
29403 (setjmp_mod_CFLAGS): Likewise.
29404 (setjmp_LDFLAGS): Likewise.
29405
29406 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
29407 (setjmp_mod_SOURCES): New variable.
29408 (setjmp_mod_CFLAGS): Likewise.
29409 (setjmp_LDFLAGS): Likewise.
29410
29411 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
29412 (setjmp_mod_SOURCES): New variable.
29413 (setjmp_mod_CFLAGS): Likewise.
29414 (setjmp_LDFLAGS): Likewise.
29415
29416 * normal/i386/setjmp.S: Moved from here ...
29417 * lib/i386/setjmp.S: ... Moved here
29418 * normal/x86_64/setjmp.S: Moved from here ...
29419 * lib/x86_64/setjmp.S: ... Moved here
29420 * normal/powerpc/setjmp.S: Moved from here ...
29421 * lib/powerpc/setjmp.S: ... Moved here
29422 * normal/sparc64/setjmp.S: Moved from here ...
29423 * lib/sparc64/setjmp.S: ... Moved here
29424
29425 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
29426 returns_twice in mingw.
29427
29428 * script/lua/grub_lib.c: New file.
29429 * script/lua/grub_lib.h: Likewise.
29430 * script/lua/grub_lua.h: Likewise.
29431 * script/lua/grub_main.c: Likewise.
29432 * script/lua/lapi.c: Likewise.
29433 * script/lua/lapi.h: Likewise.
29434 * script/lua/lauxlib.c: Likewise.
29435 * script/lua/lauxlib.h: Likewise.
29436 * script/lua/lbaselib.c: Likewise.
29437 * script/lua/lcode.c: Likewise.
29438 * script/lua/lcode.h: Likewise.
29439 * script/lua/ldblib.c: Likewise.
29440 * script/lua/ldebug.c: Likewise.
29441 * script/lua/ldebug.h: Likewise.
29442 * script/lua/ldo.c: Likewise.
29443 * script/lua/ldo.h: Likewise.
29444 * script/lua/ldump.c: Likewise.
29445 * script/lua/lfunc.c: Likewise.
29446 * script/lua/lfunc.h: Likewise.
29447 * script/lua/lgc.c: Likewise.
29448 * script/lua/lgc.h: Likewise.
29449 * script/lua/linit.c: Likewise.
29450 * script/lua/liolib.c: Likewise.
29451 * script/lua/llex.c: Likewise.
29452 * script/lua/llex.h: Likewise.
29453 * script/lua/llimits.h: Likewise.
29454 * script/lua/lmathlib.c: Likewise.
29455 * script/lua/lmem.c: Likewise.
29456 * script/lua/lmem.h: Likewise.
29457 * script/lua/loadlib.c: Likewise.
29458 * script/lua/lobject.c: Likewise.
29459 * script/lua/lobject.h: Likewise.
29460 * script/lua/lopcodes.c: Likewise.
29461 * script/lua/lopcodes.h: Likewise.
29462 * script/lua/loslib.c: Likewise.
29463 * script/lua/lparser.c: Likewise.
29464 * script/lua/lparser.h: Likewise.
29465 * script/lua/lstate.c: Likewise.
29466 * script/lua/lstate.h: Likewise.
29467 * script/lua/lstring.c: Likewise.
29468 * script/lua/lstring.h: Likewise.
29469 * script/lua/lstrlib.c: Likewise.
29470 * script/lua/ltable.c: Likewise.
29471 * script/lua/ltable.h: Likewise.
29472 * script/lua/ltablib.c: Likewise.
29473 * script/lua/ltm.c: Likewise.
29474 * script/lua/ltm.h: Likewise.
29475 * script/lua/lua.h: Likewise.
29476 * script/lua/luaconf.h: Likewise.
29477 * script/lua/lualib.h: Likewise.
29478 * script/lua/lundump.c: Likewise.
29479 * script/lua/lundump.h: Likewise.
29480 * script/lua/lvm.c: Likewise.
29481 * script/lua/lvm.h: Likewise.
29482 * script/lua/lzio.c: Likewise.
29483 * script/lua/lzio.h: Likewise.
29484
29485 2009-05-16 Bean <bean123ch@gmail.com>
29486
29487 * include/grub/kernel.h (grub_module_header_types): Add type
29488 OBJ_TYPE_CONFIG.
29489
29490 * kern/main.c (grub_load_config): New function.
29491 (grub_main): Call grub_load_config to read boot config.
29492
29493 * grub-mkimage (generate_image): New parameter config_path.
29494 (options): New option --config.
29495 (main): Parse --config option, and pass it to generate_image.
29496
29497 2009-05-14 Christian Franke <franke@computer.org>
29498
29499 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
29500 This fixes build on Cygwin.
29501
29502 2009-05-14 Pavel Roskin <proski@gnu.org>
29503
29504 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
29505 jump. This saves two bytes, so the typical case of 2 swapped
29506 drives would fit 32 bytes.
29507
29508 2009-05-13 Pavel Roskin <proski@gnu.org>
29509
29510 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
29511 grub_uint32_t to avoid a warning.
29512
29513 * loader/i386/linux.c (allocate_pages): When assigning
29514 real_mode_mem, cast through grub_size_t to fix a warning. The
29515 code already makes sure that the value would fit a pointer.
29516 (grub_linux_setup_video): Cast render_target->data to
29517 grub_size_t to fix a warning.
29518
29519 2009-05-13 Javier Martín <lordhabbit@gmail.com>
29520
29521 * commands/i386/pc/drivemap.c: New file - implement drivemap
29522 command.
29523 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
29524 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
29525
29526 2009-05-13 Pavel Roskin <proski@gnu.org>
29527
29528 * util/i386/pc/grub-setup.c (setup): Remove unused variable
29529 embedding_area_exists.
29530
29531 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
29532
29533 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
29534 it easier to understand / work with.
29535 Improve warning messages for cases where there's no embedding area,
29536 or when it is too small (or core.img too large).
29537
29538 2009-05-13 Pavel Roskin <proski@gnu.org>
29539
29540 * loader/i386/pc/multiboot2.c: Add necessary includes for
29541 grub_multiboot2_real_boot().
29542
29543 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
29544 PX record is always little-endian. We only need the lower 2
29545 bytes of the mode.
29546
29547 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
29548 facilitate code reuse.
29549 (grub_cpio_mount): Use "struct head", not a char buffer. This
29550 fixes a warning reported by gcc 4.4.
29551
29552 * kernel/disk.c (grub_disk_read): Use void pointer for the
29553 buffer.
29554 (grub_disk_write): Use const void pointer for the buffer.
29555 Adjust all callers. Remove unnecessary casts.
29556
29557 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
29558
29559 * util/i386/pc/grub-install.in: Update copyright year.
29560
29561 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
29562
29563 gptsync
29564
29565 * commands/gptsync.c: new file
29566 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
29567 (gptsync_mod_SOURCES): new variable
29568 (gptsync_mod_CFLAGS): likewise
29569 (gptsync_mod_LDFLAGS): likewise
29570 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
29571 new definition
29572 (GRUB_PC_PARTITION_TYPE_HFS): likewise
29573 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
29574 * conf/i386-ieee1275.rmk: likewise
29575 * conf/i386-pc.rmk: likewise
29576 * conf/powerpc-ieee1275.rmk: likewise
29577
29578 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
29579
29580 Fixed grub-emu
29581
29582 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
29583 (grub_dl_ref): likewise
29584
29585 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
29586
29587 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
29588 split in two functions (one for msdos and one for gpt).
29589
29590 2009-05-08 Pavel Roskin <proski@gnu.org>
29591
29592 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
29593 not modified.
29594
29595 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
29596 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
29597 Initialize them with -1. Add sanity check for bad1. Eliminate
29598 nerr variable.
29599
29600 2009-05-08 David S. Miller <davem@davemloft.net>
29601
29602 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
29603
29604 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
29605
29606 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
29607 existence.
29608
29609 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
29610
29611 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
29612 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
29613
29614 2009-05-05 David S. Miller <davem@davemloft.net>
29615
29616 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
29617
29618 2009-05-05 Pavel Roskin <proski@gnu.org>
29619
29620 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
29621 of grub_dl_ref() and grub_dl_unref().
29622 * commands/parttool.c: Remove preprocessor conditionals around
29623 grub_dl_ref() and grub_dl_unref().
29624 * fs/affs.c: Likewise.
29625 * fs/afs.c: Likewise.
29626 * fs/cpio.c: Likewise.
29627 * fs/ext2.c: Likewise.
29628 * fs/fat.c: Likewise.
29629 * fs/hfs.c: Likewise.
29630 * fs/hfsplus.c: Likewise.
29631 * fs/iso9660.c: Likewise.
29632 * fs/jfs.c: Likewise.
29633 * fs/minix.c: Likewise.
29634 * fs/ntfs.c: Likewise.
29635 * fs/reiserfs.c: Likewise.
29636 * fs/sfs.c: Likewise.
29637 * fs/udf.c: Likewise.
29638 * fs/ufs.c: Likewise.
29639 * fs/xfs.c: Likewise.
29640 * include/grub/dl.h: Likewise.
29641 * loader/xnu.c: Likewise.
29642
29643 2009-05-04 Pavel Roskin <proski@gnu.org>
29644
29645 * commands/acpi.c: Remove unused variable my_mod.
29646 * partmap/amiga.c: Likewise.
29647 * partmap/apple.c: Likewise.
29648 * partmap/gpt.c: Likewise.
29649 * partmap/pc.c: Likewise.
29650 * partmap/sun.c: Likewise.
29651 * term/gfxterm.c: Likewise.
29652 * term/i386/pc/vesafb.c: Likewise.
29653 * term/i386/pc/vga.c: Likewise.
29654
29655 2009-05-04 David S. Miller <davem@davemloft.net>
29656
29657 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
29658 pointer args to grub_ieee1275_get_property().
29659
29660 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
29661
29662 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
29663 devices, and do not traverse down under controller nodes.
29664
29665 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
29666 (grub_ofdisk_open): Use it to un-escape "," characters.
29667 * kern/disk.c (find_part_sep): New.
29668 (grub_disk_open): Use it to find the first non-escaped ','
29669 character in the disk name.
29670 * util/ieee1275/devicemap.c (escape_of_path): New.
29671 (grub_util_emit_devicemap_entry): Use it.
29672 * util/sparc64/ieee1275/grub-install.in: Update script to
29673 strip partition specifiers properly by not triggering on
29674 '\' escaped ',' characters.
29675
29676 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29677
29678 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
29679 to 0x300.
29680 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
29681 resolutions.
29682 (linux_vesafb_modes): Add a lot of additional modes to the list (based
29683 on documentation from Wikipedia).
29684
29685 2009-05-04 Pavel Roskin <proski@gnu.org>
29686
29687 * disk/ata.c: Spelling fixes.
29688 * disk/raid.c: Likewise.
29689 * disk/usbms.c: Likewise.
29690 * disk/dmraid_nvidia.c: Likewise.
29691 * kern/ieee1275/openfw.c: Likewise.
29692 * kern/ieee1275/init.c: Likewise.
29693 * kern/ieee1275/cmain.c: Likewise.
29694 * boot/i386/pc/cdboot.S: Likewise.
29695 * video/readers/png.c: Likewise.
29696 * video/i386/pc/vbe.c: Likewise.
29697 * fs/udf.c: Likewise.
29698 * fs/hfs.c: Likewise.
29699 * fs/reiserfs.c: Likewise.
29700 * efiemu/runtime/efiemu.c: Likewise.
29701 * efiemu/main.c: Likewise.
29702 * efiemu/mm.c: Likewise.
29703 * include/grub/elf.h: Likewise.
29704 * include/grub/xnu.h: Likewise.
29705 * include/grub/usbdesc.h: Likewise.
29706 * include/grub/usb.h: Likewise.
29707 * include/grub/script_sh.h: Likewise.
29708 * include/grub/lib/LzmaEnc.h: Likewise.
29709 * include/grub/efiemu/efiemu.h: Likewise.
29710 * include/grub/command.h: Likewise.
29711 * normal/menu.c: Likewise.
29712 * normal/main.c: Likewise.
29713 * normal/datetime.c: Likewise.
29714 * bus/usb/uhci.c: Likewise.
29715 * mmap/i386/uppermem.c: Likewise.
29716 * mmap/mmap.c: Likewise.
29717 * commands/acpi.c: Likewise.
29718 * commands/test.c: Likewise.
29719 * partmap/apple.c: Likewise.
29720 * font/font.c: Likewise.
29721 * loader/sparc64/ieee1275/linux.c: Likewise.
29722 * loader/macho.c: Likewise.
29723 * loader/i386/bsd_trampoline.S: Likewise.
29724 * loader/i386/bsd.c: Likewise.
29725 * loader/xnu.c: Likewise.
29726 * term/i386/pc/vesafb.c: Likewise.
29727 * term/usb_keyboard.c: Likewise.
29728 * util/resolve.c: Likewise.
29729 * util/getroot.c: Likewise.
29730
29731 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
29732
29733 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
29734
29735 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29736
29737 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
29738 build error.
29739
29740 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29741
29742 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
29743 parameter only available on BIOS.
29744
29745 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
29746
29747 Removed wrong semicolon in declaration
29748
29749 * grub/misc.h (grub_dprintf): remove semicolon
29750
29751 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29752
29753 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
29754 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
29755 is done by grub_cmd_linux() now).
29756 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
29757 restore video to text mode.
29758 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
29759 indicates lack of "vga=" parameter. "vga=0" is mapped to
29760 `GRUB_LINUX_VID_MODE_NORMAL'.
29761
29762 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
29763
29764 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
29765 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
29766 and `normal/script.c'. Add `kern/rescue_reader.c',
29767 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
29768 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
29769 `grub_script.tab.c'.
29770
29771 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29772 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29773 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29774 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29775 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29776
29777 * Makefile.in: Remove duplicated 2008 in Copyright line.
29778
29779 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29780
29781 * util/misc.c (grub_util_warn): New function. Emits a warning
29782 unconditionally.
29783 * include/grub/util/misc.h (grub_util_warn): New declaration.
29784
29785 * util/i386/pc/grub-install.in: Understand --force and pass it down
29786 to grub-setup.
29787
29788 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
29789 down to setup().
29790 (setup): Improve error messages and add warnings when requested to
29791 install in odd layouts. Refuse to install using blocklists unless
29792 --force was set.
29793
29794 2009-05-04 martin f. krafft <madduck@madduck.net>
29795
29796 * disk/raid.c (grub_raid_scan_device): Improve debug message.
29797
29798 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
29799
29800 Updated copyright year
29801
29802 * fs/hfsplus.c: updated copyright year
29803
29804 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
29805
29806 HFS+ UUID
29807
29808 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
29809 in the space previously used by unused3
29810 (grub_hfsplus_uuid): new function
29811 (grub_hfsplus_fs): added uuid field
29812
29813 2009-05-03 Pavel Roskin <proski@gnu.org>
29814
29815 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
29816 suppress warnings. It's no longer needed.
29817 * disk/host.c: Likewise.
29818 * disk/ata_pthru.c: Likewise.
29819 * disk/loopback.c: Likewise.
29820 * hook/datehook.c: Likewise.
29821 * parttool/pcpart.c: Likewise.
29822 * fs/i386/pc/pxe.c: Likewise.
29823 * fs/ntfscomp.c: Likewise.
29824 * efiemu/main.c: Likewise.
29825 * mmap/mmap.c: Likewise.
29826 * commands/crc.c: Likewise.
29827 * commands/hexdump.c: Likewise.
29828 * commands/hdparm.c: Likewise.
29829 * commands/acpi.c: Likewise.
29830 * commands/echo.c: Likewise.
29831 * commands/minicmd.c: Likewise.
29832 * commands/blocklist.c: Likewise.
29833 * commands/memrw.c: Likewise.
29834 * commands/loadenv.c: Likewise.
29835 * commands/usbtest.c: Likewise.
29836 * commands/lsmmap.c: Likewise.
29837 * commands/boot.c: Likewise.
29838 * commands/parttool.c: Likewise.
29839 * commands/configfile.c: Likewise.
29840 * commands/search.c: Likewise.
29841 * commands/ieee1275/suspend.c: Likewise.
29842 * commands/cat.c: Likewise.
29843 * commands/i386/pc/pxecmd.c: Likewise.
29844 * commands/i386/pc/play.c: Likewise.
29845 * commands/i386/pc/halt.c: Likewise.
29846 * commands/i386/pc/vbeinfo.c: Likewise.
29847 * commands/i386/pc/vbetest.c: Likewise.
29848 * commands/lspci.c: Likewise.
29849 * commands/date.c: Likewise.
29850 * commands/handler.c: Likewise.
29851 * commands/ls.c: Likewise.
29852 * commands/test.c: Likewise.
29853 * commands/cmp.c: Likewise.
29854 * commands/efi/loadbios.c: Likewise.
29855 * commands/efi/fixvideo.c: Likewise.
29856 * commands/halt.c: Likewise.
29857 * commands/help.c: Likewise.
29858 * commands/reboot.c: Likewise.
29859 * hello/hello.c: Likewise.
29860 * script/sh/main.c: Likewise.
29861 * loader/xnu.c: Likewise.
29862 * term/terminfo.c: Likewise.
29863 * term/i386/pc/serial.c: Likewise.
29864 * term/usb_keyboard.c: Likewise.
29865
29866 2009-05-03 David S. Miller <davem@davemloft.net>
29867
29868 * normal/menu.c: Include grub/parser.h
29869
29870 2009-05-03 Pavel Roskin <proski@gnu.org>
29871
29872 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
29873 not char*.
29874 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
29875 Suggested by Javier Martín <lordhabbit@gmail.com>
29876
29877 * util/i386/pc/grub-mkrescue.in: Allow for the case when
29878 efiemu??.o doesn't exist.
29879 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
29880 copying.
29881
29882 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
29883
29884 FreeBSD 64-bit support
29885
29886 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
29887 and loader/i386/bsd_trampoline.S
29888 (bsd_mod_ASFLAGS): new variable
29889 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
29890 (FREEBSD_MODTYPE_KERNEL64): likewise
29891 (grub_bsd64_trampoline_start): likewise
29892 (grub_bsd64_trampoline_end): likewise
29893 (grub_bsd64_trampoline_selfjump): likewise
29894 (grub_bsd64_trampoline_gdt): likewise
29895 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
29896 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
29897 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
29898 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
29899 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
29900 of "attrib" member
29901 * loader/i386/bsd_pagetable.c: new file
29902 * loader/i386/bsd_trampoline.S: likewise
29903 * loader/i386/bsd.c (ALIGN_QWORD): new macro
29904 (ALIGN_VAR): likewise
29905 (entry_hi): new variable
29906 (kern_end_mdofs): likewise
29907 (is_64bit): likewise
29908 (grub_freebsd_add_meta): use ALIGN_VAR
29909 (grub_e820_mmap): new declaration
29910 (grub_freebsd_add_mmap): new function
29911 (grub_freebsd_add_meta_module): support 64 bit kernels
29912 (grub_freebsd_list_modules): use ALIGN_VAR
29913 (gdt_descriptor): new declaration
29914 (grub_freebsd_boot): support 64 bit kernels
29915 (grub_bsd_elf64_hook): new function
29916 (grub_bsd_load_elf): support elf64
29917
29918 2009-05-03 Bean <bean123ch@gmail.com>
29919
29920 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
29921 after we get the result of if statement.
29922
29923 2009-05-03 Bean <bean123ch@gmail.com>
29924
29925 * Makefile.in (enable_efiemu): New variable.
29926
29927 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
29928 set.
29929 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
29930 path.
29931 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
29932 path, add -mno-red-zone option.
29933 (efiemu64_s.o): Likewise.
29934 (efiemu64.o): Use macro $^ for source file.
29935
29936 * configure.ac (--enable-efiemu): New option.
29937
29938 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
29939
29940 xnu support
29941
29942 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
29943 (pkglib_MODULES): add xnu.mod
29944 (xnu_mod_SOURCES): new variable
29945 (xnu_mod_CFLAGS): likewise
29946 (xnu_mod_LDFLAGS): likewise
29947 (xnu_mod_ASFLAGS): likewise
29948 * conf/i386-pc.rmk: likewise
29949 * conf/x86_64-efi.rmk: likewise
29950 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
29951 new declaration
29952 * include/grub/i386/macho.h: new file
29953 * include/grub/i386/xnu.h: likewise
29954 * include/grub/macho.h: likewise
29955 * include/grub/machoload.h: likewise
29956 * include/grub/x86_64/macho.h: likewise
29957 * include/grub/x86_64/xnu.h: likewise
29958 * include/grub/xnu.h: likewise
29959 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
29960 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
29961 * loader/i386/efi/xnu.c: new file
29962 * loader/i386/pc/xnu.c: likewise
29963 * loader/i386/xnu.c: likewise
29964 * loader/i386/xnu_helper.S: likewise
29965 * loader/macho.c: likewise
29966 * loader/xnu.c: likewise
29967 * loader/xnu_resume.c: likewise
29968 * util/grub-dumpdevtree: likewise
29969 * include/grub/i386/pit.h: include grub/err.h
29970 (grub_pit_wait): export
29971 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
29972
29973 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
29974
29975 Efiemu
29976
29977 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
29978 _linux_efi, linux_efi.
29979 new files in grub-emu
29980 new targets efiemu32.o and efiemu64.o
29981 * loader/linux_normal_efiemu.c: likewise
29982 * loader/i386/efi/linux.c: added preliminary efiemu support
29983 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
29984 files to copy
29985 * include/grub/autoefi.h: new file
29986 * include/grub/i386/efiemu.h: likewise
29987 * include/grub/i386/pc/efiemu.h: likewise
29988 * include/grub/efi/api.h: add LL suffix when necessary
29989 new definitions relating to tables
29990 * include/grub/efiemu/efiemu.h: new file
29991 * include/grub/efiemu/runtime.h: likewise
29992 * efiemu/prepare.c: likewise
29993 * efiemu/loadcore_common.c: likewise
29994 * efiemu/loadcore64.c: likewise
29995 * efiemu/runtime/efiemu.sh: likewise
29996 * efiemu/runtime/efiemu.S: likewise
29997 * efiemu/runtime/efiemu.c: likewise
29998 * efiemu/runtime/config.h: likewise
29999 * efiemu/prepare32.c: likewise
30000 * efiemu/main.c: likewise
30001 * efiemu/modules/pnvram.c: likewise
30002 * efiemu/modules/i386: likewise
30003 * efiemu/modules/i386/pc: likewise
30004 * efiemu/modules/acpi.c: likewise
30005 * efiemu/i386/pc/cfgtables.c: likewise
30006 * efiemu/i386/loadcore64.c: likewise
30007 * efiemu/i386/loadcore32.c: likewise
30008 * efiemu/prepare64.c: likewise
30009 * efiemu/loadcore.c: likewise
30010 * efiemu/symbols.c: likewise
30011 * efiemu/mm.c: likewise
30012 * efiemu/loadcore32.c: likewise
30013
30014 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30015
30016 ACPI spoofing
30017
30018 * commands/acpi.c: new file
30019 * commands/i386/pc/acpi.c: likewise
30020 * commands/efi/acpi.c: likewise
30021 * include/grub/acpi.h: likewise
30022 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
30023 (acpi_mod_SOURCES): new variable
30024 (acpi_mod_CFLAGS): likewise
30025 (acpi_mod_LDFLAGS): likewise
30026 * conf/i386-efi.rmk: likewise
30027 * conf/x86_64-efi.rmk: likewise
30028
30029 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30030
30031 Missing part from mmap patch
30032
30033 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
30034 (grub_mmap_unregister)
30035 (grub_mmap_free_and_unregister): use grub_mmap_register
30036
30037 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30038
30039 Mmap services
30040
30041 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
30042 * loader/i386/linux.c (find_mmap_size): likewise
30043 (allocate_pages): likewise
30044 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
30045 (grub_fill_multiboot_mmap): likewise
30046 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
30047 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
30048 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
30049 (OPENBSD_MMAP_RESERVED): likewise
30050 * include/grub/i386/pc/memory.h: include grub/memory.h
30051 (grub_lower_mem): removed
30052 (grub_upper_mem): likewise
30053 (GRUB_MACHINE_MEMORY_ACPI): new definition
30054 (GRUB_MACHINE_MEMORY_NVS): likewise
30055 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
30056 (GRUB_MACHINE_MEMORY_HOLE): likewise
30057 (grub_machine_mmap_register): likewise
30058 (grub_machine_mmap_unregister): likewise
30059 (grub_machine_get_upper): likewise
30060 (grub_machine_get_lower): likewise
30061 (grub_machine_get_post64): likewise
30062 * include/grub/i386/efi/memory.h: new file
30063 * include/grub/x86_64/efi/memory.h: likewise
30064 * include/grub/efi/memory.h: likewise
30065 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
30066 (mmap_mod_SOURCES): new variable
30067 (mmap_mod_LDFLAGS): likewise
30068 (mmap_mod_ASFLAGS): likewise
30069 * conf/i386-coreboot.rmk: likewise
30070 * conf/i386-ieee1275.rmk: likewise
30071 * conf/i386-efi.rmk: likewise
30072 * conf/x86_64-efi.rmk: likewise
30073 * include/grub/types.h (UINT_TO_PTR): new macro
30074 (PTR_TO_UINT32): likewise
30075 (PTR_TO_UINT64): likewise
30076 * include/grub/memory.h: new file
30077 * mmap/i386/pc/mmap.c: likewise
30078 * mmap/i386/pc/mmap_helper.S: likewise
30079 * mmap/i386/uppermem.c: likewise
30080 * mmap/mmap.c: likewise
30081 * mmap/efi/mmap.c: likewise
30082 * kern/i386/coreboot/init.c (grub_machine_init): don't use
30083 grub_upper_mem
30084 * kern/i386/pc/init.c (grub_lower_mem): removed variable
30085 (grub_upper_mem): likewise
30086 (grub_machine_init): don't use grub_upper_mem,
30087 make grub_lower_mem local
30088 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
30089 grub_mmap_iterate and grub_mmap_get_upper
30090 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
30091
30092 2009-05-02 Bean <bean123ch@gmail.com>
30093
30094 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
30095 script/sh/parser.y.
30096 (pkglib_MODULES): Add normal.mod and sh.mod.
30097 (normal_SOURCES): New variable.
30098 (normal_mod_CFLAGS): Likewise.
30099 (normal_mod_LDFLAGS): Likewise.
30100 (sh_mod_SOURCES): Likewise.
30101 (sh_mod_CFLAGS): Likewise.
30102 (sh_mod_LDFLAGS): Likewise.
30103
30104 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
30105 script/sh/lexer.c_DEPENDENCIES.
30106 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
30107 kern/rescue_reader.c and kern/rescue_parser.c.
30108 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
30109 (grub_emu_SOURCES): Change source files.
30110 (pkglib_MODULES): Remove normal.mod.
30111 (normal_SOURCES): Removed.
30112 (normal_mod_CFLAGS): Likewise.
30113 (normal_mod_LDFLAGS): Likewise.
30114 * conf/i386-coreboot.rmk: Likewise.
30115 * conf/i386-efi.rmk: Likewise.
30116 * conf/i386-ieee1276.rmk: Likewise.
30117 * conf/powerpc-ieee1275.rmk: Likewise.
30118 * conf/sparc64-ieee1275.rmk: Likewise.
30119 * conf/x86_64-efi.rmk: Likewise.
30120
30121 * include/grub/command.h (grub_command_execute): New inline function.
30122
30123 * include/grub/menu.h (grub_menu_entry): Removed commands field.
30124
30125 * include/grub/normal.h: Remove <grub/setjmp.h>.
30126 (grub_fs_module_list): Moved to normal/autofs.c.
30127 (grub_exit_env): Removed.
30128 (grub_command_execute): Likewise.
30129 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
30130 parameter script.
30131 (read_command_list): New function declaration.
30132 (read_fs_list): Likewise.
30133
30134 * include/parser.h: Include <grub/reader.h>.
30135 (grub_parser_split_cmdline): Change type of getline parameter.
30136 (grub_parser): New structure.
30137 (grub_parser_class): New variable.
30138 (grub_parser_execute): New function declaration.
30139 (grub_register_rescue_parser): Likewise.
30140 (grub_parser_register): New inline function.
30141 (grub_parser_unregister): Likewise.
30142 (grub_parser_get_current): Likewise.
30143 (grub_parser_set_current): Likewise.
30144
30145 * include/grub/reader.h: New file.
30146 * kern/reader.c: Likewise.
30147 * kern/rescue_parser.c: Likewise.
30148 * kern/rescue_reader.c: Likewise.
30149 * normal/autofs.c: Likewise.
30150 * normal/dyncmd.c: Likewise.
30151
30152 * include/grub/rescue.h: Removed.
30153 * normal/command.h: Likewise.
30154
30155 * include/grub/script.h: Moved to ...
30156 * include/grub/script_sh.h: ... Moved here.
30157 * normal/execute.c: Moved to ...
30158 * script/sh/execute.c: ... Moved here.
30159 * normal/function.c: Moved to ...
30160 * script/sh/function.c: ... Moved here.
30161 * normal/lexer.c: Moved to ...
30162 * script/sh/lexer.c: ... Moved here.
30163 * normal/parser.y: Moved to ...
30164 * script/sh/parser.y: ... Moved here.
30165 * normal/script.c: Moved to ...
30166 * script/sh/script.c: ... Moved here.
30167
30168 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
30169 <grub/reader.h>.
30170 (grub_exit_env): Removed.
30171 (fs_module_list): Moved to normal/autofs.c.
30172 (grub_file_getline): Don't handle comment here.
30173 (free_menu): Skip removed field entry->commands.
30174 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
30175 script parameter.
30176 (read_config_file): Removed nested parameter, change getline function.
30177 (grub_enter_normal_mode): Removed.
30178 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
30179 (read_command_list): Likewise.
30180 (autoload_fs_module): Moved to normal/autofs.c.
30181 (read_fs_list): Likewise.
30182 (reader_nested): New variable.
30183 (grub_normal_execute): Run parser.sh to switch to sh parser.
30184 (grub_cmd_rescue): Removed.
30185 (cmd_normal): Removed.
30186 (grub_cmd_normal): Unregister itself at the beginning. Don't register
30187 rescue command.
30188 (grub_cmdline_run): New function.
30189 (grub_normal_reader_init): Likewise.
30190 (grub_normal_read_line): Likewise.
30191 (grub_env_write_pager): Likewise.
30192 (cmdline): New variable.
30193 (grub_normal_reader): Likewise.
30194 (GRUB_MOD_INIT): Register normal reader and set as current, register
30195 pager hook, register normal command with grub_register_command_prio,
30196 so that it won't show up in command.lst.
30197 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
30198 grub_fs_autoload_hook.
30199
30200 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
30201 (grub_menu_execute_entry): Replace grub_script_execute with
30202 grub_parser_execute, change parameter to grub_command_execute.
30203
30204 * normal/menu_text.c: Remove <grub/script.h>.
30205
30206 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
30207 and <grub/parser.h>.
30208 (run): Change editor_getline to use new parser interface. Change
30209 parameter to grub_command_execute.
30210
30211 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
30212 <grub/reader.h> and <grub/parser.h>.
30213 (grub_load_normal_mode): Execute normal command.
30214 (grub_main): Call grub_register_core_commands,
30215 grub_register_rescue_parser and grub_register_rescue_reader, use
30216 grub_reader_loop to enter input loop.
30217
30218 * kern/parser.c (grub_parser_split_cmdline): Change type of
30219 getline parameter.
30220 (grub_parser_class): New variable.
30221 (grub_parser_execute): New function.
30222
30223 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
30224 * loader/multiboot2.c: Likewise.
30225 * loader/sparc64/ieee1275/linux.c: Likewise.
30226
30227 * util/grub-emu.c (read_command_list): New dummy function.
30228
30229 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
30230
30231 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
30232 count to 16 for CCISS and IDA.
30233
30234 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
30235
30236 * normal/menu_text.c (grub_wait_after_message): Print a newline
30237 after waiting for user input.
30238
30239 * loader/i386/linux.c: Include `<grub/normal.h>'.
30240 (grub_cmd_linux): Improve the error message about `ask' mode, by
30241 waiting for user input so it's not missed (we can do this, since
30242 user requested interaction).
30243
30244 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30245
30246 Added missing lst to grub-mkrescue
30247
30248 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
30249 and ${input_dir}/parttool.lst
30250
30251 2009-04-30 David S. Miller <davem@davemloft.net>
30252
30253 * util/hostdisk.c (device_is_wholedisk): New function.
30254 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
30255 zero only if device_is_wholedisk() returns true.
30256
30257 * util/hostdisk.c (convert_system_partition_to_system_disk):
30258 Handle virtual disk devices named /dev/vdiskX as found on sparc
30259 and powerpc.
30260
30261 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
30262 lettered partition specifier is found, convert to numbered.
30263
30264 2009-04-29 David S. Miller <davem@davemloft.net>
30265
30266 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
30267 * include/grub/sparc64/ieee1275/memory.h: Likewise.
30268
30269 * normal/command.c: Add missing newline at end of file.
30270
30271 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
30272 warnings.
30273 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
30274 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
30275 grub_ofdisk_read): Likewise, and deal similarly with the fact that
30276 ihandles have a 32-bit type but need to be stored in a "void *".
30277
30278 2009-04-28 Pavel Roskin <proski@gnu.org>
30279
30280 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
30281 not disk. Adjust all dependencies.
30282 (grub_fs_uuid_close): Use grub_device_close(), not
30283 grub_disk_close().
30284
30285 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
30286 parent's partition, don't copy it by reference, as it gets freed
30287 on close.
30288
30289 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
30290
30291 Preboot hooks support
30292
30293 * commands/boot.c (struct grub_preboot_t): new declaration
30294 (preboots_head): new variable
30295 (preboots_tail): likewise
30296 (grub_loader_register_preboot_hook): new function
30297 (grub_loader_unregister_preboot_hook): likewise
30298 (grub_loader_set): launch preboot hooks
30299 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
30300 (grub_loader_register_preboot_hook): new declaration
30301 (grub_loader_unregister_preboot_hook): likewise
30302
30303 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
30304
30305 Warning fix
30306
30307 * disk/scsi.c (grub_scsi_open): added missing cast when
30308 calling grub_dprintf
30309
30310 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
30311
30312 Bug and warning fixes
30313
30314 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
30315 declaration
30316 * commands/test.c (test_parse): fixed bug with file tests and corrected
30317 declaration of find_file
30318
30319 2009-04-26 Pavel Roskin <proski@gnu.org>
30320
30321 * Makefile.in: Don't install empty manual pages if help2man is
30322 missing. Use help2man option for output, not shell redirection.
30323
30324 2009-04-26 David S. Miller <davem@davemloft.net>
30325
30326 * util/grub-mkdevicemap.c (make_device_map): Add missing
30327 NESTED_FUNC_ATTR to process_device().
30328
30329 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
30330
30331 Test command
30332
30333 * commands/test.c: rewritten to use bash-like test
30334
30335 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
30336
30337 Parttool autoloading and improvements
30338
30339 * Makefile.in (pkglib_DATA): add parttool.lst
30340 (parttool.lst): new target
30341 * genmk.rb: generate parttool-*
30342 (CLEANFILES): add #{parttool}
30343 (PARTTOOLFILES): new variable
30344 * genparttoollist.sh: new file
30345 * parttool/pcpart.c (grub_pcpart_boot): more feedback
30346 (grub_pcpart_type): likewise
30347 * commands/parttool.c (helpmsg): new variable
30348 (grub_cmd_parttool): output help if not enough arguments are supplied
30349 autoload modules
30350 (GRUB_MOD_INIT(parttool)): use helpmsg
30351
30352 2009-04-24 David S. Miller <davem@davemloft.net>
30353
30354 Avoiding opening same device multiple times in device iterator.
30355
30356 * kern/device.c: (grub_device_iterate): Define struct part_ent,
30357 and use it to build a list of partitions in iterate_disk() and
30358 iterate_partition().
30359
30360 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
30361 on disk->data.
30362
30363 * disk/ieee1275/nand.c (grub_nand_iterate): Return
30364 grub_devalias_iterate() result instead of unconditional 0.
30365 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
30366 Also, capture hook return value, either directly or via
30367 grub_children_iterate(), and propagate to caller.
30368 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
30369 grub_children_iterate): Return value is now 'int' instead of
30370 'grub_err_t'.
30371 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
30372 like a proper iterator, stopping when hooks return non-zero.
30373 (grub_devalias_iterate): Likewise.
30374
30375 2009-04-23 David S. Miller <davem@davemloft.net>
30376
30377 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
30378
30379 2009-04-22 David S. Miller <davem@davemloft.net>
30380
30381 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
30382 is larger than address_cells, use that value for address_cells too.
30383
30384 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
30385 IEEE1275_MAX_PATH_LEN): Define.
30386 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
30387 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
30388 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
30389 'devtype'. Explicitly NULL terminate devalias expansion.
30390
30391 * util/sparc64/ieee1275/misc.c: New file.
30392 * util/sparc64/ieee1275/grub-setup.c: New file.
30393 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
30394 * util/sparc64/ieee1275/grub-mkimage.c: New file.
30395 * util/sparc64/ieee1275/grub-install.in: New file.
30396 * util/ieee1275/ofpath.c: New file.
30397 * util/ieee1275/devicemap.c: New file.
30398 * util/devicemap.c: New file.
30399 * util/deviceiter.c: New file.
30400 * kern/sparc64/ieee1275/init.c: New file.
30401 * include/grub/util/ofpath.h: New file.
30402 * include/grub/util/deviceiter.h: New file.
30403 * util/grub-mkdevicemap.c: Include deviceiter.h.
30404 Implement using grub_util_emit_devicemap_entry and
30405 grub_util_iterate_devices.
30406 * conf/i386-corebook.rmk: Build util/deviceiter.c and
30407 util/devicemap.c into grub-mkdevicemap
30408 * conf/i386-efi.rmk: Likewise.
30409 * conf/i386-ieee1275.rmk: Likewise.
30410 * conf/i386-pc.rmk: Likewise.
30411 * conf/powerpc-ieee1275.rmk: Likewise.
30412 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
30413 images and installation utilities. Build kernel as image
30414 instead of as elf binary. Use common rules as much as possible.
30415
30416 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
30417
30418 Correct GPT definition
30419
30420 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
30421 of "attrib" member
30422
30423 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
30424
30425 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
30426
30427 2009-04-19 David S. Miller <davem@davemloft.net>
30428
30429 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
30430 (grub_rescue_cmd_linux): Rename to...
30431 (grub_cmd_linux): and fix prototype.
30432 (grub_rescue_cmd_initrd): Rename to...
30433 (grub_cmd_initrd): and fix prototype.
30434 (cmd_linux, cmd_initrd): New.
30435 (GRUB_MOD_INIT(linux)): Use grub_register_command().
30436 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
30437
30438 2009-04-17 Pavel Roskin <proski@gnu.org>
30439
30440 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
30441 format.
30442 (grub_ohci_transfer): Likewise.
30443
30444 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
30445
30446 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
30447 return without a value. Fix inconsistent indentation.
30448
30449 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
30450 match struct grub_fs.
30451
30452 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
30453 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
30454 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
30455 * commands/lspci.c (grub_lspci_iter): Likewise.
30456
30457 2009-04-16 Bean <bean123ch@gmail.com>
30458
30459 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
30460 value.
30461
30462 2009-04-15 Pavel Roskin <proski@gnu.org>
30463
30464 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
30465 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
30466 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
30467 definitions.
30468
30469 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
30470
30471 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
30472 that no multiple data or metadata areas are supported and `Unknown
30473 metadata header'.
30474
30475 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
30476
30477 Move loader out of the kernel
30478
30479 * kern/loader.c: moved to ...
30480 * commands/boot.c: ... moved here
30481 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
30482 * commands/boot.c (grub_cmd_boot): moved here. All users updated
30483 * include/grub/kernel.h (grub_machine_fini): export
30484 * include/grub/loader.h (grub_loader_is_loaded): update declaration
30485 (grub_loader_set): likewise
30486 (grub_loader_unset): likewise
30487 (grub_loader_boot): likewise
30488 * conf/common.rmk: new module boot.mod
30489 (pkglib_MODULES): add boot.mod
30490 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
30491 (grub_emu_SOURCES): likewise
30492 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
30493 (grub_emu_SOURCES): likewise
30494 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
30495 (grub_emu_SOURCES): likewise
30496 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
30497 (grub_emu_SOURCES): likewise
30498 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
30499 (grub_emu_SOURCES): likewise
30500 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
30501 (grub_emu_SOURCES): likewise
30502 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
30503 (grub_emu_SOURCES): likewise
30504
30505 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
30506
30507 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
30508
30509 * kern/misc.c (grub_itoa): Removed function
30510 (grub_ltoa): likewise
30511 (grub_vsprintf): use grub_lltoa
30512
30513 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
30514
30515 Restore grub-emu
30516
30517 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
30518 * conf/i386-coreboot.rmk: likewise
30519 * conf/i386-ieee1275.rmk: likewise
30520 * conf/powerpc-ieee1275.rmk: likewise
30521
30522 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
30523
30524 * INSTALL: Add that `./autogen.sh' needs to be run before
30525 `./configure.'.
30526
30527 2009-04-14 Bean <bean123ch@gmail.com>
30528
30529 * Makefile.in (pkglib_DATA): Add handler.lst.
30530 (handler.lst): New rule.
30531
30532 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
30533 * conf/i386-coreboot.rmk: Likewise.
30534 * conf/i386-ieee1275.rmk: Likewise.
30535 * conf/i386-efi.rmk: Likewise.
30536 * conf/x86_64-efi.rmk: Likewise.
30537 * conf/powerpc-ieee1275.rmk: Likewise.
30538 * conf/sparc64-ieee1275.rmk: Likewise.
30539
30540 * genhandlerlist.sh: New file.
30541
30542 * genmk.rb: Add rules to generate handler.lst.
30543
30544 * include/grub/normal.h (grub_file_getline): New function definition.
30545 (read_handler_list): Likewise.
30546 (free_handler_list): Likewise.
30547
30548 * include/grub/term.h (grub_term_register_input): Add name parameter
30549 for auto generation of handler.lst.
30550 (grub_term_register_output): Likewise.
30551
30552 * normal/handler.c: New file.
30553
30554 * normal/main.c (get_line): Renamed to grub_file_getline.
30555 (read_config_file): Use the newly renamed grub_file_getline.
30556 (read_command_list): Likewise.
30557 (read_fs_list): Likewise.
30558 (grub_normal_execute): Call read_handler_list to parse handler.lst.
30559 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
30560
30561 * term/efi/console.c (grub_console_init): Add name parameter for auto
30562 generation of handler.lst.
30563 * term/gfxterm.c: Likewise.
30564 * term/i386/pc/at_keyboard.c: Likewise.
30565 * term/i386/pc/console.c: Likewise.
30566 * term/i386/pc/serial.c: Likewise.
30567 * term/i386/pc/vesafb.c: Likewise.
30568 * term/i386/pc/vga.c: Likewise.
30569 * term/i386/pc/vga_text.c: Likewise.
30570 * term/ieee1275/ofconsole.c: Likewise.
30571 * term/usb_keyboard.c: Likewise.
30572
30573 2009-04-14 Bean <bean123ch@gmail.com>
30574
30575 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
30576 properly with null character.
30577
30578 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
30579
30580 * configure: Remove.
30581 * config.h.in: Likewise.
30582 * stamp-h.in: Likewise.
30583 * DISTLIST: Likewise.
30584 * conf/common.mk: Likewise.
30585 * conf/i386-coreboot.mk: Likewise.
30586 * conf/i386-efi.mk: Likewise.
30587 * conf/i386-ieee1275.mk: Likewise.
30588 * conf/i386.mk: Likewise.
30589 * conf/i386-pc.mk: Likewise.
30590 * conf/powerpc-ieee1275.mk: Likewise.
30591 * conf/sparc64-ieee1275.mk: Likewise.
30592 * conf/x86_64-efi.mk: Likewise.
30593
30594 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
30595 develop on GRUB.
30596
30597 2009-04-14 John Stanley <jpsinthemix@verizon.net>
30598 David S. Miller <davem@davemloft.net>
30599
30600 * util/hostdisk.c (make_device_name): Fix buffer length
30601 calculations.
30602
30603 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
30604
30605 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
30606 <sys/param.h> and <sys/sysctl.h>.
30607 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
30608 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
30609 opening the device and reset them afterwards.
30610
30611 2009-04-13 Pavel Roskin <proski@gnu.org>
30612
30613 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
30614 Reported by John Stanley <jpsinthemix@verizon.net>
30615
30616 2009-04-13 Robert Millan <rmh@aybabtu.com>
30617
30618 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
30619 that name for menuentries when appropriate.
30620
30621 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
30622
30623 * util/grub.d/10_freebsd.in: Add a missing `fi'.
30624
30625 2009-04-13 Robert Millan <rmh@aybabtu.com>
30626
30627 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
30628 to Linux, simply abort telling the user it's no longer supported.
30629
30630 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
30631
30632 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
30633 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
30634 `freebsd_loadenv' only when devices.hints exist.
30635
30636 2009-04-13 Pavel Roskin <proski@gnu.org>
30637
30638 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
30639
30640 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
30641
30642 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
30643 partition number.
30644 (grub_drive): Likewise.
30645
30646 2009-04-13 David S. Miller <davem@davemloft.net>
30647
30648 * kern/sparc64/ieee1275/ieee1275.c: New file.
30649 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
30650 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
30651 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
30652 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
30653 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
30654 grub_ieee1275_alloc_physmem): Declare new exported functions.
30655
30656 * include/grub/sparc64/ieee1275/loader.h: New file.
30657 * include/grub/sparc64/ieee1275/memory.h: Likewise.
30658 * include/grub/sparc64/kernel.h: Likewise.
30659 * loader/sparc64/ieee1275/linux.c: Likewise.
30660
30661 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
30662 (grub_fstest_SOURCES): Likewise.
30663
30664 * util/hostdisk.c (make_device_name): Do not make any assumptions
30665 about the length of drive names.
30666
30667 * kern/dl.c (grub_dl_load_file): Close file immediately when
30668 we are done using it.
30669
30670 2009-04-12 David S. Miller <davem@davemloft.net>
30671
30672 * kern/misc.c (grub_ltoa): Fix cast when handling negative
30673 values. Noticed by Pavel Roskin.
30674
30675 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
30676 target compiler.
30677
30678 * genmk.rb: Add more flexible image type specification, also
30679 pass --strip-unneeded to objcopy.
30680 * conf/i386-pc.rmk: Use *_FORMAT.
30681 * conf/i386-pc.mk: Rebuilt.
30682
30683 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
30684 (OFDISK_HASH_SZ): Define.
30685 (ofdisk_hash): New hash table.
30686 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
30687 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
30688 instead of device phandle which is not unique.
30689
30690 * kern/sparc64/ieee1275/init.c: Delete, replace with...
30691 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
30692 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
30693 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
30694 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
30695 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
30696 GRUB_KERNEL_MACHINE_DATA_END): Define.
30697 (grub_kernel_image_size, grub_total_module_size): Declare.
30698
30699 2009-04-12 Pavel Roskin <proski@gnu.org>
30700
30701 * configure.ac: Change the logic when we check for target tools.
30702 Do it when the target is specified and it's different from the
30703 specified value of the host.
30704
30705 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
30706
30707 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
30708 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
30709 GNU/kFreeBSD. Check if a device is a character device. Use
30710 DIOCGMEDIASIZE to get the size.
30711 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
30712 support for GNU/kFreeBSD.
30713 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
30714 is a character device instead of a block device. Add support for
30715 FreeBSD device names.
30716
30717 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
30718 is a character device instead of a block device.
30719
30720 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
30721 is a character device instead of a block device.
30722
30723 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
30724
30725 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
30726 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
30727 FreeBSD. Check if a device is a character device. Use
30728 DIOCGMEDIASIZE to get the size.
30729 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
30730 support for FreeBSD.
30731 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
30732 is a character device instead of a block device. Add support for
30733 FreeBSD device names.
30734
30735 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
30736 a character device instead of a block device.
30737 (grub_util_check_char_device): New function.
30738
30739 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
30740 a character device instead of a block device.
30741
30742 * include/grub/util/getroot.h (grub_util_check_char_device): New
30743 prototype.
30744
30745 2009-04-11 David S. Miller <davem@davemloft.net>
30746
30747 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
30748 static libgcc.
30749 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
30750 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
30751 function, if present.
30752 (__bswapdi2): Likewise.
30753
30754 * include/grub/sparc64/ieee1275/boot.h: New file.
30755 * boot/sparc64/ieee1275/boot.S: Likewise.
30756 * boot/sparc64/ieee1275/diskboot.S: Likewise.
30757
30758 * kern/misc.c (grub_ltoa): New function.
30759 (grub_vsprintf): Use it to format 'long' integers.
30760
30761 2009-04-10 David S. Miller <davem@davemloft.net>
30762
30763 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
30764 slots are of type grub_ieee1275_cell_t.
30765 (grub_nand_read): Likewise.
30766 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
30767 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
30768 macros are used to compare values in arg/ret block of the call.
30769 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
30770 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
30771 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
30772 grub_ieee1275_instance_to_path, grub_ieee1275_write,
30773 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
30774 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
30775 grub_ieee1275_close, grub_ieee1275_set_property,
30776 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
30777 grub_ieee1275_cell_t.
30778 * kern/ieee1275/openfw.c (grub_map): Likewise.
30779 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
30780 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
30781
30782 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
30783 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
30784 (grub_devalias_iterate): Likewise.
30785
30786 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
30787
30788 UFS improvements
30789
30790 * fs/ufs.c (INODE_NBLOCKS): new definition
30791 (struct grub_ufs_dirent): added fields for non-BSD dirents
30792 (grub_ufs_get_file_block): fixed double indirect handling
30793 (grub_ufs_lookup_symlink): use more robust way to determine whether
30794 symlink is inline
30795 (grub_ufs_find_file): support for non-BSD dirents
30796 (grub_ufs_dir): support for non-BSD dirents
30797
30798 2009-04-10 Bean <bean123ch@gnail.com>
30799
30800 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
30801 attribute, otherwise the size would be wrong for i386 platform.
30802
30803 * include/grub/pci.h (grub_pci_read_word): New inline function.
30804 (grub_pci_read_byte): Likewise.
30805 (grub_pci_write): Likewise.
30806 (grub_pci_write_word): Likewise.
30807 (grub_pci_write_byte): Likewise.
30808
30809 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
30810
30811 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
30812 (find_framebuf): Scan pci to locate the frame buffer address.
30813
30814 * commands/efi/fixvideo.c: New file.
30815
30816 * commands/efi/loadbios.c: Likewise.
30817
30818 * commands/memrw.c: Likewise.
30819
30820 * util/grub-dumpbios.in: Likewise.
30821
30822 * conf/common.rmk (grub-dumpbios): New utility.
30823 (pkglib_MODULES): New module memrw.mod.
30824 (memrw_mod_SOURCE): New macro.
30825 (memrw_mod_CFLAGS): Likewise.
30826 (memrw_mod_LDFLAGS): Likewise.
30827
30828 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
30829 fixvideo.mod.
30830 (loadbios_mod_SOURCE): New macro.
30831 (loadbios_mod_CFLAGS): Likewise.
30832 (loadbios_mod_LDFLAGS): Likewise.
30833 (fixvideo_mod_SOURCE): Likewise.
30834 (fixvideo_mod_CFLAGS): Likewise.
30835 (fixvideo_mod_LDFLAGS): Likewise.
30836
30837 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
30838 fixvideo.mod.
30839 (loadbios_mod_SOURCE): New macro.
30840 (loadbios_mod_CFLAGS): Likewise.
30841 (loadbios_mod_LDFLAGS): Likewise.
30842 (fixvideo_mod_SOURCE): Likewise.
30843 (fixvideo_mod_CFLAGS): Likewise.
30844 (fixvideo_mod_LDFLAGS): Likewise.
30845
30846 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
30847
30848 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
30849
30850 2009-04-07 David S. Miller <davem@davemloft.net>
30851
30852 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
30853 support for R_SPARC_OLO10 relocations. Fix compile warning for
30854 R_SPARC_WDISP30 case.
30855 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
30856
30857 2009-04-06 Pavel Roskin <proski@gnu.org>
30858
30859 * include/grub/misc.h (ARRAY_SIZE): New macro.
30860 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
30861 New macro.
30862 * loader/i386/linux.c (allocate_pages): Use free_pages().
30863 (grub_linux_unload): Don't use free_pages().
30864 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
30865 wrong index. Treat all other modes as text modes.
30866 (grub_cmd_linux): Initialize vid_mode unconditionally to
30867 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
30868
30869 * commands/help.c (print_command_help): Use cmd->prio, not
30870 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
30871
30872 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
30873
30874 Parttool
30875
30876 * parttool/pcpart.c: new file
30877 * commands/parttool.c: likewise
30878 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
30879 (parttool_mod_SOURCES): new variable
30880 (parttool_mod_CFLAGS): likewise
30881 (parttool_mod_LDFLAGS): likewise
30882 (pcpart_mod_SOURCES): likewise
30883 (pcpart_mod_CFLAGS): likewise
30884 (pcpart_mod_LDFLAGS): likewise
30885 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
30886 and parttool/pcpart.c
30887 * conf/i386-efi.rmk: likewise
30888 * conf/i386-ieee1275.rmk: likewise
30889 * conf/i386-pc.rmk: likewise
30890 * conf/powerpc-ieee1275.rmk: likewise
30891 * conf/sparc64-ieee1275.rmk: likewise
30892 * conf/x86_64-ieee1275.rmk: likewise
30893
30894 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
30895
30896 Support for mtime and further expandability of dir command
30897
30898 * include/grub/lib/datetime.h: moved to ...
30899 * include/grub/datetime.h: ... moved here and added
30900 declaration of grub_unixtime2datetime. All users updated
30901 * include/grub/fs.h: new syntax for dir and mtime functions in
30902 struct grub_fs
30903 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
30904 and GRUB_FSHELP_FLAGS_MASK
30905 * commands/ls.c (grub_ls_list_files): Write mtime in long format
30906 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
30907 (grub_ext2_mtime): new function
30908 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
30909 (grub_hfsplus_mtime): new function
30910 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
30911 (GRUB_UFS_ATTR_FILE): likewise
30912 (GRUB_UFS_ATTR_LNK): likewise
30913 (struct grub_ufs_sblock): new fields mtime
30914 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
30915 all users updated
30916 (grub_ufs_dir): mtime support
30917 (grub_ufs_mtime): new function
30918 * fs/affs.c (grub_affs_dir): use new dir syntax
30919 * fs/afs.c (grub_afs_dir): likewise
30920 * fs/cpio.c (grub_cpio_dir): likewise
30921 * fs/fat.c (grub_fat_find_dir): likewise
30922 * fs/hfs.c (grub_hfs_dir): likewise
30923 * fs/iso9660.c (grub_iso9660_dir): likewise
30924 * fs/jfs.c (grub_jfs_dir): likewise
30925 * fs/minix.c (grub_minix_dir): likewise
30926 * fs/ntfs.c (grub_ntfs_dir): likewise
30927 * fs/reiserfs.c (grub_reiserfs_dir): likewise
30928 * fs/sfs.c (grub_sfs_dir): likewise
30929 * fs/xfs.c (grub_xfs_dir): likewise
30930 * util/hostfs.c (grub_hostfs_dir): likewise
30931 * lib/datetime.c: moved to ...
30932 * normal/datetime.c: ... moved here
30933 (grub_unixtime2datetime): new function
30934 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
30935 * normal/completion.c (iterate_dir): use new dir syntax
30936 * normal/misc.c (grub_normal_print_device_info): tell the
30937 last modification time of a volume
30938 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
30939 * conf/common.rmk: added lib/datetime.c to ls.mod
30940 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
30941 (normal_mod_SOURCES): likewise
30942 (datetime_mod_SOURCES): Removed lib/datetime.c
30943 * conf/i386-efi.rmk: likewise
30944 * conf/i386-ieee1275.rmk: likewise
30945 * conf/i386-pc.rmk: likewise
30946 * conf/powerpc-ieee1275.rmk: likewise
30947 * conf/sparc64-ieee1275.rmk: likewise
30948 * conf/x86_64-efi.rmk: likewise
30949
30950 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
30951
30952 Trim trailing spaces in FAT label and support mtools-like labels
30953
30954 * fs/fat.c (grub_fat_iterate_dir): New function based
30955 on grub_fat_find_dir
30956 (grub_fat_find_dir): use grub_fat_iterate_dir
30957 (grub_fat_label): likewise
30958
30959 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
30960
30961 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
30962 and command.h
30963 remove extraneous kernel_elf_HEADERS
30964
30965 2009-04-04 Bean <bean123ch@gnail.com>
30966
30967 * include/grub/util/misc.h: Add dummy function fsync for mingw.
30968
30969 * util/misc.c: Likewise.
30970
30971 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
30972
30973 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
30974 instead of grub_printf.
30975
30976 2009-04-03 Robert Millan <rmh@aybabtu.com>
30977
30978 * loader/i386/linux.c (grub_linux_setup_video): Fill
30979 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
30980 values from `mode info' structure instead of hardcoded
30981 values.
30982
30983 2009-04-01 Pavel Roskin <proski@gnu.org>
30984
30985 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
30986 unused now.
30987 * genmk.rb: Likewise.
30988 * configure.ac: Likewise.
30989
30990 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
30991
30992 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
30993 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
30994
30995 2009-04-01 David S. Miller <davem@davemloft.net>
30996
30997 * normal/sparc64/setjmp.S: Fix setjmp implementation.
30998 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
30999 (grub_setjmp): Mark with 'returns_twice' attribute.
31000 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
31001 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
31002 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
31003
31004 2009-04-01 Robert Millan <rmh@aybabtu.com>
31005
31006 Reapply fix from 2008-07-28 which was accidentally reverted; also
31007 perform the same fix to a similar check in same function.
31008
31009 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
31010 with the same number are found, just use issue a warning with
31011 grub_dprintf(), as this error has been reported to be non-fatal.
31012
31013 2009-03-31 Pavel Roskin <proski@gnu.org>
31014
31015 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
31016 for cross-compilation.
31017
31018 2009-03-30 Robert Millan <rmh@aybabtu.com>
31019
31020 Fix i386-ieee1275 build.
31021
31022 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
31023 Remove declaration.
31024
31025 2009-03-30 Pavel Roskin <proski@gnu.org>
31026
31027 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
31028 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
31029 zero-terminated, rely only on the strlen value. Fix comparison
31030 of strings differing in length.
31031
31032 2009-03-30 Robert Millan <rmh@aybabtu.com>
31033
31034 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
31035 checking for abi version. Improve error messages on BIOS to notify
31036 user about `linux16' command.
31037
31038 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
31039
31040 Leak fixes
31041
31042 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
31043 in case of collision
31044 * disk/scsi.c (grub_scsi_open): free scsi in case of error
31045
31046 2009-03-29 Robert Millan <rmh@aybabtu.com>
31047
31048 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
31049 set `vid_mode' accordingly.
31050 (grub_linux_boot): Process `vid_mode' and set video mode.
31051
31052 2009-03-29 Robert Millan <rmh@aybabtu.com>
31053
31054 * util/grub.d/10_linux.in (linux_entry): New function.
31055 Factorize generation of Linux boot entries.
31056
31057 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
31058
31059 Make the format of Environment Block plain text. The boot loader
31060 part is not tested well yet.
31061
31062 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
31063 (buffer): Removed.
31064 (envblk): Likewise.
31065 (usage): Remove "info" and "clear". Add "unset". Update the
31066 description of "set", as this does not delete variables any
31067 longer.
31068 (create_envblk_file): Complete rewrite.
31069 (open_envblk_file): Likewise.
31070 (cmd_info): Removed.
31071 (cmd_list): Likewise.
31072 (cmd_set): Likewise.
31073 (cmd_clear): Likewise.
31074 (list_variables): New function.
31075 (write_envblk): Likewise.
31076 (set_variables): Likewise.
31077 (unset_variables): Likewise.
31078 (main): Complete rewrite.
31079
31080 * commands/loadenv.c (buffer): Removed.
31081 (envblk): Likewise.
31082 (open_envblk_file): New function.
31083 (read_envblk_file): Complete rewrite.
31084 (grub_cmd_load_env): Likewise.
31085 (grub_cmd_list_env): Likewise.
31086 (struct blocklist): New struct.
31087 (free_blocklists): New function.
31088 (check_blocklists): Likewise.
31089 (write_blocklists): Likewise.
31090 (grub_cmd_save_env): Complete rewrite.
31091
31092 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
31093 a plain text signature.
31094 (GRUB_ENVBLK_MAXLEN): Removed.
31095 (struct grub_envblk): Complete rewrite.
31096 (grub_envblk_find): Removed.
31097 (grub_envblk_insert): Likewise.
31098 (grub_envblk_open): New prototype.
31099 (grub_envblk_set): Likewise.
31100 (grub_envblk_delete): Put const to VALUE.
31101 (grub_envblk_iterate): Put const to NAME and VALUE.
31102 (grub_envblk_close): New prototype.
31103 (grub_envblk_buffer): New inline function.
31104 (grub_envblk_size): Likewise.
31105
31106 * lib/envblk.c: Include grub/mm.h.
31107 (grub_env_find): Removed.
31108 (grub_envblk_open): New function.
31109 (grub_envblk_close): Likewise.
31110 (escaped_value_len): Likewise.
31111 (find_next_line): Likewise.
31112 (grub_envblk_insert): Removed.
31113 (grub_envblk_set): New function.
31114 (grub_envblk_delete): Complete rewrite.
31115 (grub_envblk_iterate): Likewise.
31116
31117 2009-03-28 Robert Millan <rmh@aybabtu.com>
31118
31119 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
31120 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
31121 variables. Use 16-bit loader.
31122 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
31123 loader.
31124 * kern/i386/loader.S (grub_linux_boot): Rename to ...
31125 (grub_linux16_boot): ... this. Update all users.
31126 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
31127 (grub_linux_boot): ... this. Update all users.
31128
31129 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
31130 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
31131 commands to `linux16' and `initrd16'.
31132 (GRUB_MOD_FINI(linux)): Rename to ...
31133 (GRUB_MOD_FINI(linux16)): ... this.
31134
31135 2009-03-24 Pavel Roskin <proski@gnu.org>
31136
31137 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
31138 not just for compilation.
31139
31140 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
31141
31142 Move multiboot helper out of kernel
31143
31144 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
31145 `loader/i386/multiboot_helper.S'.
31146 * conf/i386-coreboot.rmk: Likewise
31147 * conf/i386-ieee1275.rmk: Likewise
31148
31149 * kern/i386/loader.S: Move multiboot helpers from here...
31150 * loader/i386/multiboot_helper.S: ...moved here
31151 * include/grub/i386/loader.h: Move declarations of multiboot
31152 helpers from here...
31153 * include/grub/i386/multiboot.h: ...moved here
31154 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
31155
31156 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31157
31158 * kern/env.c (grub_env_context_open): Added an argument to specify
31159 whether a new context inherits exported variables from current
31160 one. This is useful when making a sandbox to interpret a config
31161 file.
31162 All callers updated.
31163
31164 * include/grub/env.h (grub_env_context_open): Updated the prototype.
31165
31166 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31167
31168 * kern/env.c (grub_env_context_close): Fix memory leaks.
31169
31170 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31171
31172 * normal/main.c (grub_normal_execute): Added an argument
31173 BATCH to specify if an interactive interface should be provided
31174 after reading a config file.
31175 All callers updated.
31176 (read_command_list): Prevent being executed twice.
31177 (read_fs_list): Likewise.
31178
31179 * include/grub/normal.h (grub_normal_execute): Updated the
31180 prototype.
31181
31182 2009-03-22 Pavel Roskin <proski@gno.org>
31183
31184 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
31185 _start.
31186 * kern/i386/pc/startup.S: Likewise.
31187 * kern/i386/efi/startup.S: Likewise.
31188 * kern/i386/ieee1275/startup.S: Likewise.
31189 * kern/i386/coreboot/startup.S: Likewise.
31190 * kern/x86_64/efi/startup.S: Likewise.
31191
31192 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
31193 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
31194 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
31195
31196 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
31197
31198 Bugfixes in multiboot for bugs uncovered by solaris kernel.
31199
31200 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
31201 limit detection.
31202 Use vaddr of correct segment for entry_point.
31203
31204 2009-03-21 Bean <bean123ch@gmail.com>
31205
31206 * commands/blocklist.c: Add include file <grub/command.h>, remove
31207 <grub/normal.h> and <grub/arg.h>.
31208 (grub_cmd_blocklist): Use the new command interface.
31209 (GRUB_MOD_INIT): Likewise.
31210 (GRUB_MOD_FINI): Likewise.
31211 * commands/boot.c: Likewise.
31212 * commands/cat.c: Likewise.
31213 * commands/cmp.c: Likewise.
31214 * commands/configfile.c: Likewise.
31215 * commands/crc.c: Likewise.
31216 * commands/echo.c: Likewise.
31217 * commands/halt.c: Likewise.
31218 * commands/handler.c: Likewise.
31219 * commands/hdparm.c: Likewise.
31220 * commands/help.c: Likewise.
31221 * commands/hexdump.c: Likewise.
31222 * commands/loadenv.c: Likewise.
31223 * commands/ls.c: Likewise.
31224 * commands/lsmmap.c: Likewise.
31225 * commands/lspci.c: Likewise.
31226 * commands/loadenv.c: Likewise.
31227 * commands/read.c: Likewise.
31228 * commands/reboot.c: Likewise.
31229 * commands/search.c: Likewise.
31230 * commands/sleep.c: Likewise.
31231 * commands/test.c: Likewise.
31232 * commands/usbtest.c: Likewise.
31233 * commands/videotest.c: Likewise.
31234 * commands/i386/cpuid.c: Likewise.
31235 * commands/i386/pc/halt.c: Likewise.
31236 * commands/i386/pc/play.c: Likewise.
31237 * commands/i386/pc/pxecmd.c: Likewise.
31238 * commands/i386/pc/vbeinfo.c: Likewise.
31239 * commands/i386/pc/vbetest.c: Likewise.
31240 * commands/ieee1275/suspend.c: Likewise.
31241 * disk/loopback.c: Likewise.
31242 * font/font_cmd.c: Likewise.
31243 * hello/hello.c: Likewise.
31244 * loader/efi/appleloader.c: Likewise.
31245 * loader/efi/chainloader.c: Likewise.
31246 * loader/i386/bsd.c: Likewise.
31247 * loader/i386/efi/linux.c: Likewise.
31248 * loader/i386/ieee1275/linux.c: Likewise.
31249 * loader/i386/linux.c: Likewise.
31250 * loader/i386/pc/chainloader.c: Likewise.
31251 * loader/i386/pc/linux.c: Likewise.
31252 * loader/powerpc/ieee1275/linux.c: Likewise.
31253 * loader/multiboot_loader.c: Likewise.
31254 * term/gfxterm.c: Likewise.
31255 * term/i386/pc/serial.c: Likewise.
31256 * term/terminfo.c: Likewise.
31257
31258 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
31259 * term/i386/pc/vga.c: Likewise.
31260 * video/readers/jpeg.c: Likewise.
31261 * video/readers/png.c: Likewise.
31262 * video/readers/tga.c: Likewise.
31263
31264 * util/grub-fstest (cmd_loopback): Removed.
31265 (cmd_blocklist): Likewise.
31266 (cmd_ls): Likewise.
31267 (grub_register_command): Likewise.
31268 (grub_unregister_command): Likewise.
31269 (execute_command): Use grub_command_find to locate command and execute
31270 it.
31271
31272 * include/grub/efi/chainloader.h: Removed.
31273 * loader/efi/chainloader_normal.c: Likewise.
31274 * loader/i386/bsd_normal.c: Likewise.
31275 * loader/i386/pc/chainloader_normal.c: Likewise.
31276 * loader/i386/pc/multiboot_normal.c: Likewise.
31277 * loader/linux_normal.c: Likewise.
31278 * loader/multiboot_loader_normal.c: Likewise.
31279 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
31280
31281 * gencmdlist.sh: Scan new registration command grub_register_extcmd
31282 and grub_register_command_p1.
31283
31284 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
31285 kern/command.c, lib/arg.c and commands/extcmd.c.
31286 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
31287 (minicmd_mod_SOURCES): New variable.
31288 (minicmd_mod_CFLAGS): Likewise.
31289 (minicmd_mod_LDFLAGS): Likewise.
31290 (extcmd_mod_SOURCES): Likewise.
31291 (extcmd_mod_CFLAGS): Likewise.
31292 (extcmd_mod_LDFLAGS): Likewise.
31293 (boot_mod_SOURCES): Removed.
31294 (boot_mod_CFLAGS): Likewise.
31295 (boot_mod_LDFLAGS): Likewise.
31296
31297 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
31298 kern/corecmd.c.
31299 (kernel_img_HEADERS): Add command.h.
31300 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
31301 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
31302 and lib/arg.c.
31303 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
31304 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
31305 remove the corresponding normal mode command.
31306 (normal_mod_SOURCES): Remove normal/arg.c.
31307 * conf/i386-coreboot.rmk: Likewise.
31308 * conf/i386-efi.rmk: Likewise.
31309 * conf/i386-ieee1275.rmk: Likewise.
31310 * conf/powerpc-ieee1275.rmk: Likewise.
31311 * conf/x86_64-efi.rmk: Likewise.
31312
31313 * include/grub/arg.h: Move from here ...
31314 * include/grub/lib/arg.h: ... to here.
31315
31316 * normal/arg.c: Move from here ...
31317 * lib/arg.c: ... to here.
31318
31319 * commands/extcmd.c: New file.
31320 * commands/minicmd.c: Likewise.
31321 * include/grub/command.h: Likewise.
31322 * include/grub/extcmd.h: Likewise.
31323 * kern/command.c: Likewise.
31324 * kern/corecmd.c: Likewise.
31325
31326 * kern/list.c (grub_list_iterate): Return int instead of void.
31327 (grub_list_insert): New function.
31328 (grub_prio_list_insert): Likewise.
31329
31330 * kern/rescue.c (grub_rescue_command): Removed.
31331 (grub_rescue_command_list): Likewise.
31332 (grub_rescue_register_command): Likewise.
31333 (grub_rescue_unregister_command): Likewise.
31334 (grub_rescue_cmd_boot): Move to minicmd.c
31335 (grub_rescue_cmd_help): Likewise.
31336 (grub_rescue_cmd_info): Likewise.
31337 (grub_rescue_cmd_boot): Likewise.
31338 (grub_rescue_cmd_testload): Likewise.
31339 (grub_rescue_cmd_dump): Likewise.
31340 (grub_rescue_cmd_rmmod): Likewise.
31341 (grub_rescue_cmd_lsmod): Likewise.
31342 (grub_rescue_cmd_exit): Likewise.
31343 (grub_rescue_print_devices): Moved to corecmd.c.
31344 (grub_rescue_print_files): Likewise.
31345 (grub_rescue_cmd_ls): Likewise.
31346 (grub_rescue_cmd_insmod): Likewise.
31347 (grub_rescue_cmd_set): Likewise.
31348 (grub_rescue_cmd_unset): Likewise.
31349 (attempt_normal_mode): Use grub_command_find to get normal module.
31350 (grub_enter_rescue_mode): Use grub_register_core_commands to register
31351 commands, remove grub_rescue_register_command calls.
31352
31353 * normal/command.c (grub_register_command): Removed.
31354 (grub_unregister_command): Likewise.
31355 (grub_command_find): Likewise.
31356 (grub_iterate_commands): Likewise.
31357 (rescue_command): Likewise.
31358 (export_command): Moved to corecmd.c.
31359 (set_command): Removed.
31360 (unset_command): Likewise.
31361 (insmod_command): Likewise.
31362 (rmmod_command): Likewise.
31363 (lsmod_command): Likewise.
31364 (grub_command_init): Likewise.
31365
31366 * normal/completion.c (iterate_command): Use cmd->prio to check for
31367 active command.
31368 (complete_arguments): Use grub_extcmd_t structure to find options.
31369 (grub_normal_do_completion): Change function grub_iterate_commands to
31370 grub_command_iterate.
31371
31372 * normal/execute.c (grub_script_execute_cmd): No need to parse
31373 argument here.
31374
31375 * normal/main.c (grub_dyncmd_dispatcher): New function.
31376 (read_command_list): Register unload commands as dyncmd.
31377 (grub_cmd_normal): Use new command interface, register rescue,
31378 unregister normal at entry, register normal, unregister rescue at exit.
31379
31380 * include/grub/list.h (grub_list_test_t): New type.
31381 (grub_list_iterate): Return int instead of void.
31382 (grub_list_insert): New function.
31383 (GRUB_AS_NAMED_LIST_P): New macro.
31384 (GRUB_AS_PRIO_LIST): Likewise.
31385 (GRUB_AS_PRIO_LIST_P): Likewise.
31386 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
31387 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
31388 (grub_prio_list): New structure.
31389 (grub_prio_list_insert): New function.
31390 (grub_prio_list_remove): New inline function.
31391
31392 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
31393 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
31394 (GRUB_COMMAND_FLAG_MENU): Likewise.
31395 (GRUB_COMMAND_FLAG_BOTH): Likewise.
31396 (GRUB_COMMAND_FLAG_TITLE): Likewise.
31397 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
31398 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
31399 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
31400 (grub_command): Likewise.
31401 (grub_register_command): Likewise.
31402 (grub_command_find): Likewise.
31403 (grub_iterate_commands): Likewise.
31404 (grub_command_init): Likewise.
31405 (grub_arg_parse): Likewise.
31406 (grub_arg_show_help): Likewise.
31407
31408 * include/grub/rescue.h (grub_rescue_register_command): Removed.
31409 (grub_rescue_unregister_command): Likewise.
31410
31411 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
31412 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
31413 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
31414
31415 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
31416 grub_rescue_cmd_initrd.
31417 * include/grub/i386/loader.h: Likewise.
31418 * include/grub/x86_64/loader.h: Likewise.
31419
31420 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
31421
31422 2009-03-21 Bean <bean123ch@gmail.com>
31423
31424 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
31425 instead of stat in mingw environment.
31426
31427 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
31428
31429 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
31430
31431 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
31432 AC_CONFIG_LINKS.
31433
31434 2009-03-21 Bean <bean123ch@gmail.com>
31435
31436 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
31437 out of range error.
31438
31439 2009-03-18 Michel Dänzer <michel@daenzer.net>
31440
31441 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
31442 checking inode flags for EXT4_EXTENTS_FLAG.
31443
31444 2009-03-18 Robert Millan <rmh@aybabtu.com>
31445
31446 * loader/i386/linux.c: Include `<grub/video.h>' and
31447 `<grub/i386/pc/vbe.h>'..
31448 (grub_linux_setup_video): New function. Loosely based on the EFI one.
31449 (grub_linux32_boot): Attempt to configure video settings with
31450 grub_linux_setup_video().
31451 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
31452 to avoid grub_console_fini() which would step out of graphical mode
31453 unconditionally.
31454
31455 2009-03-14 Robert Millan <rmh@aybabtu.com>
31456
31457 Fix build on powerpc.
31458 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
31459
31460 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
31461
31462 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
31463 background image command.
31464
31465 2009-03-12 Colin D Bennett <colin@gibibit.com>
31466
31467 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
31468 (grub_gfxterm_putchar): Extract pairs of identical calls to
31469 draw_cursor out of conditional blocks.
31470
31471 2009-03-11 Pavel Roskin <proski@gnu.org>
31472
31473 * fs/hfs.c (grub_hfs_strncasecmp): New function.
31474 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
31475
31476 2009-03-11 Robert Millan <rmh@aybabtu.com>
31477
31478 * loader/i386/multiboot_elfxx.c
31479 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
31480
31481 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
31482
31483 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
31484 `kern/handler.c'.
31485
31486 2009-03-11 Robert Millan <rmh@aybabtu.com>
31487
31488 * loader/i386/multiboot.c (code_size): New variable.
31489 (grub_multiboot): Define offsets by adding to `code_size' rather
31490 than subtracting from `grub_multiboot_payload_size'. Provide
31491 4-byte alignment to MBI and others by increasing
31492 `boot_loader_name_length' appropriately.
31493
31494 * loader/i386/multiboot_elfxx.c
31495 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
31496
31497 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
31498
31499 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
31500 `fs/ext2.c'.
31501
31502 2009-03-08 Robert Millan <rmh@aybabtu.com>
31503
31504 Make loader/i386/linux.c usable on i386-pc again.
31505
31506 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
31507 memory to heap.
31508 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
31509 `#error' stanza.
31510
31511 2009-03-07 Bean <bean123ch@gmail.com>
31512
31513 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
31514 allocation.
31515
31516 2009-03-06 Robert Millan <rmh@aybabtu.com>
31517
31518 Fix display issue on terminals with screen size other than 80x25
31519 (e.g. gfxterm with resolution higher than 640x480).
31520
31521 * normal/main.c (grub_normal_init_page): Display title text in a
31522 position relative to the center of the terminal instead of relying
31523 on a hardcoded offset.
31524
31525 2009-03-04 Robert Millan <rmh@aybabtu.com>
31526
31527 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
31528 installed.
31529
31530 * Makefile.in (host_kernel): New variable.
31531 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
31532 scripts instead of just the windows one.
31533 * configure.ac: Initialize and AC_SUBST `host_kernel'.
31534
31535 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
31536
31537 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
31538 `kern/handler.c'.
31539 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31540 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31541 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31542 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31543 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31544 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31545
31546 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
31547
31548 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
31549 or if there's no space for the disk label and print the partition number on a
31550 invalid magic.
31551
31552 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
31553
31554 * util/misc.c: Include <time.h>.
31555 (grub_millisleep): New function.
31556
31557 2009-03-04 Bean <bean123ch@gmail.com>
31558
31559 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
31560 another option -mno-red-zone.
31561
31562 * commands/handler.c: Change module description.
31563
31564 * kern/handler.c: Add missing space at the end of description line.
31565
31566 * kern/list.c: Likewise.
31567
31568 2009-03-03 Robert Millan <rmh@aybabtu.com>
31569
31570 Move more components to the relocation area, and fix mbi pointer
31571 handling to use the destination rather than the origin (thanks to
31572 Vladimir Serbinenko for spotting).
31573
31574 * loader/i386/multiboot.c (mbi_dest): New variable.
31575 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
31576 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
31577 relocation area.
31578
31579 2009-03-01 Bean <bean123ch@gmail.com>
31580
31581 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
31582 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
31583 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
31584 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
31585
31586 * loader/i386/efi/linux.c (acpi_guid): New variable.
31587 (acpi_guid): Likewise.
31588 (EBDA_SEG_ADDR): New constant.
31589 (LOW_MEM_ADDR): Likewise.
31590 (FAKE_EBDA_SEG): Likewise.
31591 (fake_bios_data): New function.
31592 (grub_linux_boot): Call fake_bios_data.
31593
31594 2009-03-01 Bean <bean123ch@gmail.com>
31595
31596 * commands/terminal.c: Removed.
31597
31598 * commands/handler.c: New file.
31599
31600 * include/grub/list.h: Likewise.
31601
31602 * include/grub/handler.h: Likewise.
31603
31604 * kern/list.c: Likewise.
31605
31606 * kern/handler.c: Likewise.
31607
31608 * kern/term.h: Include header file <grub/handler.h>.
31609 (grub_term_input): Move next field to the beginning.
31610 (grub_term_output): Likewise.
31611 (grub_term_input_class): New variable.
31612 (grub_term_output_class): Likewise.
31613 (grub_term_register_input): Changed to inline function.
31614 (grub_term_register_output): Likewise.
31615 (grub_term_unregister_input): Likewise.
31616 (grub_term_unregister_output): Likewise.
31617 (grub_term_set_current_input): Likewise.
31618 (grub_term_set_current_output): Likewise.
31619 (grub_term_get_current_input): Likewise.
31620 (grub_term_get_current_output): Likewise.
31621 (grub_term_iterate_input): Removed.
31622 (grub_term_iterate_output): Likewise.
31623
31624 * kern/term.c (grub_term_list_input): Removed.
31625 (grub_term_list_output): Likewise.
31626 (grub_term_input_class): New variable.
31627 (grub_term_output_class): Likewise.
31628 (grub_cur_term_input): Change variable as macro.
31629 (grub_cur_term_output): Likewise.
31630 (grub_term_register_input): Removed.
31631 (grub_term_register_output): Likewise.
31632 (grub_term_unregister_input): Likewise.
31633 (grub_term_unregister_output): Likewise.
31634 (grub_term_set_current_input): Likewise.
31635 (grub_term_set_current_output): Likewise.
31636 (grub_term_iterate_input): Likewise.
31637 (grub_term_iterate_output): Likewise.
31638 (grub_term_get_current_input): Likewise.
31639 (grub_term_get_current_output): Likewise.
31640
31641 * util/grub-editenv.c: Include header file <grub/handler.h>.
31642 (grub_term_get_current_input): Removed.
31643 (grub_term_get_current_output): Likewise.
31644 (grub_term_input_class): New variable.
31645 (grub_term_output_class): Likewise.
31646
31647 * util/grub-fstest.c (grub_term_get_current_input): Removed.
31648 (grub_term_get_current_output): Likewise.
31649 (grub_term_input_class): New variable.
31650 (grub_term_output_class): Likewise.
31651
31652 * util/grub-probe.c (grub_term_get_current_input): Removed.
31653 (grub_term_get_current_output): Likewise.
31654 (grub_term_input_class): New variable.
31655 (grub_term_output_class): Likewise.
31656
31657 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
31658 (grub_term_get_current_output): Likewise.
31659 (grub_term_input_class): New variable.
31660 (grub_term_output_class): Likewise.
31661
31662 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
31663 (terminal_mod_SOURCES): Likewise.
31664 (terminal_mod_CFLAGS): Likewise.
31665 (terminal_mod_LDFLAGS): Likewise.
31666
31667 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
31668 handler.c.
31669 (kernel_img_SOURCES): Add list.c and handler.c.
31670 (kernel_img_HEADERS): Add list.h and handler.h.
31671
31672 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
31673 handler.c.
31674 (kernel_mod_SOURCES): Add list.c and handler.c.
31675 (kernel_mod_HEADERS): Add list.h and handler.h.
31676
31677 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
31678 handler.c.
31679 (kernel_elf_SOURCES): Add list.c and handler.c.
31680 (kernel_elf_HEADERS): Add list.h and handler.h.
31681
31682 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
31683 handler.c.
31684 (kernel_elf_SOURCES): Add list.c and handler.c.
31685 (kernel_elf_HEADERS): Add list.h and handler.h.
31686
31687 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
31688 handler.c.
31689 (kernel_mod_SOURCES): Add list.c and handler.c.
31690 (kernel_mod_HEADERS): Add list.h and handler.h.
31691
31692 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
31693 handler.c.
31694 (kernel_elf_SOURCES): Add list.c and handler.c.
31695 (kernel_elf_HEADERS): Add list.h and handler.h.
31696
31697 2009-02-27 Robert Millan <rmh@aybabtu.com>
31698
31699 Factorize elf32 / elf64 code in Multiboot loader. This will
31700 prevent it from getting out of sync again.
31701
31702 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
31703 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
31704 grub_multiboot_load_elf64): Move from here ...
31705 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
31706 grub_multiboot_load_elf): ... to here (new file).
31707
31708 2009-02-27 Robert Millan <rmh@aybabtu.com>
31709
31710 * util/grub.d/10_linux.in: Rename "single-user mode" to
31711 "recovery mode".
31712
31713 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
31714
31715 Don't leak in SCSI code.
31716 * disk/scsi.c (grub_scsi_close): free `scsi'.
31717
31718 2009-02-27 Robert Millan <rmh@aybabtu.com>
31719
31720 * loader/i386/pc/multiboot.c: Move from here ...
31721 * loader/i386/multiboot.c: ... to here. Update all users.
31722
31723 2009-02-27 Robert Millan <rmh@aybabtu.com>
31724
31725 Patch from Alexandre Bique <bique.alexandre@gmail.com>
31726 * util/i386/pc/grub-setup.c (setup): Fix directory path.
31727
31728 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
31729
31730 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
31731 b-tree.
31732
31733 2009-02-27 Robert Millan <rmh@aybabtu.com>
31734
31735 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
31736 `0x' qualifier as 0 when base is specified as parameter).
31737
31738 2009-02-24 Bean <bean123ch@gmail.com>
31739
31740 * configure.ac: Check for -mcmodel=large in x86_64 target.
31741
31742 * include/grub/efi/api.h (efi_call_10): New macro.
31743 (efi_wrap_10): New function.
31744
31745 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
31746 (GRUB_PE32_REL_BASED_HIGH): Likewise.
31747 (GRUB_PE32_REL_BASED_LOW): Likewise.
31748 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
31749 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
31750 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
31751 (GRUB_PE32_REL_BASED_SECTION): Likewise.
31752 (GRUB_PE32_REL_BASED_REL): Likewise.
31753 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
31754 (GRUB_PE32_REL_BASED_DIR64): Likewise.
31755 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
31756
31757 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
31758 issue.
31759
31760 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
31761 (efi_wrap_10): New function.
31762
31763 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
31764
31765 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
31766 MB/MBP model (NV chipset).
31767 (devdata_devs): Add devpath_5 to the list.
31768
31769 * load/i386/efi/linux.c (video_base): Remove variable.
31770 (RGB_MASK): New macro.
31771 (RGB_MAGIC): Likewise.
31772 (LINE_MIN): Likewise.
31773 (LINE_MAX): Likewise.
31774 (FBTEST_STEP): Likewise.
31775 (FBTEST_COUNT): Likewise.
31776 (fb_list): New variable.
31777 (grub_find_video_card): Remove function.
31778 (find_framebuf): New function.
31779 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
31780 line length.
31781
31782 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
31783 problem for x86_64.
31784
31785 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
31786
31787 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
31788
31789 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
31790 coding tool name.
31791
31792 2009-02-22 Robert Millan <rmh@aybabtu.com>
31793
31794 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
31795 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
31796 in our relocation, instead of using it directly from heap. Also
31797 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
31798
31799 2009-02-21 Robert Millan <rmh@aybabtu.com>
31800
31801 Implement USB keyboard support (based on patch by Marco Gerards)
31802
31803 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
31804 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
31805 (usb_keyboard_mod_LDFLAGS): New variables.
31806
31807 * term/usb_keyboard.c: New file.
31808
31809 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
31810
31811 Corrected wrong declaration
31812
31813 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
31814
31815 2009-02-14 Christian Franke <franke@computer.org>
31816
31817 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
31818 (grub_lspci_iter): Print class code and programming interface byte.
31819
31820 2009-02-14 Christian Franke <franke@computer.org>
31821
31822 * gendistlist.sh: Ignore `.svn' directories.
31823
31824 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
31825
31826 * fs/fat.c: Add 2009 to Copyright line.
31827
31828 2009-02-14 Christian Franke <franke@computer.org>
31829
31830 * commands/hdparm.c: New file. Provides `hdparm' command
31831 which sends ATA commands via grub_disk_ata_pass_through ().
31832
31833 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
31834
31835 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
31836 and <grub/cpu/io.h> to include/grub/ata.h.
31837 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
31838 (GRUB_CDROM_SECTOR_SIZE): Remove.
31839 (GRUB_ATA_*): Move to include/grub/ata.h.
31840 (GRUB_ATAPI_*): Likewise.
31841 (enum grub_ata_commands): Likewise.
31842 (enum grub_ata_timeout_milliseconds): Likewise.
31843 (struct grub_ata_device): Likewise.
31844 (grub_ata_regset): Likewise.
31845 (grub_ata_regget): Likewise.
31846 (grub_ata_regset2): Likewise.
31847 (grub_ata_regget2): Likewise.
31848 (grub_ata_check_ready): Likewise.
31849 (grub_ata_wait_not_busy): Remove static, exported in
31850 include/grub/ata.h.
31851 (grub_ata_wait_drq): Likewise.
31852 (grub_ata_pio_read): Likewise.
31853
31854 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
31855 function for hdparm.mod.
31856
31857 * include/grub/ata.h: New file, contains declarations from
31858 disk/ata.c.
31859 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
31860
31861 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
31862 (grub_disk_ata_pass_through): New exported variable.
31863
31864 * kern/disk.c (grub_disk_ata_pass_through): New variable.
31865
31866 2009-02-13 Colin D Bennett <colin@gibibit.com>
31867
31868 Support multiple fallback entries, and provide an API to support
31869 executing default+fallback menu entries. Renamed the `terminal' menu
31870 viewer to `text'.
31871
31872 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
31873 variable declaration.
31874 (grub_menu_execute_callback): New structure declaration.
31875 (grub_menu_execute_callback_t): New typedef.
31876 (grub_menu_execute_with_fallback): New function declaration.
31877 (grub_menu_get_entry): Likewise.
31878 (grub_menu_get_timeout): Likewise.
31879 (grub_menu_set_timeout): Likewise.
31880
31881 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
31882
31883 * normal/menu.c (grub_wait_after_message): Moved to
31884 `normal/menu_text.c'.
31885 (draw_border): Likewise.
31886 (print_message): Likewise.
31887 (print_entry): Likewise.
31888 (print_entries): Likewise.
31889 (grub_menu_init_page): Likewise.
31890 (get_entry_number): Likewise.
31891 (print_timeout): Likewise.
31892 (run_menu): Likewise.
31893 (grub_menu_execute_entry): Likewise.
31894 (show_text_menu): Likewise.
31895 (get_and_remove_first_entry_number): New function.
31896 (grub_menu_execute_with_fallback): Likewise.
31897 (get_entry): Renamed to ...
31898 (grub_menu_get_entry): .. this and made it global.
31899 (get_timeout): Renamed to ...
31900 (grub_menu_get_timeout): ... this and made it global.
31901 (set_timeout): Renamed to ...
31902 (grub_menu_set_timeout): ... this and made it global.
31903 (grub_normal_terminal_menu_viewer): Renamed to ...
31904 (grub_normal_text_menu_viewer): ... this.
31905
31906 * normal/menu_text.c: New file. Extracted text-menu-specific code
31907 from normal/menu.c.
31908
31909 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
31910 (normal_mod_SOURCES): Likewise.
31911
31912 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31913 (normal_mod_SOURCES): Likewise.
31914
31915 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31916 (normal_mod_SOURCES): Likewise.
31917
31918 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
31919 (normal_mod_SOURCES): Likewise.
31920
31921 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31922 (normal_mod_SOURCES): Likewise.
31923
31924 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31925 (normal_mod_SOURCES): Likewise.
31926
31927 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31928 (normal_mod_SOURCES): Likewise.
31929
31930 2009-02-11 Robert Millan <rmh@aybabtu.com>
31931
31932 * util/grub.d/00_header.in: Update old reference to `font' command.
31933
31934 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
31935
31936 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
31937
31938 Based on patch from Javier Martín.
31939
31940 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
31941
31942 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
31943 to avoid false positives with FAT.
31944 (grub_fstest_SOURCES): Likewise.
31945 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31946 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31947 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31948 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31949 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31950 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31951
31952 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
31953
31954 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
31955 bpb.version_specific.fat12_or_fat16.fstype and
31956 bpb.version_specific.fat32.fstype.
31957
31958 2009-02-08 Robert Millan <rmh@aybabtu.com>
31959
31960 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
31961
31962 2009-02-08 Robert Millan <rmh@aybabtu.com>
31963
31964 * Makefile.in (host_os, host_cpu): New variables.
31965 (target_os): Remove. Update all users.
31966
31967 2009-02-08 Marco Gerards <marco@gnu.org>
31968
31969 * Makefile.in (enable_grub_emu_usb): New variable.
31970 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
31971 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
31972 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
31973 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
31974 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
31975 `usbtest.mod' and `usbms.mod'.
31976 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
31977 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
31978 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
31979 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
31980 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
31981 variables.
31982
31983 * disk/usbms.c: New file.
31984
31985 * include/grub/usb.h: Likewise.
31986
31987 * include/grub/usbtrans.h: Likewise.
31988
31989 * include/grub/usbdesc.h: Likewise.
31990
31991 * bus/usb/usbtrans.c: Likewise.
31992
31993 * bus/usb/ohci.c: Likewise.
31994
31995 * bus/usb/uhci.c: Likewise.
31996
31997 * bus/usb/usbhub.c: Likewise.
31998
31999 * bus/usb/usb.c: Likewise.
32000
32001 * commands/usbtest.c: Likewise.
32002
32003 * util/usb.c: Likewise.
32004
32005 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
32006
32007 * configure.ac: Test for libusb presence.
32008
32009 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
32010
32011 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
32012
32013 * kern/mm.c: Add more comments.
32014
32015 2009-02-08 Robert Millan <rmh@aybabtu.com>
32016
32017 Patch from Javier Martín.
32018 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
32019 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
32020
32021 2009-02-08 Robert Millan <rmh@aybabtu.com>
32022
32023 * fs/cpio.c: Split tar functionality to ...
32024 * fs/tar.c: ... here (new file). Update all users.
32025
32026 2009-02-07 Robert Millan <rmh@aybabtu.com>
32027
32028 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
32029 backward-incompatible features.
32030
32031 Based on patch from Javier Martín, with some adjustments.
32032
32033 2009-02-07 Michael Scherer <misc@mandriva.org>
32034
32035 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
32036
32037 2009-02-07 Robert Millan <rmh@aybabtu.com>
32038
32039 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
32040 position of `disk/lvm.c' to ensure grub_init_all() always picks it
32041 after the RAID stuff.
32042
32043 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
32044
32045 Fixes problem when running vbetest command as reported by
32046 Vladimir Serbinenko <phcoder@gmail.com>.
32047
32048 * (grub_vbe_set_video_mode): Fixed problem with text modes.
32049
32050 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
32051
32052 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
32053 /dev/md/NpN style mdraid devices.
32054
32055 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
32056
32057 * util/unifont2pff.rb: Remove.
32058
32059 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
32060
32061 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
32062 `#'.
32063
32064 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
32065
32066 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
32067 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32068 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32069 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32070 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32071 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32072 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32073
32074 2009-02-02 Christian Franke <franke@computer.org>
32075
32076 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
32077
32078 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
32079
32080 * INSTALL: Note that we now require at least autoconf 2.59 and
32081 that LZO is optional.
32082
32083 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
32084
32085 Base on patch on bug #24154 created by Tomas Tintera
32086 <trosos@seznam.cz>.
32087
32088 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
32089
32090 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
32091
32092 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
32093 <bero@arklinux.org>.
32094
32095 * normal/parser.y (script_init): Add missing semicolon.
32096
32097 2009-01-31 Colin D Bennett <colin@gibibit.com>
32098
32099 * normal/main.c: Add include to grub/menu_viewer.h.
32100 (free_menu_entry_classes): Added.
32101 (grub_normal_menu_addentry): Added class property handling.
32102 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
32103 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
32104
32105 * normal/menu_viewer.c: New file.
32106
32107 * normal/menu.c (run_menu_entry): Renamed to ...
32108 (grub_menu_execute_entry): ... this and made it as global.
32109 (grub_menu_run): Renamed to ...
32110 (show_text_menu): ... this and made it local.
32111 (show_text_menu): Adapt to new function names.
32112 (grub_normal_terminal_menu_viewer): New global variable.
32113
32114 * include/grub/menu.h: New file.
32115
32116 * include/grub/menu_viewer.h: New file.
32117
32118 * include/grub/normal.h: Added include to grub/menu.h.
32119 (grub_menu_entry): Moved to include/grub/menu.h.
32120 (grub_menu_entry_t): Likewise.
32121 (grub_menu): Likewise.
32122 (grub_menu_t): Likewise.
32123 (grub_normal_terminal_menu_viewer): Added.
32124 (grub_menu_execute_entry): Likewise.
32125 (grub_menu_run): Removed.
32126
32127 * DISTLIST: Added include/grub/menu.h.
32128 Added include/grub/menu_viewer.h.
32129 Added normal/menu_viewer.c.
32130
32131 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
32132
32133 * normal/execute.c (grub_script_execute_menuentry): Changed to use
32134 arglist for menutitle arguments.
32135
32136 * normal/main.c (grub_normal_menu_addentry): Likewise.
32137
32138 * normal/parser.y (menuentry): Likewise.
32139
32140 * normal/script.c (grub_script_create_cmdmenu): Likewise.
32141
32142 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
32143 (grub_script_create_cmdmenu): Likewise.
32144
32145 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
32146
32147 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
32148 changes.
32149
32150 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
32151
32152 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
32153
32154 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
32155
32156 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32157
32158 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32159
32160 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32161
32162 2009-01-30 Christian Franke <franke@computer.org>
32163
32164 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
32165 in option help text.
32166
32167 2009-01-27 Pavel Roskin <proski@gnu.org>
32168
32169 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
32170
32171 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
32172
32173 * commands/lsmmap.c: Add include to grub/machine/memory.h.
32174
32175 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
32176
32177 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
32178 unregister function.
32179
32180 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
32181
32182 * disk/scsi.c (grub_scsi_read): Fix sign problem.
32183
32184 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
32185
32186 * util/grub-mkfont.c (usage): Fix typo.
32187
32188 * util/elf/grub-mkimage.c (load_modules): Fix warning.
32189
32190 2009-01-26 Daniel Mierswa <impulze@impulze.org>
32191
32192 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
32193
32194 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
32195
32196 * kern/misc.c (grub_strcasecmp): New function.
32197 (grub_strcasecmp): Use grub_size_t instead of int for length.
32198 Fix return value.
32199 * include/grub/misc.h: Update function prototypes.
32200
32201 2009-01-26 Robert Millan <rmh@aybabtu.com>
32202
32203 * configure.ac: Fix cross-compilation check.
32204
32205 2009-01-22 Christian Franke <franke@computer.org>
32206
32207 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
32208 (precision) digit string. Allow `.format2' without `format1' (width).
32209 Limit input chars for `%s' output to `format2' if specified. This is
32210 compatible with standard printf ().
32211
32212 2009-01-22 Christian Franke <franke@computer.org>
32213
32214 * disk/ata.c (grub_ata_wait_status): Replace by ...
32215 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
32216 other status bits may be invalid while BSY is asserted.
32217 (grub_ata_check_ready): New function.
32218 (grub_ata_cmd): Removed.
32219 (grub_ata_wait_drq): New function.
32220 (grub_ata_strncpy): Remove inline.
32221 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
32222 and error check now done by grub_ata_wait_drq ().
32223 (grub_ata_pio_write): Likewise.
32224 (grub_atapi_identify): Set DEV before check for !BSY. Use
32225 grub_ata_wait_drq () to wait for data.
32226 (grub_ata_device_initialize): Add status register check to
32227 detect missing SATA slave devices. Add debug messages.
32228 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
32229 (grub_atapi_packet): Set DEV before check for !BSY. Replace
32230 transfer loop by grub_ata_pio_write ().
32231 (grub_ata_identify): Set DEV before check for !BSY. Use
32232 grub_ata_wait_drq () to wait for data.
32233 (grub_ata_setaddress): Set DEV before check for !BSY.
32234 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
32235 read/write in one loop. Fix invalid command on write. Fix incomplete
32236 command on (size % batch) == 0. Add missing error check after write of
32237 last block. Add debug messages.
32238 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
32239
32240 2009-01-19 Christian Franke <franke@computer.org>
32241
32242 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
32243 (GRUB_ATAPI_IREASON_*): Likewise.
32244 (grub_ata_pio_write): Fix timeout error return.
32245 (grub_atapi_identify): Add grub_ata_wait () after cmd.
32246 (grub_atapi_wait_drq): New function.
32247 (grub_atapi_packet): New parameter `size'.
32248 Use grub_atapi_wait_drq () and direct write instead of
32249 grub_ata_pio_write ().
32250 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
32251 reads the number of bytes requested by the device for each DRQ
32252 assertion.
32253 (grub_atapi_write): Remove old implementation, return not
32254 implemented instead.
32255
32256 2009-01-19 Christian Franke <franke@computer.org>
32257
32258 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
32259 of 512 to calculate data size.
32260 (grub_scsi_read12): Likewise.
32261 (grub_scsi_write10): Likewise.
32262 (grub_scsi_write12): Likewise.
32263 (grub_scsi_read): Adjust size according to blocksize.
32264 Add checks for invalid blocksize and unaligned transfer.
32265
32266 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
32267
32268 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
32269
32270 * term/gfxterm.c (write_char): Fix background rendering for wide
32271 width glyphs.
32272
32273 2009-01-19 Robert Millan <rmh@aybabtu.com>
32274
32275 * config.guess: Update to latest version from config git.
32276 * config.sub: Likewise.
32277
32278 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
32279
32280 * Makefile.in: Change font compilation to use new grub-mkfont instead
32281 of java version.
32282
32283 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
32284 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
32285 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
32286 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
32287 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
32288 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
32289 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
32290 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
32291 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
32292
32293 2009-01-16 Christian Franke <franke@computer.org>
32294
32295 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
32296 (enum grub_ata_timeout_milliseconds): New enum.
32297 (grub_ata_wait_status): Add parameter milliseconds.
32298 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
32299 recovery from timed-out commands.
32300 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
32301 return grub_errno instead of REG_ERROR.
32302 (grub_ata_pio_write): Add parameter milliseconds.
32303 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
32304 Pass milliseconds to grub_ata_wait_status () and
32305 grub_ata_pio_read ().
32306 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
32307 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
32308 grub_ata_wait_status (). Fix IDENTIFY timeout check.
32309 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
32310 It is not suitable for device detection, because DEV bit is ignored,
32311 the command may run too long, and not all devices set the signature
32312 properly.
32313 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
32314 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
32315 Fix device selection, DEV bit must be set first to address the registers
32316 of the correct device.
32317 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
32318 grub_ata_pio_read/write ().
32319 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
32320 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
32321
32322 2009-01-13 Carles Pina i Estany <carles@pina.cat>
32323
32324 * util/grub-editenv.c (main): Use fseeko(), not fseek().
32325
32326 2009-01-13 Bean <bean123ch@gmail.com>
32327
32328 * util/grub-mkfont.c (write_font): forget to remove some debug code.
32329
32330 2009-01-13 Bean <bean123ch@gmail.com>
32331
32332 * Makefile.in: (enable_grub_mkfont): New variable.
32333 (freetype_cflags): Likewise.
32334 (freetype_libs): Likewise.
32335
32336 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
32337 (grub_mkfont_SOURCES): New variable.
32338 (grub_mkfont_CFLAGS): Likewise.
32339 (grub_mkfont_LDFLAGS): Likewise.
32340
32341 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
32342 library if `--enable-grub-mkfont' is requested.
32343 (enable_grub_mkfont): New variable.
32344 (freetype_cflags): Likewise.
32345 (freetype_libs): Likewise.
32346
32347 * util/grub-mkfont.c: New file.
32348
32349 2009-01-12 Christian Franke <franke@computer.org>
32350
32351 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
32352 mode check. Fix setting of compat_use[].
32353
32354 2009-01-10 Robert Millan <rmh@aybabtu.com>
32355
32356 Update a few copyright years which we forgot to do in 2008 (only for
32357 files whose changes made in 2008 were copyright-significant)
32358
32359 * Makefile.in: Add 2008 to Copyright line.
32360 * disk/ieee1275/ofdisk.c: Likewise.
32361 * disk/efi/efidisk.c: Likewise.
32362 * kern/dl.c: Likewise.
32363 * kern/sparc64/ieee1275/init.c: Likewise.
32364 * kern/mm.c: Likewise.
32365 * kern/efi/mm.c: Likewise.
32366 * boot/i386/pc/boot.S: Likewise.
32367 * genfslist.sh: Likewise.
32368 * fs/iso9660.c: Likewise.
32369 * fs/hfs.c: Likewise.
32370 * fs/jfs.c: Likewise.
32371 * fs/minix.c: Likewise.
32372 * fs/ufs.c: Likewise.
32373 * gensymlist.sh.in: Likewise.
32374 * genkernsyms.sh.in: Likewise.
32375 * include/grub/misc.h: Likewise.
32376 * include/grub/types.h: Likewise.
32377 * include/grub/symbol.h: Likewise.
32378 * include/grub/elf.h: Likewise.
32379 * include/grub/kernel.h: Likewise.
32380 * include/grub/disk.h: Likewise.
32381 * include/grub/dl.h: Likewise.
32382 * include/grub/i386/linux.h: Likewise.
32383 * include/grub/i386/pc/biosdisk.h: Likewise.
32384 * include/grub/efi/api.h: Likewise.
32385 * include/grub/efi/pe32.h: Likewise.
32386 * include/grub/util/misc.h: Likewise.
32387 * normal/execute.c: Likewise.
32388 * normal/arg.c: Likewise.
32389 * normal/completion.c: Likewise.
32390 * normal/lexer.c: Likewise.
32391 * normal/parser.y: Likewise.
32392 * normal/misc.c: Likewise.
32393 * commands/i386/pc/vbeinfo.c: Likewise.
32394 * commands/hexdump.c: Likewise.
32395 * commands/terminal.c: Likewise.
32396 * commands/ls.c: Likewise.
32397 * commands/help.c: Likewise.
32398 * partmap/pc.c: Likewise.
32399 * loader/efi/chainloader.c: Likewise.
32400 * loader/multiboot_loader.c: Likewise.
32401 * loader/i386/pc/multiboot2.c: Likewise.
32402 * term/efi/console.c: Likewise.
32403 * term/i386/pc/serial.c: Likewise.
32404 * util/lvm.c: Likewise.
32405 * util/console.c: Likewise.
32406 * util/i386/efi/grub-mkimage.c: Likewise.
32407 * util/raid.c: Likewise.
32408
32409 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
32410
32411 * commands/videotest.c: Removed include to grub/machine/memory.h.
32412
32413 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
32414 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
32415 (video_mod_SOURCES): Removed.
32416 (video_mod_CFLAGS): Likewise.
32417 (video_mod_LDFLAGS): Likewise.
32418 (gfxterm_mod_SOURCES): Likewise.
32419 (gfxterm_mod_CFLAGS): Likewise.
32420 (gfxterm_mod_LDFLAGS): Likewise.
32421 (videotest_mod_SOURCES): Likewise.
32422 (videotest_mod_CFLAGS): Likewise.
32423 (videotest_mod_LDFLAGS): Likewise.
32424 (bitmap_mod_SOURCES): Likewise.
32425 (bitmap_mod_CFLAGS): Likewise.
32426 (bitmap_mod_LDFLAGS): Likewise.
32427 (tga_mod_SOURCES): Likewise.
32428 (tga_mod_CFLAGS): Likewise.
32429 (tga_mod_LDFLAGS): Likewise.
32430 (jpeg_mod_SOURCES): Likewise.
32431 (jpeg_mod_CFLAGS): Likewise.
32432 (jpeg_mod_LDFLAGS): Likewise.
32433 (png_mod_SOURCES): Likewise.
32434 (png_mod_CFLAGS): Likewise.
32435 (png_mod_LDFLAGS): Likewise.
32436
32437 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
32438 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
32439 (video_mod_SOURCES): Added.
32440 (video_mod_CFLAGS): Likewise.
32441 (video_mod_LDFLAGS): Likewise.
32442 (videotest_mod_SOURCES): Likewise.
32443 (videotest_mod_CFLAGS): Likewise.
32444 (videotest_mod_LDFLAGS): Likewise.
32445 (bitmap_mod_SOURCES): Likewise.
32446 (bitmap_mod_CFLAGS): Likewise.
32447 (bitmap_mod_LDFLAGS): Likewise.
32448 (tga_mod_SOURCES): Likewise.
32449 (tga_mod_CFLAGS): Likewise.
32450 (tga_mod_LDFLAGS): Likewise.
32451 (jpeg_mod_SOURCES): Likewise.
32452 (jpeg_mod_CFLAGS): Likewise.
32453 (jpeg_mod_LDFLAGS): Likewise.
32454 (png_mod_SOURCES): Likewise.
32455 (png_mod_CFLAGS): Likewise.
32456 (png_mod_LDFLAGS): Likewise.
32457 (gfxterm_mod_SOURCES): Likewise.
32458 (gfxterm_mod_CFLAGS): Likewise.
32459 (gfxterm_mod_LDFLAGS): Likewise.
32460
32461 * term/gfxterm.c: Removed include to grub/machine/memory.h,
32462 grub/machine/console.h.
32463
32464 2009-01-04 Jerone Young <jerone@gmail.com>
32465
32466 Make on screen instructions clearer
32467
32468 Based on patch created by Jidanni <jidanni@jidanni.org>
32469
32470 * normal/menu.c: print clearer instructions on the screen
32471
32472 2009-01-02 Colin D Bennett <colin@gibibit.com>
32473
32474 New font engine.
32475
32476 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
32477 build system and fixed gfxterm.c to work with different sized fonts.
32478
32479 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
32480
32481 * configure: Re-generated.
32482
32483 * DISTLIST: Removed font/manager.c.
32484 Added font/font.c.
32485 Added font/font_cmd.c.
32486
32487 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
32488 compilation.
32489
32490 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
32491
32492 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
32493
32494 * kern/term.c: Changed users of grub_utf8_to_ucs4.
32495
32496 * normal/menu.c: Likewise.
32497
32498 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
32499 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
32500
32501 * include/grub/font.h: Replaced with new file.
32502
32503 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
32504 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
32505 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
32506 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
32507 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
32508 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
32509 fg_red, fg_green, fg_blue, fg_alpha.
32510 (grub_video_adapter): Removed blit_glyph.
32511 (grub_video_blit_glyph): Removed.
32512
32513 * font/manager.c: Removed file.
32514
32515 * font/font.c: New file.
32516
32517 * font/font_cmd.c: Likewise.
32518
32519 * video/video.c (grub_video_blit_glyph): Removed.
32520
32521 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
32522 (grub_video_vbe_map_rgba): Likewise.
32523 (grub_video_vbe_unmap_color_int): Likewise.
32524 (grub_video_vbe_blit_glyph): Removed.
32525 (grub_video_vbe_adapter): Removed blit_glyph.
32526
32527 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
32528 (get_pixel): Likewise.
32529 (set_pixel): Likewise.
32530
32531 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
32532
32533 * term/gfxterm.c: Adapted to new font engine.
32534
32535 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
32536
32537 * term/i386/pc/vga.c: Likewise.
32538
32539 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
32540
32541 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
32542
32543 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
32544
32545 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
32546
32547 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
32548
32549 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
32550
32551 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
32552
32553 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
32554
32555 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
32556
32557 * util/grub.d/00_header.in: Changed to use new loadfont command.
32558
32559 * util/grub-mkconfig_lib.in: Changed font extension.
32560
32561 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
32562
32563 * util/getroot.c (grub_util_get_grub_dev): Add support for
32564 /dev/md/dNNpNN style partitionable mdraid devices.
32565
32566 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
32567
32568 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
32569 at a time limit of the PXE TFTP API correctly.
32570 (grub_pxefs_close): Likewise.
32571
32572 2008-11-29 Robert Millan <rmh@aybabtu.com>
32573
32574 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
32575 grub_ata_device_initialize() calls.
32576
32577 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
32578
32579 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
32580 iteration failed.
32581 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
32582
32583 2008-11-28 Robert Millan <rmh@aybabtu.com>
32584
32585 Fix build on powerpc-ieee1275. Based on patch created by
32586 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
32587 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
32588 `kern/ieee1275/mmap.c'.
32589 * include/grub/powerpc/ieee1275/memory.h: New file.
32590
32591 Provide grub-install on coreboot.
32592 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
32593 (grub_install_SOURCES): New variable.
32594 * util/i386/pc/grub-install.in: Add a few condition checks to make it
32595 usable on coreboot.
32596
32597 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
32598
32599 * util/grub-fstest.c (grub_term_get_current_input): Change return type
32600 to `grub_term_input_t'.
32601 (grub_term_get_current_output): Change return type to
32602 `grub_term_output_t'.
32603
32604 2008-11-22 Robert Millan <rmh@aybabtu.com>
32605
32606 Fix breakage on coreboot due to declaration mismatch.
32607 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
32608 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
32609 grub_vga_text_cls().
32610
32611 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
32612 comments. Avoid copying one more byte than necessary (just in case).
32613
32614 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
32615 to 0x200000 (avoids trouble with some OFW implementations, and matches
32616 with the one in Yaboot).
32617 Reported by Manoel Abranches
32618
32619 2008-11-20 Robert Millan <rmh@aybabtu.com>
32620
32621 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
32622 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
32623
32624 * util/grub-mkconfig_lib.in (grub_warn): New function.
32625 (convert_system_path_to_grub_path): Use grub_warn() when issuing
32626 warnings, to obtain consistent formatting.
32627 * util/grub.d/00_header.in: Likewise.
32628 * util/update-grub_lib.in: Likewise.
32629
32630 * loader/i386/linux.c (allocate_pages): Fix a warning.
32631 Move comment text to `#error' stanza.
32632
32633 Harmonize ieee1275's grub_available_iterate() with the generic
32634 grub_machine_mmap_iterate() interface (fixes a recently-introduced
32635 build problem on i386-ieee1275):
32636 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
32637 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
32638 parameter `type'. Update all users of this function.
32639 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
32640 `kern/ieee1275/mmap.c'.
32641 * kern/ieee1275/init.c
32642 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
32643 with ...
32644 (grub_machine_mmap_iterate): ... this.
32645 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
32646 return type to `grub_err_t'. Update all implementations of this
32647 function prototype.
32648 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
32649 Likewise.
32650
32651 Add `lsmmap' command (lists firmware-provided memory map):
32652 * commands/lsmmap.c: New file.
32653 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
32654 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
32655 variables.
32656 * conf/powerpc-ieee1275.rmk: Likewise.
32657 * conf/i386-coreboot.rmk: Likewise.
32658 * conf/i386-ieee1275.rmk: Likewise.
32659
32660 2008-11-19 Robert Millan <rmh@aybabtu.com>
32661
32662 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
32663 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
32664 constraints to initrd allocation (based on code from
32665 loader/i386/pc/linux.c). Without them, initrd was allocated too high
32666 for Linux to find it.
32667
32668 2008-11-14 Robert Millan <rmh@aybabtu.com>
32669
32670 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
32671 order to cope with duplicate slashes.
32672
32673 2008-11-14 Robert Millan <rmh@aybabtu.com>
32674
32675 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
32676 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
32677 don't want to mess with lower memory, because it is used in the Linux
32678 loader.
32679
32680 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
32681 an appropriate place in lower memory, between 0x10000 and 0x90000,
32682 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
32683 is in our heap (probably as a result of it being corrupted during
32684 decompression). Add #error instance with comment to explain why this
32685 loader isn't currently usable on PC/BIOS.
32686
32687 2008-11-14 Robert Millan <rmh@aybabtu.com>
32688
32689 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
32690 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
32691
32692 2008-11-12 Robert Millan <rmh@aybabtu.com>
32693
32694 Make loader/i386/linux.c buildable on i386-pc (although disabled).
32695
32696 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
32697 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
32698 from here ...
32699 * include/grub/i386/pc/memory.h: ... to here.
32700
32701 2008-11-12 Robert Millan <rmh@aybabtu.com>
32702
32703 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
32704 split).
32705
32706 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
32707 (grub_console_cur_color, grub_console_real_putchar)
32708 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
32709 (grub_console_setcolorstate, grub_console_setcolor)
32710 (grub_console_getcolor): Move from here ...
32711 * include/grub/i386/vga_common.h: ... to here (new file).
32712
32713 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
32714 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
32715 `<grub/i386/io.h>'.
32716 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
32717 `<grub/i386/vga_common.h>'.
32718
32719 2008-11-12 Robert Millan <rmh@aybabtu.com>
32720
32721 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
32722 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
32723 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
32724 variables.
32725 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
32726 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
32727
32728 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
32729 grub_console_init() with call to grub_vga_text_init().
32730 (grub_machine_fini): Replace call to
32731 grub_console_fini() with call to grub_vga_text_fini() and
32732 grub_at_keyboard_fini().
32733
32734 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
32735 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
32736 (grub_console_setcolorstate, grub_console_setcolor)
32737 (grub_console_getcolor): New function prototypes.
32738
32739 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
32740 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
32741 (grub_vga_text_setcursor): Static-ize.
32742 (grub_vga_text_term): New structure.
32743 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
32744
32745 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
32746 (grub_console_cur_color, grub_console_standard_color)
32747 (grub_console_normal_color, grub_console_highlight_color)
32748 (map_char, grub_console_putchar, grub_console_getcharwidth)
32749 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
32750 (grub_console_getcolor): Move from here ...
32751 * term/i386/vga_common.c: ... to here (same function names).
32752
32753 2008-11-12 Robert Millan <rmh@aybabtu.com>
32754
32755 Use newly-added Multiboot support in coreboot.
32756
32757 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
32758 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
32759
32760 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
32761 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
32762 (codestart): Store the MBI in `startup_multiboot_info' when we're
32763 being loaded using Multiboot.
32764
32765 * kern/i386/coreboot/init.c (grub_machine_init): Move
32766 grub_at_keyboard_init() call to beginning of function (useful for
32767 debugging). Call grub_machine_mmap_init() before attempting to use
32768 grub_machine_mmap_iterate().
32769 (grub_lower_mem, grub_upper_mem): Move from here ...
32770 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
32771 here (new file).
32772
32773 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
32774 function prototype.
32775
32776 2008-11-12 Robert Millan <rmh@aybabtu.com>
32777
32778 Fix a regression introduced by the at_keyboard.mod split. Because
32779 some terminals are default on some platforms and non-default on
32780 others, the first terminal being registered determines which is
32781 going to be default.
32782
32783 * kern/term.c (grub_term_register_input): If this is the first
32784 terminal being registered, set it as the current one.
32785 (grub_term_register_output): Likewise.
32786
32787 * term/efi/console.c (grub_console_init): Do not call
32788 grub_term_set_current_output() or grub_term_set_current_input().
32789 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
32790 * term/i386/pc/console.c (grub_console_init): Likewise.
32791 (grub_console_fini): Do not call grub_term_set_current_input()
32792 (but leave grub_term_set_current_output() to restore text mode).
32793
32794 2008-11-10 Robert Millan <rmh@aybabtu.com>
32795
32796 * util/grub.d/00_header.in: Add backward compatibility check for
32797 versions of terminal.mod that don't understand `terminal_input' or
32798 `terminal_output'.
32799
32800 2008-11-09 Robert Millan <rmh@aybabtu.com>
32801
32802 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
32803 `terminal_input' / `terminal_output', not `terminal'.
32804
32805 2008-11-08 Robert Millan <rmh@aybabtu.com>
32806
32807 * Makefile.in (include_DATA): Fix srcdir=. assumption.
32808 (DISTCLEANFILES): Add `build_env.mk'.
32809
32810 2008-11-08 Robert Millan <rmh@aybabtu.com>
32811
32812 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
32813 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
32814 members. Update all users.
32815 * util/console.c (grub_ncurses_term): Split in ...
32816 (grub_ncurses_term_input): ... this, and ...
32817 (grub_ncurses_term_output): ... this. Update all users.
32818 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
32819
32820 2008-11-08 Robert Millan <rmh@aybabtu.com>
32821
32822 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
32823 (PKGDATA): Add $(pkgdata_SRCDIR).
32824 (pkglib_BUILDDIR): New variable.
32825 (pkgdata_SRCDIR): New variable.
32826 (build_env.mk): New target.
32827 (include_DATA): New variable.
32828 (install-local): Install $(include_DATA) files in $(includedir).
32829
32830 2008-11-07 Pavel Roskin <proski@gnu.org>
32831
32832 * gendistlist.sh: Use C locale for sorting to ensure consistent
32833 output on all systems.
32834
32835 * util/grub.d/00_header.in: Remove incorrect space before
32836 "serial".
32837
32838 2008-11-07 Robert Millan <rmh@aybabtu.com>
32839
32840 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
32841 per specification.
32842 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
32843 * loader/multiboot_loader.c (find_multi_boot2_header): New function
32844 (based on find_multi_boot1_header).
32845 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
32846 using find_multi_boot2_header(), and abort if neither Multiboot or
32847 Multiboot headers were found.
32848
32849 2008-11-07 Robert Millan <rmh@aybabtu.com>
32850
32851 Modularize at_keyboard.mod:
32852
32853 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
32854 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
32855 (at_keyboard_mod_LDFLAGS): New variables.
32856
32857 Actual terminal split:
32858
32859 * include/grub/term.h (struct grub_term): Split in ...
32860 (struct grub_term_input): ... this, and ...
32861 (struct grub_term_output): ... this. Update all users.
32862 (grub_term_set_current): Split in ...
32863 (grub_term_set_current_input): ... this, and ...
32864 (grub_term_set_current_output): ... this.
32865 (grub_term_get_current): Split in ...
32866 (grub_term_get_current_input): ... this, and ...
32867 (grub_term_get_current_output): ... this.
32868 (grub_term_register): Split in ...
32869 (grub_term_register_input): ... this, and ...
32870 (grub_term_register_output): ... this.
32871 (grub_term_unregister): Split in ...
32872 (grub_term_unregister_input): ... this, and ...
32873 (grub_term_unregister_output): ... this.
32874 (grub_term_iterate): Split in ...
32875 (grub_term_iterate_input): ... this, and ...
32876 (grub_term_iterate_output): ... this.
32877
32878 * kern/term.c (grub_term_list): Split in ...
32879 (grub_term_list_input): ... this, and ...
32880 (grub_term_list_output): ... this. Update all users.
32881 (grub_cur_term): Split in ...
32882 (grub_cur_term_input): ... this, and ...
32883 (grub_cur_term_output): ... this. Update all users.
32884 (grub_term_set_current): Split in ...
32885 (grub_term_set_current_input): ... this, and ...
32886 (grub_term_set_current_output): ... this.
32887 (grub_term_get_current): Split in ...
32888 (grub_term_get_current_input): ... this, and ...
32889 (grub_term_get_current_output): ... this.
32890 (grub_term_register): Split in ...
32891 (grub_term_register_input): ... this, and ...
32892 (grub_term_register_output): ... this.
32893 (grub_term_unregister): Split in ...
32894 (grub_term_unregister_input): ... this, and ...
32895 (grub_term_unregister_output): ... this.
32896 (grub_term_iterate): Split in ...
32897 (grub_term_iterate_input): ... this, and ...
32898 (grub_term_iterate_output): ... this.
32899
32900 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
32901 a check for input and one for output (and only attempt to get keys
32902 from user when input works).
32903
32904 * util/grub-probe.c (grub_term_get_current): Split in ...
32905 (grub_term_get_current_input): ... this, and ...
32906 (grub_term_get_current_output): ... this.
32907 * util/grub-fstest.c: Likewise.
32908 * util/i386/pc/grub-setup.c: Likewise.
32909 * util/grub-editenv.c: Likewise.
32910
32911 Portability adjustments:
32912
32913 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
32914 `term/i386/pc/at_keyboard.c'.
32915 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
32916 grub_keyboard_controller_init() (now handled by terminal .init).
32917 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
32918 grub_at_keyboard_init().
32919 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
32920 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
32921 at_keyboard.mod via input terminal interface).
32922 * include/grub/i386/coreboot/console.h: Convert into a stub for
32923 `<grub/i386/pc/console.h>'.
32924
32925 Migrate full terminals to new API:
32926
32927 * term/efi/console.c (grub_console_term): Split into ...
32928 (grub_console_term_input): ... this, and ...
32929 (grub_console_term_output): ... this. Update all users.
32930 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
32931 (grub_ofconsole_init): Split into ...
32932 (grub_ofconsole_init_input): ... this, and ...
32933 (grub_ofconsole_init_output): ... this.
32934 (grub_ofconsole_term): Split into ...
32935 (grub_ofconsole_term_input): ... this, and ...
32936 (grub_ofconsole_term_output): ... this. Update all users.
32937 * term/i386/pc/serial.c (grub_serial_term): Split into ...
32938 (grub_serial_term_input): ... this, and ...
32939 (grub_serial_term_output): ... this. Update all users.
32940 * term/i386/pc/console.c (grub_console_term): Split into ...
32941 (grub_console_term_input): ... this, and ...
32942 (grub_console_term_output): ... this. Update all users.
32943 (grub_console_term_input): Only enable it on PC/BIOS platform.
32944 (grub_console_init): Remove grub_keyboard_controller_init() call.
32945
32946 Migrate input terminals to new API:
32947
32948 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
32949 `i386' and `i386/pc' to enable build on x86_64 (this driver is
32950 i386-specific anyway).
32951 (grub_console_checkkey): Rename to ...
32952 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
32953 users.
32954 (grub_keyboard_controller_orig): New variable.
32955 (grub_console_getkey): Rename to ...
32956 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
32957 users.
32958 (grub_keyboard_controller_init): Static-ize. Save original
32959 controller value so that it can be restored ...
32960 (grub_keyboard_controller_fini): ... here (new function).
32961 (grub_at_keyboard_term): New structure.
32962 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
32963 functions.
32964
32965 Migrate output terminals to new API:
32966
32967 * term/i386/pc/vga.c (grub_vga_term): Change type to
32968 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
32969 members. Update all users.
32970 * term/gfxterm.c (grub_video_term): Change type to
32971 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
32972 members. Update all users.
32973 * include/grub/i386/pc/console.h (grub_console_checkkey)
32974 (grub_console_getkey): Do not export (no longer needed by gfxterm,
32975 etc).
32976
32977 Migrate `terminal' command and userland tools to new API:
32978
32979 * commands/terminal.c (grub_cmd_terminal): Split into ...
32980 (grub_cmd_terminal_input): ... this, and ...
32981 (grub_cmd_terminal_output): ... this.
32982 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
32983 `terminal_input' and `terminal_output'.
32984 * util/grub.d/00_header.in: Adjust `terminal' calls to new
32985 `terminal_input' / `terminal_output' API.
32986 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
32987 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
32988 provided ${GRUB_TERMINAL}, convert it).
32989
32990 2008-11-04 Robert Millan <rmh@aybabtu.com>
32991
32992 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
32993 for FreeBSD.
32994 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
32995
32996 2008-11-03 Bean <bean123ch@gmail.com>
32997
32998 * kern/elf.c (grub_elf32_load): Revert to previous code.
32999 (grub_elf64_load): Likewise.
33000
33001 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
33002
33003 2008-11-01 Robert Millan <rmh@aybabtu.com>
33004
33005 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
33006 (TARGET_CPPFLAGS): Likewise.
33007 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
33008
33009 2008-11-01 Carles Pina i Estany <carles@pina.cat>
33010
33011 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
33012
33013 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
33014
33015 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
33016 addition of objects until the code is not going to be able to fail.
33017
33018 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
33019
33020 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
33021 (add a missing NULL check, and correct them by moving the pointer
33022 operations after the actual check).
33023
33024 2008-10-29 Robert Millan <rmh@aybabtu.com>
33025
33026 * util/i386/pc/grub-install.in: Handle empty string as output from
33027 make_system_path_relative_to_its_root().
33028
33029 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
33030
33031 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
33032 circular metadata worst case scenario. If the metadata is circular
33033 then copy the wrap in place.
33034 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
33035 project lib/format_text/layout.h
33036 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
33037
33038 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
33039
33040 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
33041
33042 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
33043
33044 * util/update-grub_lib.in: Mention filename in warning message.
33045
33046 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
33047
33048 * NEWS: Update for rename of update-grub to grub-mkconfig.
33049
33050 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
33051
33052 * util/update-grub_lib.in: Copy to ...
33053 * util/grub-mkconfig_lib.in: ... this. Update all users.
33054 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
33055 * util/update-grub.in: Rename to ...
33056 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
33057 option. Add `--output' option to allow users to specify the generated
33058 configuration file. Default to stdout.
33059 (update_grub_dir): Rename to ...
33060 (grub_mkconfig_dir): ... this.
33061 (grub_cfg): Default to an empty string.
33062 * conf/common.rmk (update-grub): Rename to ...
33063 (grub-mkconfig): ... this.
33064 (update-grub_lib): Copy to ...
33065 (grub-mkconfig_lib): ... this.
33066 (update-grub_SCRIPTS): Copy to ...
33067 (grub-mkconfig_SCRIPTS): ... this. Update all users.
33068 (update-grub_DATA): Rename to ...
33069 (grub-mkconfig_DATA): ... this.
33070
33071 2008-09-28 Robert Millan <rmh@aybabtu.com>
33072
33073 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
33074 to `modified'. Add the real `created' field.
33075 (grub_iso9660_uuid): Use `modified' rather than `created' for
33076 constructing the UUID.
33077
33078 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
33079
33080 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
33081 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
33082
33083 2008-09-28 Bean <bean123ch@gmail.com>
33084
33085 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
33086 Thanks to Christian Franke for finding this bug.
33087
33088 2008-09-25 Robert Millan <rmh@aybabtu.com>
33089
33090 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
33091 instances of grub_util_get_disk_name() (see previous commit).
33092
33093 2008-09-25 Robert Millan <rmh@aybabtu.com>
33094
33095 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
33096 `util/i386/get_disk_name.c'.
33097 * conf/i386-efi.rmk: Likewise.
33098 * conf/x86_64-efi.rmk: Likewise.
33099 * conf/i386-coreboot.rmk: Likewise.
33100 * conf/i386-ieee1275.rmk: Likewise.
33101 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
33102 `util/ieee1275/get_disk_name.c'.
33103 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
33104 * util/ieee1275/get_disk_name.c: Remove file.
33105 * util/i386/get_disk_name.c: Remove file.
33106 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
33107 "hd%d" for device.map entries, rather than using
33108 grub_util_get_disk_name().
33109
33110 2008-09-24 Carles Pina i Estany <carles@pina.cat>
33111
33112 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
33113 warning.
33114 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
33115
33116 2008-09-24 Carles Pina i Estany <carles@pina.cat>
33117
33118 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
33119 Changed to 0x5100.
33120 (GRUB_TERM_PPAGE): Changed to 0x4900.
33121
33122 2008-09-24 Robert Millan <rmh@aybabtu.com>
33123
33124 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
33125 macros (they were i386-pc specific).
33126 * include/grub/sparc64/ieee1275/console.h: Likewise.
33127 * include/grub/efi/console.h: Likewise.
33128
33129 2008-09-22 Bean <bean123ch@gmail.com>
33130
33131 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
33132 resident and in attribute list.
33133
33134 * include/grub/ntfs.h (BMP_LEN): Removed.
33135
33136 2008-09-22 Bean <bean123ch@gmail.com>
33137
33138 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
33139 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
33140
33141 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
33142 error occurs, as grub_disk_open will call grub_disk_close, which will
33143 call p->close (scsi).
33144
33145 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
33146
33147 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
33148 (AC_PREREQ): Bumped to 2.59.
33149 (AC_TRY_COMPILE): Replace obsolete macro with ...
33150 (AC_COMPILE_IFELSE): ... this.
33151 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
33152 (AC_LINK_IFELSE): ... this.
33153
33154 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
33155
33156 * autogen.sh: Add a call to `gendistlist.sh'.
33157
33158 2008-09-19 Christian Franke <franke@computer.org>
33159
33160 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
33161 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
33162 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
33163 Export __enable_execute_stack() to modules.
33164 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
33165 New function.
33166
33167 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
33168
33169 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
33170 Sort the list.
33171
33172 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
33173
33174 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
33175 #include <grub/util/hostdisk.h>.
33176
33177 2008-09-08 Robert Millan <rmh@aybabtu.com>
33178
33179 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
33180 segments when their filesz is zero (grub_file_read() interprets
33181 zero-size as "read until EOF", which results in memory corruption).
33182 Use `lowest_segment' rather than 0 for calculating the current
33183 segment load address.
33184
33185 2008-09-08 Robert Millan <rmh@aybabtu.com>
33186
33187 * util/hostdisk.c (open_device): Replace a grub_util_info() call
33188 with grub_dprintf("hostdisk", ...), as it was so verbose that it
33189 clobbered useful information.
33190
33191 2008-09-08 Robert Millan <rmh@aybabtu.com>
33192
33193 * include/grub/util/biosdisk.h: Move to ...
33194 * include/grub/util/hostdisk.h: ... here. Update all users.
33195 * util/biosdisk.c: Move to ...
33196 * util/hostdisk.c: ... here. Update all users.
33197
33198 2008-09-07 Robert Millan <rmh@aybabtu.com>
33199
33200 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
33201 variables.
33202 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
33203 and length can be stored directly in the `mbi->mmap_addr' and
33204 `mbi->mmap_length' struct fields.
33205
33206 2008-09-07 Robert Millan <rmh@aybabtu.com>
33207
33208 * conf/i386.rmk: New file. Provides declaration for building
33209 `cpuid.mod'.
33210 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
33211 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
33212 variables.
33213 Include `conf/i386.mk'.
33214 * conf/i386-efi.rmk: Likewise.
33215 * conf/x86_64-efi.rmk: Likewise.
33216 * conf/i386-coreboot.rmk: Likewise.
33217 * conf/i386-ieee1275.rmk: Likewise.
33218
33219 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
33220
33221 Based on patch created by Colin D Bennett <colin@gibibit.com>.
33222 Adds optimization support for BGR based modes.
33223
33224 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
33225 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
33226 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
33227 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
33228 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
33229 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
33230 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
33231 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
33232 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
33233 (grub_video_i386_vbeblit_index_index): Likewise.
33234 (grub_video_i386_vbeblit_replace_directN): Added.
33235 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
33236 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
33237 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
33238 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
33239 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
33240 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
33241 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
33242 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
33243 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
33244 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
33245 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
33246 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
33247 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
33248
33249 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
33250 (grub_video_i386_vbefill_R8G8B8): Likewise.
33251 (grub_video_i386_vbefill_index): Likewise.
33252 (grub_video_i386_vbefill_direct32): Added.
33253 (grub_video_i386_vbefill_direct24): Likewise.
33254 (grub_video_i386_vbefill_direct16): Likewise.
33255 (grub_video_i386_vbefill_direct8): Likewise.
33256
33257 * include/grub/video.h (grub_video_blit_format): Removed
33258 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
33259 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
33260 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
33261 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
33262 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
33263
33264 * video/video.c (grub_video_get_blit_format): Updated to use new
33265 blit formats. Added handling for 16 bit color modes.
33266
33267 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
33268 fillers.
33269 (common_blitter): Updated to use new blitters.
33270
33271 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
33272 Removed.
33273 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
33274 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
33275 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
33276 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
33277 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
33278 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
33279 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
33280 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
33281 (grub_video_i386_vbeblit_index_index): Likewise.
33282 (grub_video_i386_vbeblit_replace_directN): Added.
33283 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
33284 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
33285 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
33286 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
33287 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
33288 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
33289 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
33290 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
33291 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
33292 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
33293 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
33294 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
33295 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
33296
33297 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
33298 (grub_video_i386_vbefill_R8G8B8): Likewise.
33299 (grub_video_i386_vbefill_index): Likewise.
33300 (grub_video_i386_vbefill_direct32): Added.
33301 (grub_video_i386_vbefill_direct24): Likewise.
33302 (grub_video_i386_vbefill_direct16): Likewise.
33303 (grub_video_i386_vbefill_direct8): Likewise.
33304
33305 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
33306 types.
33307
33308 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
33309 types.
33310
33311 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
33312 blitter types.
33313
33314 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
33315 types.
33316
33317 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
33318
33319 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
33320 RAID level 1.
33321
33322 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
33323
33324 * fs/iso9660.c (grub_iso9660_date): New structure.
33325 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
33326 (grub_iso9660_uuid): New function.
33327
33328 2008-09-05 Bean <bean123ch@gmail.com>
33329
33330 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
33331
33332 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
33333 insensitive bit for names in Win32 and Win32 & DOS namespace.
33334
33335 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
33336
33337 * include/grub/types.h (LONG_MAX): Likewise.
33338
33339 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
33340
33341 * util/getroot.c: Include <config.h>.
33342 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
33343 add support for /dev/md/N devices and handle LVM double dash escaping.
33344
33345 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
33346
33347 * config.guess: Update to latest version from config git.
33348 * config.sub: Likewise.
33349
33350 2008-09-03 Robert Millan <rmh@aybabtu.com>
33351
33352 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
33353 `disk->total_sectors'.
33354
33355 2008-09-01 Colin D Bennett <colin@gibibit.com>
33356
33357 * include/grub/normal.h: Fixed incorrect comment for
33358 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
33359
33360 2008-09-01 Colin D Bennett <colin@gibibit.com>
33361
33362 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
33363 values with defines.
33364
33365 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
33366 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
33367 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
33368 (GRUB_VBE_MODEATTR_COLOR): Likewise.
33369 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
33370 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
33371 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
33372 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
33373 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
33374 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
33375 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
33376 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
33377 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
33378 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
33379 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
33380 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
33381 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
33382 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
33383 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
33384
33385 2008-08-31 Robert Millan <rmh@aybabtu.com>
33386
33387 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
33388 declaration.
33389 (grub_multiboot): Fix a few warnings.
33390
33391 2008-08-31 Robert Millan <rmh@aybabtu.com>
33392
33393 * loader/i386/pc/multiboot.c: Update comment not to say that
33394 boot_device support is unimplemented.
33395
33396 2008-08-31 Robert Millan <rmh@aybabtu.com>
33397
33398 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
33399 or memory map support are unimplemented.
33400
33401 2008-08-31 Colin D Bennett <colin@gibibit.com>
33402
33403 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
33404
33405 2008-08-31 Colin D Bennett <colin@gibibit.com>
33406
33407 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
33408 total video memory in 'vbeinfo' output; show color format details for
33409 each video mode.
33410
33411 2008-08-30 Pavel Roskin <proski@gnu.org>
33412
33413 * util/genmoddep.c: Remove for real this time.
33414 * DISTLIST: Remove util/genmoddep.c.
33415
33416 2008-08-30 Robert Millan <rmh@aybabtu.com>
33417
33418 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
33419 as required by Multiboot spec (it was already 4-byte aligned, but
33420 only by chance).
33421
33422 2008-08-29 Pavel Roskin <proski@gnu.org>
33423
33424 * kern/powerpc/ieee1275/crt0.S: Rename to ...
33425 * kern/powerpc/ieee1275/startup.S: ... this.
33426 * conf/powerpc-ieee1275.rmk: Adjust for the above.
33427 * DISTLIST: Likewise.
33428
33429 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
33430 grub/cpu/kernel.h. Add start label for consistency with other
33431 platforms. Add grub_prefix immediately after start. Add jump
33432 to the code after grub_prefix.
33433 * include/grub/powerpc/kernel.h: Provide valid values for
33434 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
33435
33436 2008-08-29 Bean <bean123ch@gmail.com>
33437
33438 * configure.ac: Change host_os to cygwin for mingw.
33439 (asprintf): New check for function.
33440
33441 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
33442 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
33443
33444 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
33445 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
33446 sync, sleep and grub_util_get_disk_size for mingw.
33447
33448 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
33449 to get size in mingw.
33450 (open_device): Use flag O_BINARY if it's defined.
33451 (find_root_device): Add dummy code for mingw.
33452
33453 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
33454 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
33455 (get_scsi_disk_name): Return 0 for mingw.
33456
33457 * util/hostfs.c: #include <grub/util/misc.h>.
33458 (grub_hostfs_open): Use "rb" flag to open file, use
33459 grub_util_get_disk_size to get disk size for mingw.
33460
33461 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
33462 (asprintf): New function if HAVE_ASPRINTF is not set.
33463 (sync): New function for mingw.
33464 (sleep): Likewise.
33465 (grub_util_get_disk_size): Likewise.
33466
33467 2008-08-28 Pavel Roskin <proski@gnu.org>
33468
33469 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
33470 kern/time.c.
33471
33472 2008-08-28 Robert Millan <rmh@aybabtu.com>
33473
33474 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
33475
33476 2008-08-28 Robert Millan <rmh@aybabtu.com>
33477
33478 Change find_grub_drive() syntax so it doesn't prevent it from
33479 detecting NULL names as errors.
33480
33481 * util/biosdisk.c (find_grub_drive): Move free slot search code
33482 from here ...
33483 (find_free_slot): ... to here.
33484 (read_device_map): Use find_free_slot() to search for free slots.
33485
33486 2008-08-27 Marco Gerards <marco@gnu.org>
33487
33488 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
33489 (scsi_mod_SOURCES): New variable.
33490 (scsi_mod_CFLAGS): Likewise
33491 (scsi_mod_LDFLAGS): Likewise.
33492
33493 * disk/scsi.c: New file.
33494
33495 * include/grub/scsi.h: Likewise.
33496
33497 * include/grub/scsicmd.h: Likewise.
33498
33499 * disk/ata.c: Include <grub/scsi.h>.
33500 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
33501 instead.
33502 (grub_ata_iterate): Skip ATAPI devices.
33503 (grub_ata_open): Only handle ATAPI devices.
33504 (struct grub_atapi_read): Removed.
33505 (grub_atapi_readsector): Likewise.
33506 (grub_ata_read): No longer handle ATAPI devices.
33507 (grub_ata_write): Likewise.
33508 (grub_atapi_iterate): New function.
33509 (grub_atapi_read): Likewise.
33510 (grub_atapi_write): Likewise.
33511 (grub_atapi_open): Likewise.
33512 (grub_atapi_close): Likewise.
33513 (grub_atapi_dev): New variable.
33514 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
33515 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
33516
33517 * include/grub/disk.h (enum grub_disk_dev_id): Add
33518 `GRUB_DISK_DEVICE_SCSI_ID'.
33519
33520 2008-08-26 Robert Millan <rmh@aybabtu.com>
33521
33522 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
33523 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
33524 descriptive.
33525
33526 2008-08-23 Bean <bean123ch@gmail.com>
33527
33528 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
33529 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
33530 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
33531 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
33532 dm_nv.mod.
33533 (raid5rec_mod_SOURCES): New macro.
33534 (raid5rec_mod_CFLAGS): Likewise.
33535 (raid5rec_mod_LDFLAGS): Likewise.
33536 (raid6rec_mod_SOURCES): Likewise.
33537 (raid6rec_mod_CFLAGS): Likewise.
33538 (raid6rec_mod_LDFLAGS): Likewise.
33539 (mdraid_mod_SOURCES): Likewise.
33540 (mdraid_mod_CFLAGS): Likewise.
33541 (mdraid_mod_LDFLAGS): Likewise.
33542 (dm_nv_mod_SOURCES): Likewise.
33543 (dm_nv_mod_CFLAGS): Likewise.
33544 (dm_nv_mod_LDFLAGS): Likewise.
33545
33546 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
33547 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
33548 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
33549
33550 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
33551 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
33552
33553 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33554
33555 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33556
33557 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33558
33559 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33560
33561 * disk/raid5_recover.c: New file.
33562
33563 * disk/raid6_recover.c: Likewise.
33564
33565 * disk/mdraid_linux.c: Likewise.
33566
33567 * disk/dmraid_nvidia.c: Likewise.
33568
33569 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
33570 ULONG_MAX.
33571
33572 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
33573 calculate the size of raid device.
33574 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
33575 different layout of raid5.
33576 (grub_raid_scan_device): Remove code specific to mdraid.
33577 (grub_raid_list): New variable.
33578 (free_array): New function.
33579 (grub_raid_register): Likewise.
33580 (grub_raid_unregister): Likewise.
33581 (grub_raid_rescan): Likewise.
33582 (GRUB_MOD_INIT): Don't iterate device here.
33583 (GRUB_MOD_FINI): Use free_array to release resource.
33584
33585 * include/grub/raid.h: Remove macro and structure specific to mdraid.
33586 (grub_raid5_recover_func_t): New function variable type.
33587 (grub_raid6_recover_func_t): Likewise.
33588 (grub_raid5_recover_func): New variable.
33589 (grub_raid6_recover_func): Likewise.
33590 (grub_raid_register): New function.
33591 (grub_raid_unregister): Likewise.
33592 (grub_raid_rescan): Likewise.
33593 (grub_raid_block_xor): Likewise.
33594
33595 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
33596 (CMD_CRC): New macro.
33597 (part): Removed.
33598 (read_file): Handle device as well as file.
33599 (cmd_crc): New function.
33600 (fstest): Handle multiple disks.
33601 (options): Remove part, raw and long, add root and diskcount.
33602 (usage): Add crc, remove -p, -r, -l, add -r and -c.
33603 (main): Find the first non option entry and ignore subsequent options,
33604 add handling for the new options, support multiple disks.
33605
33606 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
33607
33608 2008-08-23 Bean <bean123ch@gmail.com>
33609
33610 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
33611
33612 * genfslist.sh: Ignore kernel.mod.
33613
33614 * genpartmaplist.sh: Likewise.
33615
33616 2008-08-23 Robert Millan <rmh@aybabtu.com>
33617
33618 * util/getroot.c (find_root_device): Skip anything that starts with
33619 a dot, not just directories. This avoids things like /dev/.tmp.md0.
33620
33621 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
33622
33623 * util/update-grub.in (GRUB_GFXMODE): Export variable.
33624 * util/grub.d/00_header.in: Allow the administrator to change default
33625 gfxmode via ${GRUB_GFXMODE}.
33626
33627 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
33628
33629 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
33630
33631 2008-08-21 Robert Millan <rmh@aybabtu.com>
33632
33633 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
33634 loader.
33635 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
33636 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
33637
33638 2008-08-20 Carles Pina i Estany <carles@pina.cat>
33639
33640 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
33641 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
33642
33643 2008-08-19 Robert Millan <rmh@aybabtu.com>
33644
33645 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
33646 (struct grub_virtual_screen): Remove `cursor_color'.
33647 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
33648 initialization.
33649 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
33650
33651 2008-08-18 Robert Millan <rmh@aybabtu.com>
33652
33653 Unify (identical) linux_normal.c files.
33654 * loader/i386/efi/linux_normal.c: Move from here ...
33655 * loader/linux_normal.c: ... to here. Update all users.
33656 * loader/i386/pc/linux_normal.c: Delete. Update all users.
33657 * loader/i386/ieee1275/linux_normal.c: Likewise.
33658
33659 2008-08-18 Robert Millan <rmh@aybabtu.com>
33660
33661 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
33662 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
33663 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
33664 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
33665 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
33666 New macros.
33667 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
33668 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
33669 (GRUB_LINUX_CL_END_OFFSET): ... to here.
33670 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
33671 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
33672 (GRUB_EFI_CL_END_OFFSET): Rename to ...
33673 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
33674 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
33675 Initialize `params->video_cursor_x' and `params->video_cursor_y'
33676 portably using grub_getxy().
33677 Replace `-EFI' with `-bzImage' in boot message.
33678
33679 2008-08-17 Robert Millan <rmh@aybabtu.com>
33680
33681 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
33682
33683 2008-08-17 Robert Millan <rmh@aybabtu.com>
33684
33685 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
33686
33687 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
33688 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
33689 (grub_machine_mmap_iterate): New function declaration.
33690 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
33691 structure.
33692 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
33693 macros.
33694
33695 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
33696 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
33697 Move e820 parsing from here ...
33698 * kern/i386/pc/mmap.c: New file.
33699 (grub_machine_mmap_iterate): ... to here.
33700
33701 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
33702 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
33703 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
33704 (grub_available_iterate): Redeclare to return `void', and redeclare
33705 its hook to use grub_uint64_t as addr and size parameters, and rename
33706 to ...
33707 (grub_machine_mmap_iterate): ... this. Update all users.
33708
33709 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
33710 to make it more readable. Rename to ...
33711 (grub_machine_mmap_iterate): ... this.
33712
33713 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
33714 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
33715 (grub_multiboot): Allocate an extra region after the payload, and fill
33716 it with a Multiboot memory map. Adjust a.out loader to calculate size
33717 with the extra space.
33718 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
33719 with the extra space.
33720
33721 2008-08-17 Carles Pina i Estany <carles@pina.cat>
33722
33723 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
33724
33725 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
33726
33727 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
33728 mdate-sh to the list `find' searches for.
33729 * DISTLIST: Regenerated.
33730
33731 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
33732
33733 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
33734 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
33735 genmoddep.awk, gensymlist.sh.in.
33736 (DISTDIRS): Add bus, docs, hook, lib.
33737 * DISTLIST: Regenerated.
33738 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
33739
33740 2008-08-16 Robert Millan <rmh@aybabtu.com>
33741
33742 * disk/raid.c (grub_raid_init): Handle/report errors set by
33743 grub_device_iterate().
33744 * disk/lvm.c (grub_lvm_init): Likewise.
33745
33746 2008-08-15 Bean <bean123ch@gmail.com>
33747
33748 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33749 and datehook.mod.
33750 (datetime_mod_SOURCES): New macro.
33751 (datetime_mod_CFLAGS): Likewise.
33752 (datetime_mod_LDFLAGS): Likewise.
33753 (date_mod_SOURCES): Likewise.
33754 (date_mod_CFLAGS): Likewise.
33755 (date_mod_LDFLAGS): Likewise.
33756 (datehook_mod_SOURCES): Likewise.
33757 (datehook_mod_CFLAGS): Likewise.
33758 (datehook_mod_LDFLAGS): Likewise.
33759
33760 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33761 and datehook.mod.
33762 (datetime_mod_SOURCES): New macro.
33763 (datetime_mod_CFLAGS): Likewise.
33764 (datetime_mod_LDFLAGS): Likewise.
33765 (date_mod_SOURCES): Likewise.
33766 (date_mod_CFLAGS): Likewise.
33767 (date_mod_LDFLAGS): Likewise.
33768 (datehook_mod_SOURCES): Likewise.
33769 (datehook_mod_CFLAGS): Likewise.
33770 (datehook_mod_LDFLAGS): Likewise.
33771
33772 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33773 and datehook.mod.
33774 (datetime_mod_SOURCES): New macro.
33775 (datetime_mod_CFLAGS): Likewise.
33776 (datetime_mod_LDFLAGS): Likewise.
33777 (date_mod_SOURCES): Likewise.
33778 (date_mod_CFLAGS): Likewise.
33779 (date_mod_LDFLAGS): Likewise.
33780 (datehook_mod_SOURCES): Likewise.
33781 (datehook_mod_CFLAGS): Likewise.
33782 (datehook_mod_LDFLAGS): Likewise.
33783
33784 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33785 and datehook.mod.
33786 (datetime_mod_SOURCES): New macro.
33787 (datetime_mod_CFLAGS): Likewise.
33788 (datetime_mod_LDFLAGS): Likewise.
33789 (date_mod_SOURCES): Likewise.
33790 (date_mod_CFLAGS): Likewise.
33791 (date_mod_LDFLAGS): Likewise.
33792 (datehook_mod_SOURCES): Likewise.
33793 (datehook_mod_CFLAGS): Likewise.
33794 (datehook_mod_LDFLAGS): Likewise.
33795
33796 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33797 and datehook.mod.
33798 (datetime_mod_SOURCES): New macro.
33799 (datetime_mod_CFLAGS): Likewise.
33800 (datetime_mod_LDFLAGS): Likewise.
33801 (date_mod_SOURCES): Likewise.
33802 (date_mod_CFLAGS): Likewise.
33803 (date_mod_LDFLAGS): Likewise.
33804 (datehook_mod_SOURCES): Likewise.
33805 (datehook_mod_CFLAGS): Likewise.
33806 (datehook_mod_LDFLAGS): Likewise.
33807
33808 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
33809
33810 * commands/date.c: New file.
33811
33812 * hook/datehook.c: Likewise.
33813
33814 * include/grub/lib/datetime.h: Likewise.
33815
33816 * include/grub/i386/cmos.h: Likewise.
33817
33818 * lib/datetime.c: Likewise.
33819
33820 * lib/i386/datetime.c: Likewise.
33821
33822 * lib/efi/datetime.c: Likewise.
33823
33824 2008-08-14 Robert Millan <rmh@aybabtu.com>
33825
33826 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
33827 (grub_mkelfimage_SOURCES): New variable.
33828 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
33829
33830 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
33831 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
33832 * conf/powerpc-ieee1275.rmk: Likewise.
33833 * conf/i386-ieee1275.rmk: Likewise.
33834
33835 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
33836 * kern/i386/coreboot/init.c: Likewise.
33837
33838 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
33839 with `<grub/cpu/kernel.h>'.
33840 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
33841 to ...
33842 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
33843 * kern/i386/coreboot/startup.S: Likewise.
33844
33845 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
33846 (GRUB_MOD_GAP): Remove.
33847 * include/grub/powerpc/kernel.h: New file.
33848 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
33849 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
33850 * include/grub/i386/kernel.h: New file.
33851 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
33852 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
33853 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
33854
33855 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
33856 `grub-mkelfimage'.
33857 Use --directory when invoking grub_mkimage.
33858
33859 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
33860 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
33861 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
33862 and GRUB_KERNEL_CPU_PREFIX.
33863
33864 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
33865
33866 * include/grub/err.h (grub_err_printf): New function prototype.
33867 * util/misc.c (grub_err_printf): New function.
33868 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
33869 grub_printf.
33870 * kern/err.c (grub_print_error): Use grub_err_printf.
33871
33872 2008-08-13 Robert Millan <rmh@aybabtu.com>
33873
33874 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
33875
33876 2008-08-13 Robert Millan <rmh@aybabtu.com>
33877
33878 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
33879 boot entry.
33880
33881 2008-08-12 Robert Millan <rmh@aybabtu.com>
33882
33883 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
33884 of the relocation code from here ...
33885 (grub_multiboot): ... to here.
33886 (forward_relocator, backward_relocator): Move from here ...
33887 * kern/i386/loader.S (grub_multiboot_forward_relocator)
33888 (grub_multiboot_backward_relocator): ... to here.
33889 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
33890 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
33891 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
33892 (grub_multiboot_forward_relocator_end)
33893 (grub_multiboot_backward_relocator)
33894 (grub_multiboot_backward_relocator_end): New variables.
33895
33896 2008-08-12 Bean <bean123ch@gmail.com>
33897
33898 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
33899
33900 2008-08-11 Robert Millan <rmh@aybabtu.com>
33901
33902 * kern/i386/linuxbios/startup.S: Move from here ...
33903 * kern/i386/coreboot/startup.S: ... to here.
33904
33905 * kern/i386/linuxbios/init.c: Move from here ...
33906 * kern/i386/coreboot/init.c: ... to here.
33907
33908 * kern/i386/linuxbios/table.c: Move from here ...
33909 * kern/i386/coreboot/mmap.c: ... to here.
33910
33911 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
33912
33913 2008-08-11 Robert Millan <rmh@aybabtu.com>
33914
33915 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
33916 errors. Leave it to the upper layer to handle them.
33917
33918 2008-08-09 Christian Franke <franke@computer.org>
33919
33920 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
33921 * conf/common.rmk: Install `grub-pe2elf' only if requested.
33922 Install `grub.d/10_windows' only on Cygwin.
33923 * configure.ac: Add subst of `target_os'.
33924 Check `target_os' also before setting TARGET_OBJ2ELF.
33925 Add `--enable-grub-pe2elf'.
33926
33927 2008-08-08 Robert Millan <rmh@aybabtu.com>
33928
33929 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
33930 (grub_last_time): Change type to grub_uint64_t.
33931 (grub_disk_open): Migrate code from to using grub_get_time_ms().
33932 (grub_disk_close): Likewise.
33933
33934 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
33935 (run_menu): Migrate code from to using grub_get_time_ms().
33936
33937 * util/misc.c (grub_get_time_ms): New function.
33938
33939 2008-08-08 Marco Gerards <marco@gnu.org>
33940
33941 * disk/ata.c (grub_ata_regget): Change return type to
33942 `grub_uint8_t'.
33943 (grub_ata_regget2): Likewise.
33944 (grub_ata_wait_status): New function.
33945 (grub_ata_wait_busy): Removed function, updated all users to use
33946 `grub_ata_wait_status'.
33947 (grub_ata_wait_drq): Likewise.
33948 (grub_ata_cmd): New function.
33949 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
33950 error handling.
33951 (grub_ata_pio_write): Add error handling.
33952 (grub_atapi_identify): Likewise.
33953 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
33954 handling.
33955 (grub_ata_identify): Use `grub_ata_cmd' and improve error
33956 handling. Actually use the detected registers. Reorder the
33957 detection logic such that it is easier to read.
33958 (grub_ata_pciinit): Do not assign the same ID to each controller.
33959 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
33960 handling.
33961 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
33962
33963 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
33964
33965 2008-08-08 Marco Gerards <marco@gnu.org>
33966
33967 * NEWS: Update.
33968
33969 2008-08-07 Bean <bean123ch@gmail.com>
33970
33971 * include/grub/x86_64/pci.h: New file.
33972
33973 2008-08-07 Christian Franke <franke@computer.org>
33974
33975 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
33976 (TIMER2_GATE): Likewise.
33977 (grub_pit_wait): Add enable/disable of the timer2 gate
33978 bit of port 0x61. This fixes a possible infinite loop.
33979
33980 2008-08-07 Bean <bean123ch@gmail.com>
33981
33982 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
33983 kern/i386/tsc.c and kern/i386/pit.c.
33984
33985 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
33986 x86_64 platform.
33987
33988 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
33989 <grub/i386/tsc.h>.
33990
33991 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
33992
33993 2008-08-07 Bean <bean123ch@gmail.com>
33994
33995 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
33996
33997 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
33998
33999 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
34000 multiple inclusion. Add #include <grub/types.h>.
34001
34002 2008-08-06 Christian Franke <franke@computer.org>
34003
34004 * conf/common.rmk: Build and install `10_windows'.
34005 * util/grub.d/10_windows.in: New script.
34006
34007 2008-08-06 Pavel Roskin <proski@gnu.org>
34008
34009 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
34010
34011 2008-08-06 Robert Millan <rmh@aybabtu.com>
34012
34013 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
34014 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
34015
34016 2008-08-06 Bean <bean123ch@gmail.com>
34017
34018 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
34019 (grub_pxefs_fs_int): Remove dummy definition.
34020 (grub_pxefs_open): Use data->block_size to store the current block
34021 size setting.
34022 (grub_pxefs_read): Use block size stored in data->block_size. As the
34023 value of grub_pxe_blksize can be changed after the file is opened.
34024
34025 2008-08-06 Bean <bean123ch@gmail.com>
34026
34027 * fs/i386/pc/pxe.c (curr_file): new variable.
34028 (grub_pxefs_open): Simply the handling of pxe file system. Don't
34029 require the dummy internal file system anymore.
34030 (grub_pxefs_read): Removed.
34031 (grub_pxefs_close): Likewise.
34032 (grub_pxefs_fs_int): Likewise.
34033 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
34034 connection when we switch file.
34035 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
34036
34037 2008-08-06 Robert Millan <rmh@aybabtu.com>
34038
34039 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
34040 `halt.mod'.
34041 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
34042 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
34043
34044 * kern/i386/halt.c: New file.
34045 * kern/i386/reboot.c: Likewise.
34046 * include/grub/i386/reboot.h: Likewise.
34047 * include/grub/i386/halt.h: Likewise.
34048
34049 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
34050 Include `<grub/cpu/halt.h>'.
34051 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
34052 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
34053
34054 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
34055 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
34056 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
34057 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
34058 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
34059 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
34060 from here ...
34061 * include/grub/i386/at_keyboard.h: ... to here.
34062
34063 2008-08-05 Robert Millan <rmh@aybabtu.com>
34064
34065 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
34066 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
34067 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
34068 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
34069 `kern/generic/millisleep.c'.
34070
34071 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
34072 instead of grub_get_rtc().
34073 (grub_tsc_init): Initialize `tsc_boot_time'.
34074
34075 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
34076 (grub_machine_init): Use grub_tsc_init() rather than
34077 installing an RTC-based handler via grub_install_get_time_ms().
34078
34079 * kern/i386/pit.c: New file.
34080 * include/grub/i386/pit.h: Likewise.
34081
34082 2008-08-05 Bean <bean123ch@gmail.com>
34083
34084 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
34085
34086 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
34087 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
34088 (pxe_mod_SOURCES): New macro.
34089 (pxe_mod_CFLAGS): Likewise.
34090 (pxe_mod_LDFLAGS): Likewise.
34091 (pxecmd_mod_SOURCES): Likewise.
34092 (pxecmd_mod_CFLAGS): Likewise.
34093 (pxecmd_mod_LDFLAGS): Likewise.
34094
34095 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
34096 (grub_pxe_call): Likewise.
34097
34098 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
34099
34100 * commands/i386/pc/pxecmd.c: New file.
34101
34102 * fs/i386/pc/pxe.c: Likewise.
34103
34104 * include/grub/i386/pc/pxe.h: Likewise.
34105
34106 2008-08-05 Bean <bean123ch@gmail.com>
34107
34108 * util/console.c (grub_console_cur_color): New variable.
34109 (grub_console_standard_color): Likewise.
34110 (grub_console_normal_color): Likewise.
34111 (grub_console_highlight_color): Likewise.
34112 (color_map): Likewise.
34113 (use_color): Likewise.
34114 (NUM_COLORS): New macro.
34115 (grub_ncurses_setcolorstate): Handle color properly.
34116 (grub_ncurses_setcolor): Don't change color here, just remember the
34117 settings, color will be set in grub_ncurses_setcolorstate.
34118 (grub_ncurses_getcolor): New function.
34119 (grub_ncurses_init): Initialize color pairs.
34120 (grub_ncurses_term): New member grub_ncurses_getcolor.
34121
34122 2008-08-05 Colin D Bennett <colin@gibibit.com>
34123
34124 High resolution timer support. Implemented for x86 CPUs using TSC.
34125 Extracted generic grub_millisleep() so it's linked in only as needed.
34126 This requires a Pentium compatible CPU; if the RDTSC instruction is
34127 not supported, then it falls back on the generic grub_get_time_ms()
34128 implementation that uses the machine's RTC.
34129
34130 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
34131 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
34132 `kern/generic/millisleep.c'.
34133
34134 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
34135 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
34136
34137 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
34138 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
34139
34140 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
34141
34142 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
34143 `kern/generic/millisleep.c'.
34144
34145 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
34146
34147 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
34148
34149 * kern/generic/rtc_get_time_ms.c: New file.
34150
34151 * kern/generic/millisleep.c: New file.
34152
34153 * kern/misc.c: Don't include
34154 <kern/time.h> anymore.
34155 (grub_millisleep_generic): Removed.
34156
34157 * commands/sleep.c (grub_interruptible_millisleep): Uses
34158 grub_get_time_ms() instead of grub_get_rtc().
34159
34160 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
34161 function.
34162 (grub_cpu_is_cpuid_supported): New inline function.
34163 (grub_cpu_is_tsc_supported): New inline function.
34164 (grub_tsc_init): New function prototype.
34165 (grub_tsc_get_time_ms): New function prototype.
34166
34167 * kern/i386/tsc.c (grub_get_time_ms): New file.
34168
34169 * include/grub/time.h: Include <grub/types.h.
34170 (grub_millisleep_generic): Removed.
34171 (grub_get_time_ms): New prototype.
34172 (grub_install_get_time_ms): New prototype.
34173 (grub_rtc_get_time_ms): New prototype.
34174
34175 * kern/time.c (grub_get_time_ms): New function.
34176 (grub_install_get_time_ms): New function.
34177
34178 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
34179 <grub/time.h> anymore.
34180 (grub_millisleep): Removed.
34181 (grub_machine_init): Call grub_tsc_init.
34182
34183 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
34184 get_time_ms() implementation.
34185
34186 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
34187 (ieee1275_get_time_ms): New function.
34188 (grub_machine_init): Install get_time_ms() implementation.
34189
34190 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
34191 (grub_machine_init): Call grub_tsc_init().
34192 (grub_millisleep): Removed.
34193
34194 * kern/ieee1275/init.c (grub_millisleep): Removed.
34195 (grub_machine_init): Install ieee1275_get_time_ms()
34196 implementation.
34197 (ieee1275_get_time_ms): New function.
34198 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
34199 real work.
34200
34201 2008-08-05 Marco Gerards <marco@gnu.org>
34202
34203 * disk/ata.c: Include <grub/pci.h>.
34204 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
34205 (grub_ata_initialize): Rewritten.
34206 (grub_ata_device_initialize): New function.
34207
34208 2008-08-04 Pavel Roskin <proski@gnu.org>
34209
34210 * kern/main.c: Include grub/mm.h.
34211
34212 2008-08-04 Robert Millan <rmh@aybabtu.com>
34213
34214 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
34215 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
34216 corruption problem).
34217
34218 2008-08-04 Robert Millan <rmh@aybabtu.com>
34219
34220 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
34221 warnings introduced in my last commit.
34222
34223 2008-08-03 Robert Millan <rmh@aybabtu.com>
34224
34225 Make PCI available on all i386 architectures.
34226
34227 * include/grub/i386/pc/pci.h: Move from here ...
34228 * include/grub/i386/pci.h: ... to here.
34229
34230 * include/grub/i386/pc/pci.h: Remove.
34231 * include/grub/i386/efi/pci.h: Remove.
34232 * include/grub/x86_64/efi/pci.h: Remove.
34233
34234 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
34235 `<grub/cpu/pci.h>'.
34236
34237 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
34238 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
34239 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
34240
34241 * conf/i386-ieee1275.rmk: Likewise.
34242
34243 2008-08-03 Robert Millan <rmh@aybabtu.com>
34244
34245 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
34246 (grub_console_setcursor): Make it possible to set cursor off.
34247
34248 2008-08-03 Robert Millan <rmh@aybabtu.com>
34249
34250 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
34251 of modules instead of assuming which platform provides what.
34252 * util/update-grub.in: Likewise.
34253
34254 2008-08-03 Robert Millan <rmh@aybabtu.com>
34255
34256 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
34257 instead of `grub_install_dos_part' to determine whether a drive needs
34258 to be prepended to prefix (`grub_install_dos_part' is not reliable,
34259 because it can be overridden when loading GRUB via Multiboot).
34260
34261 2008-08-02 Robert Millan <rmh@aybabtu.com>
34262
34263 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
34264
34265 2008-08-02 Robert Millan <rmh@aybabtu.com>
34266
34267 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
34268 of informational grub_dprintf() calls.
34269
34270 2008-08-02 Robert Millan <rmh@aybabtu.com>
34271
34272 * disk/memdisk.c (memdisk_size): Don't initialize.
34273 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
34274
34275 * include/grub/i386/pc/kernel.h
34276 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
34277 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
34278 (grub_memdisk_image_size, grub_arch_memdisk_addr)
34279 (grub_arch_memdisk_size): Remove.
34280
34281 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
34282 field (was only used to transfer a constant). Add `type' field to
34283 support multiple module types.
34284 (grub_module_iterate): New function.
34285
34286 * kern/device.c (grub_device_open): Do not hide error messages
34287 when grub_disk_open() fails. Use grub_print_error() instead.
34288
34289 * kern/i386/pc/init.c (grub_arch_modules_addr)
34290 (grub_arch_memdisk_size): Remove functions.
34291 (grub_arch_modules_addr): Return the module address in high memory
34292 (now that it isn't copied anymore).
34293
34294 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
34295 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
34296 decompression routine (grub_total_module_size already includes that
34297 now). Don't copy modules back to low memory.
34298
34299 * kern/main.c: Include `<grub/mm.h>'.
34300 (grub_load_modules): Split out (and use) ...
34301 (grub_module_iterate): ... this function, which iterates through
34302 module objects and runs a hook.
34303 Comment out grub_mm_init_region() call, as it would cause non-ELF
34304 modules to be overwritten.
34305
34306 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
34307 the memdisk image in its own region, make it part of the module list.
34308 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
34309 (main): Parse --memdisk|-m option, and pass user-provided path as
34310 parameter to generate_image().
34311 (add_segments): Pass `memdisk_path' down to load_modules().
34312 (load_modules): Embed memdisk image in module section when requested.
34313 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
34314 `header.type' instead of `header.offset'.
34315
34316 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
34317 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
34318 (memdisk_mod_LDFLAGS): New variables.
34319 * conf/i386-coreboot.rmk: Likewise.
34320 * conf/i386-ieee1275.rmk: Likewise.
34321
34322 2008-08-02 Robert Millan <rmh@aybabtu.com>
34323
34324 * loader/i386/pc/multiboot.c (playground, forward_relocator)
34325 (backward_relocator): New variables. Used to allocate and relocate
34326 the payload, respectively.
34327 (grub_multiboot_load_elf32): Load into heap instead of requested
34328 address, install the appropriate relocator code in each bound of
34329 the payload, and set the entry point such that
34330 grub_multiboot_real_boot() will jump to one of them.
34331
34332 * kern/i386/loader.S (grub_multiboot_payload_size)
34333 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
34334 (grub_multiboot_payload_entry_offset): New variables.
34335 (grub_multiboot_real_boot): Set cpu context to what the relocator
34336 expects, and jump to the relocator instead of the payload.
34337
34338 * include/grub/i386/loader.h (grub_multiboot_payload_size)
34339 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
34340 (grub_multiboot_payload_entry_offset): Export.
34341
34342 2008-08-01 Bean <bean123ch@gmail.com>
34343
34344 * normal/menu_entry.c (editor_getline): Don't return the original
34345 string as result, as it will be released by lexer once it has done
34346 using it.
34347
34348 2008-08-01 Robert Millan <rmh@aybabtu.com>
34349
34350 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
34351 within menuentries, not before them.
34352 util/grub.d/10_hurd.in: Likewise.
34353
34354 2008-08-01 Bean <bean123ch@gmail.com>
34355
34356 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
34357 (bufio_mod_SOURCES): New macro.
34358 (bufio_mod_CFLAGS): Likewise.
34359 (bufio_mod_LDFLAGS): Likewise.
34360
34361 * include/grub/bufio.h: New file.
34362
34363 * io/bufio.c: Likewise.
34364
34365 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
34366 (grub_video_reader_png): Use grub_buffile_open to open file.
34367
34368 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
34369 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
34370
34371 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
34372 (grub_video_reader_tga): Use grub_buffile_open to open file.
34373
34374 * font/manager.c: Include <grub/bufio.h>.
34375 (add_font): Use grub_buffile_open to open file.
34376
34377 2008-07-31 Robert Millan <rmh@aybabtu.com>
34378
34379 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
34380 ELF segments, use a macro for arbitrarily accessing any of them instead
34381 of preparing a pointer that allows access to one at a time.
34382 (grub_multiboot_load_elf64): Likewise.
34383
34384 2008-07-31 Bean <bean123ch@gmail.com>
34385
34386 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
34387 GRUB_KERNEL_MACHINE_DATA_END.
34388
34389 2008-07-30 Robert Millan <rmh@aybabtu.com>
34390
34391 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
34392 Increase from 0x50 to 0x60.
34393 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
34394 use UUIDs to identify the root drive for them. If that's not
34395 possible, abort.
34396 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
34397 check, for cross-disk installs.
34398
34399 2008-07-30 Robert Millan <rmh@aybabtu.com>
34400
34401 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
34402 is non-empty, use it to set the `prefix' environment variable instead
34403 of the usual approach.
34404 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
34405 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
34406 environment variable instead of dummy make_install_device().
34407
34408 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
34409 (start): Insert a data section, with `grub_prefix' variable.
34410 * kern/i386/linuxbios/startup.S: Likewise.
34411
34412 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
34413 New variable reference.
34414 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
34415 New macro. Defines offset of `grub_prefix' within startup.S (relative
34416 to `start').
34417 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
34418 section within startup.S (relative to `start').
34419 * include/grub/i386/coreboot/kernel.h: Likewise.
34420
34421 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
34422 Overwrite grub_prefix with its contents, at the beginning of the
34423 first segment.
34424 (main): Understand -p|--prefix.
34425
34426 2008-07-30 Robert Millan <rmh@aybabtu.com>
34427
34428 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
34429
34430 2008-07-30 Robert Millan <rmh@aybabtu.com>
34431
34432 * term/i386/pc/vga_text.c (grub_console_cls): Use
34433 grub_console_gotoxy() to go back to beginning of the screen.
34434 Found by Patrick Georgi <patrick.georgi@coresystems.de>
34435
34436 2008-07-29 Christian Franke <franke@computer.org>
34437
34438 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
34439 Add conversion of emulated mount points on Cygwin.
34440
34441 2008-07-29 Christian Franke <franke@computer.org>
34442
34443 * util/update-grub.in: Add a check for admin
34444 group on Cygwin.
34445 Remove old `grub.cfg.new' before creation.
34446 Add `-f' to `mv' to handle the different filesystem
34447 semantics of Windows.
34448
34449 2008-07-29 Bean <bean123ch@gmail.com>
34450
34451 * normal/main.c (get_line): Fix buffer overflow bug.
34452
34453 2008-07-28 Robert Millan <rmh@aybabtu.com>
34454
34455 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
34456 (struct grub_apple_header): New struct. Describes the layout of
34457 the partmap header.
34458 (apple_partition_map_iterate): Check the header magic as well as the
34459 partition magic (which was already being checked).
34460
34461 2008-07-28 Pavel Roskin <proski@gnu.org>
34462
34463 * genmk.rb: Add a warning to the beginning of the output that
34464 it's a generated file and should not be edited.
34465
34466 2008-07-28 Robert Millan <rmh@aybabtu.com>
34467
34468 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
34469 with the same number are found, just use issue a warning with
34470 grub_dprintf(), as this error has been reported to be non-fatal.
34471
34472 2008-07-27 Robert Millan <rmh@aybabtu.com>
34473
34474 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
34475 information.
34476
34477 2008-07-27 Bean <bean123ch@gmail.com>
34478
34479 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
34480 (grub_fat_find_dir): Ignore case when comparing filename.
34481
34482 2008-07-27 Bean <bean123ch@gmail.com>
34483
34484 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
34485 smallino, as it's more descriptive, and i8count can be confused with
34486 the other field count.
34487 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
34488 inode type.
34489
34490 2008-07-27 Bean <bean123ch@gmail.com>
34491
34492 * commands/crc.c: New file.
34493
34494 * lib/crc.c: Likewise.
34495
34496 * include/grub/lib/crc.h: Likewise.
34497
34498 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
34499
34500 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
34501 (hexdump): Move this function to ...
34502
34503 * lib/hexdump.c: ... here.
34504
34505 * include/grub/hexdump.h: Renamed to ...
34506
34507 * include/grub/lib/hexdump.h: ... this.
34508
34509 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
34510
34511 * util/grub-editenv.c: Likewise.
34512
34513 * include/envblk.h: Renamed to ...
34514
34515 * include/lib/envblk.h: ... this.
34516
34517 * util/envblk.c: Renamed to ...
34518
34519 * lib/envblk.c: ... this.
34520
34521 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
34522 lib/hexdump.c.
34523 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
34524 (pkglib_MODULES): Add crc.mod.
34525 (hexdump_mod_SOURCES): Add lib/hexdump.c.
34526 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
34527 (crc_mod_SOURCES): New macro.
34528 (crc_mod_CFLAGS): Likewise.
34529 (crc_mod_LDFLAGS): Likewise.
34530
34531 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
34532
34533 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34534
34535 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34536
34537 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34538
34539 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34540
34541 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
34542
34543 * commands/help.c: Include <grub/term.h>.
34544 (TERM_WIDTH): Removed. Updated all users.
34545
34546 2008-07-27 Pavel Roskin <proski@gnu.org>
34547
34548 * util/getroot.c (find_root_device): Rephrase a comment to avoid
34549 spurious warnings about a comment within a comment.
34550
34551 2008-07-25 Robert Millan <rmh@aybabtu.com>
34552
34553 * util/getroot.c (find_root_device): Skip devices that match
34554 /dev/dm-[0-9]. This lets the real device be found for any type of
34555 abstraction (LVM, EVMS, RAID..).
34556 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
34557 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
34558 device is found first, find_root_device() will now skip it.
34559
34560 2008-07-24 Pavel Roskin <proski@gnu.org>
34561
34562 * include/grub/types.h: Use __builtin_bswap32() and
34563 __builtin_bswap64() with gcc 4.3 and newer.
34564
34565 2008-07-24 Christian Franke <franke@computer.org>
34566
34567 * util/i386/pc/grub-install.in: If `--debug' is specified,
34568 pass `--verbose' to grub-setup.
34569 Abort script if make_system_path_relative_to_its_root() fails.
34570
34571 2008-07-24 Bean <bean123ch@gmail.com>
34572
34573 * configure.ac: Fixed a bug caused by the previous cygwin patch,
34574 variable `target_platform' should be `platform'.
34575
34576 2008-07-24 Bean <bean123ch@gmail.com>
34577
34578 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
34579 (grub_png_init_fixed_block): New function.
34580 (grub_png_decode_image_data): Handle fixed huffman code compression.
34581
34582 2008-07-24 Bean <bean123ch@gmail.com>
34583
34584 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
34585 (grub_pe2elf_SOURCES): New macro.
34586 (CLEANFILES): Add grub-pe2elf.
34587
34588 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
34589 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
34590 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
34591 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
34592 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
34593 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
34594 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
34595 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
34596 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
34597 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
34598 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
34599 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
34600 (GRUB_PE32_DT_FUNCTION): Likewise.
34601 (GRUB_PE32_REL_I386_DIR32): Likewise.
34602 (GRUB_PE32_REL_I386_REL32): Likewise.
34603 (grub_pe32_symbol): New structure.
34604 (grub_pe32_reloc): Likewise.
34605
34606 * util/grub-pe2elf.c: New file.
34607
34608 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
34609 start symbol in non pc platform.
34610
34611 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
34612
34613 The following patches are from Christian Franke.
34614
34615 * include/grub/dl.h: Remove .previous, gas supports this only
34616 for ELF format.
34617
34618 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
34619 Remove .type, gas supports this only for ELF format.
34620
34621 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
34622 nullbytes in symbol table. This fixes an infinite loop if table is
34623 zero filled.
34624
34625 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
34626 TARGET_IMG_LDFLAGS and EXEEXT.
34627
34628 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
34629 TARGET_IMG_LDFLAGS_AC.
34630 (grub_CHECK_STACK_ARG_PROBE): New function.
34631
34632 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
34633
34634 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
34635
34636 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
34637 to set TARGET_IMG_LD* accordingly.
34638 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
34639 Add call to grub_CHECK_STACK_ARG_PROBE.
34640 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
34641
34642 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
34643
34644 * genmk.rb: Add EXEEXT to CLEANFILES.
34645
34646 2008-07-23 Robert Millan <rmh@aybabtu.com>
34647
34648 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
34649 define the codes for arrows and lines used for the menu).
34650 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
34651 as well.
34652
34653 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
34654 fonts, because the latter are too slow.
34655
34656 2008-07-21 Bean <bean123ch@gmail.com>
34657
34658 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
34659 a20. Run keyboard test last, as it will cause macbook to halt.
34660
34661 2008-07-18 Pavel Roskin <proski@gnu.org>
34662
34663 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
34664 load foreign architecture modules correctly anyway. Keep
34665 support for loading host architecture modules, whether we
34666 compile them or not.
34667
34668 2008-07-17 Pavel Roskin <proski@gnu.org>
34669
34670 * configure.ac: Use -m32 or -m64 regardless of whether we had to
34671 change target_cpu. The compiler default can mismatch target_cpu
34672 in any case.
34673
34674 * disk/efi/efidisk.c: Fix format warnings on x86_64.
34675 * kern/efi/efi.c: Likewise.
34676
34677 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
34678 target compiler is functional.
34679 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
34680 are set up.
34681
34682 * configure.ac: Default to efi platform for x86_64-apple. Allow
34683 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
34684 adjustments from the rest, only do them if target is not
34685 explicitly given. Merge other adjustments with the final sanity
34686 check. Remove an extraneous check for supported CPU. Be
34687 specific which CPU and which platform is not supported.
34688
34689 * configure.ac: Default to pc platform for x86_64.
34690
34691 2008-07-17 Robert Millan <rmh@aybabtu.com>
34692
34693 Partial LinuxBIOS -> Coreboot rename.
34694
34695 * conf/i386-linuxbios.rmk: Renamed to ...
34696 * conf/i386-coreboot.rmk: ... this.
34697 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
34698 * configure.ac: Accept "coreboot" as input platform (but maintain
34699 compatibility with "linuxbios").
34700 * include/grub/i386/linuxbios: Renamed to ...
34701 * include/grub/i386/coreboot: ... this.
34702
34703 2008-07-17 Bean <bean123ch@gmail.com>
34704
34705 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
34706 (appleldr_mod_SOURCE): New variable.
34707 (appleldr_mod_CFLAGS): Likewise.
34708 (appleldr_mod_LDFLAGS): Likewise.
34709 (pci_mod_SOURCES): Likewise.
34710 (pci_mod_CFLAGS): Likewise.
34711 (pci_mod_LDFLAGS): Likewise.
34712 (lspci_mod_SOURCES): Likewise.
34713 (lspci_mod_CFLAGS): Likewise.
34714 (lspci_mod_LDFLAGS): Likewise.
34715
34716 * conf/x86_64-efi.rmk: New file.
34717
34718 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
34719 macro.
34720 (grub_efidisk_write): Likewise.
34721
34722 * include/efi/api.h (efi_call_0): New macro.
34723 (efi_call_1): Likewise.
34724 (efi_call_2): Likewise.
34725 (efi_call_3): Likewise.
34726 (efi_call_4): Likewise.
34727 (efi_call_5): Likewise.
34728 (efi_call_6): Likewise.
34729
34730 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
34731 grub_rescue_cmd_chainloader.
34732
34733 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
34734 (grub_pe32_optional_header): Change some fields based on i386 or
34735 x86_64 platform.
34736 (GRUB_PE32_PE32_MAGIC): Likewise.
34737
34738 * include/grub/efi/uga_draw.h: New file.
34739
34740 * include/grub/elf.h (STN_ABS): New constant.
34741 (R_X86_64_NONE): Relocation constant for x86_64.
34742 (R_X86_64_64): Likewise.
34743 (R_X86_64_PC32): Likewise.
34744 (R_X86_64_GOT32): Likewise.
34745 (R_X86_64_PLT32): Likewise.
34746 (R_X86_64_COPY): Likewise.
34747 (R_X86_64_GLOB_DAT): Likewise.
34748 (R_X86_64_JUMP_SLOT): Likewise.
34749 (R_X86_64_RELATIVE): Likewise.
34750 (R_X86_64_GOTPCREL): Likewise.
34751 (R_X86_64_32): Likewise.
34752 (R_X86_64_32S): Likewise.
34753 (R_X86_64_16): Likewise.
34754 (R_X86_64_PC16): Likewise.
34755 (R_X86_64_8): Likewise.
34756 (R_X86_64_PC8): Likewise.
34757
34758 * include/grub/i386/efi/pci.h: New file.
34759
34760 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
34761 Change it value based on platform.
34762 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
34763 (GRUB_E820_RAM): Likewise.
34764 (GRUB_E820_RESERVED): Likewise.
34765 (GRUB_E820_ACPI): Likewise.
34766 (GRUB_E820_NVS): Likewise.
34767 (GRUB_E820_EXEC_CODE): Likewise.
34768 (GRUB_E820_MAX_ENTRY): Likewise.
34769 (grub_e820_mmap): New structure.
34770 (linux_kernel_header): Change the efi field according to different
34771 kernel version, also field from linux_kernel_header.
34772
34773 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
34774
34775 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
34776 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
34777 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
34778 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
34779 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
34780 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
34781 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
34782 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
34783 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
34784 (GRUB_PCI_ADDR_IO_MASK): Likewise.
34785
34786 * include/grub/x86_64/efi/kernel.h: New file.
34787
34788 * include/grub/x86_64/efi/loader.h: Likewise.
34789
34790 * include/grub/x86_64/efi/machine.h: Likewise.
34791
34792 * include/grub/x86_64/efi/pci.h: Likewise.
34793
34794 * include/grub/x86_64/efi/time.h: Likewise.
34795
34796 * include/grub/x86_64/linux.h: Likewise.
34797
34798 * include/grub/x86_64/setjmp.h: Likewise.
34799
34800 * include/grub/x86_64/time.h: Likewise.
34801
34802 * include/grub/x86_64/types.h: Likewise.
34803
34804 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
34805 GRUB_TARGET_SIZEOF_VOID_P.
34806
34807 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
34808 (grub_efi_locate_handle): Likewise.
34809 (grub_efi_open_protocol): Likewise.
34810 (grub_efi_set_text_mode): Likewise.
34811 (grub_efi_stall): Likewise.
34812 (grub_exit): Likewise.
34813 (grub_reboot): Likewise.
34814 (grub_halt): Likewise.
34815 (grub_efi_exit_boot_services): Likewise.
34816 (grub_get_rtc): Likewise.
34817
34818 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
34819 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
34820 (grub_efi_allocate_pages): Wrap efi calls.
34821 (grub_efi_free_pages): Wrap efi calls.
34822 (grub_efi_get_memory_map): Wrap efi calls.
34823
34824 * kern/x86_64/dl.c: New file.
34825
34826 * kern/x86_64/efi/callwrap.S: Likewise.
34827
34828 * kern/x86_64/efi/startup.S: Likewise.
34829
34830 * loader/efi/appleloader.c: Likewise.
34831
34832 * loader/efi/chainloader.c (cmdline): New variable.
34833 (grub_chainloader_unload): Wrap efi calls.
34834 (grub_chainloader_boot): Likewise.
34835 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
34836 command line.
34837
34838 * loader/efi/chainloader_normal.c (chainloader_command):
34839 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
34840 command line.
34841
34842 * loader/i386/efi/linux.c (allocate_pages): Change allocation
34843 method.
34844 (grub_e820_add_region): New function.
34845 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
34846 booting.
34847 (grub_find_video_card): New function.
34848 (grub_linux_setup_video): New function.
34849 (grub_rescue_cmd_linux): Probe for video information.
34850
34851 * normal/x86_64/setjmp.S: New file.
34852
34853 * term/efi/console.c (map_char): New function.
34854 (grub_console_putchar): Map unicode char.
34855 (grub_console_checkkey): Wrap efi calls.
34856 (grub_console_getkey): Likewise.
34857 (grub_console_getwh): Likewise.
34858 (grub_console_gotoxy): Likewise.
34859 (grub_console_cls): Likewise.
34860 (grub_console_setcolorstate): Likewise.
34861 (grub_console_setcursor): Likewise.
34862
34863 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
34864
34865 2008-07-16 Pavel Roskin <proski@gnu.org>
34866
34867 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
34868 format strings.
34869
34870 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
34871 pointer, not an integer. This fixes a warning and prevents
34872 precision loss on 64-bit systems.
34873 (relocate_addresses): Remove unneeded cast.
34874
34875 2008-07-15 Pavel Roskin <proski@gnu.org>
34876
34877 * kern/i386/ieee1275/init.c: Include grub/cache.h.
34878
34879 * term/ieee1275/ofconsole.c: Disable code unused on i386.
34880
34881 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
34882 Fix comparison between signed and unsigned.
34883
34884 * include/grub/i386/ieee1275/console.h: Declare
34885 grub_console_init() and grub_console_fini().
34886
34887 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
34888 It's empty and unused.
34889
34890 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
34891 beginning to avoid warnings with some compilers.
34892
34893 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
34894 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
34895
34896 2008-07-14 Pavel Roskin <proski@gnu.org>
34897
34898 * kern/env.c (grub_register_variable_hook): Don't copy empty
34899 string, it leaks memory. Pass "" to grub_env_set(), it should
34900 handle constant strings.
34901
34902 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
34903 * commands/cmp.c (grub_cmd_cmp): Likewise.
34904 * kern/dl.c (grub_dl_flush_cache): Likewise.
34905 (grub_dl_load_core): Likewise.
34906 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
34907 (grub_elf64_load_phdrs): Likewise.
34908
34909 2008-07-13 Pavel Roskin <proski@gnu.org>
34910
34911 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
34912 between signed and unsigned.
34913 (LzmaEnc_Finish): Fix warning about an unused parameter.
34914
34915 2008-07-13 Bean <bean123ch@gmail.com>
34916
34917 * Makefile.in (enable_lzo): New rule.
34918
34919 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
34920
34921 * configure.ac (ENABLE_LZO): New option --enable-lzo.
34922
34923 * boot/i386/pc/lnxboot.S: #include <config.h>.
34924
34925 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
34926 its value according to the compression algorithm used, lzo or lzma.
34927
34928 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
34929 compression algorithm according to configure macro.
34930
34931 * kern/i386/pc/startup.S (codestart): Likewise.
34932
34933 * kern/i386/pc/lzma_decode.S: New file.
34934
34935 * include/grub/lib/LzFind.h: Likewise.
34936
34937 * include/grub/lib/LzHash.h: Likewise.
34938
34939 * include/grub/lib/LzmaDec.h: Likewise.
34940
34941 * include/grub/lib/LzmaEnc.h: Likewise.
34942
34943 * include/grub/lib/LzmaTypes.h: Likewise.
34944
34945 * lib/LzFind.c: Likewise.
34946
34947 * lib/LzmaDec.c: Likewise.
34948
34949 * lib/LzmaEnc.c: Likewise.
34950
34951 2008-07-13 Bean <bean123ch@gmail.com>
34952
34953 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
34954 (grub_ext4_extent_header): New structure.
34955 (grub_ext4_extent): Likewise.
34956 (grub_ext4_extent_idx): Likewise.
34957 (grub_ext4_find_leaf): New function.
34958 (grub_ext2_read_block): Handle extents.
34959
34960 2008-07-12 Robert Millan <rmh@aybabtu.com>
34961
34962 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
34963
34964 2008-07-11 Robert Millan <rmh@aybabtu.com>
34965
34966 * util/grub.d/40_custom.in: New file. Example on how to add custom
34967 entries to /etc/grub.d.
34968 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
34969 40_custom (implicitly, by merging all the grub.d rules).
34970
34971 2008-07-11 Pavel Roskin <proski@gnu.org>
34972
34973 * commands/read.c (grub_getline): Fix invalid memory access.
34974 Don't add newline to the variable value.
34975
34976 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
34977 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
34978 (serial_hw_get_port): Check validity of the port number.
34979 (grub_cmd_serial): Check return value of serial_hw_get_port().
34980
34981 2008-07-07 Pavel Roskin <proski@gnu.org>
34982
34983 * boot/i386/pc/diskboot.S (notification_string): Replace
34984 "Loading kernel" with just "loading". This is shorter, less
34985 confusing and saves a few bytes for possible future changes.
34986
34987 2008-07-05 Pavel Roskin <proski@gnu.org>
34988
34989 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
34990 size for ATAPI devices, they are undefined. Output sector
34991 number in decimal form.
34992
34993 * disk/ata.c: Use named constants for status bits.
34994
34995 2008-07-04 Pavel Roskin <proski@gnu.org>
34996
34997 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
34998 grub_addr_t before casting it to the void pointer to fix a
34999 warning. Non-addressable regions are discarded earlier.
35000 (grub_arch_modules_addr): Cast _end to grub_addr_t.
35001 * kern/i386/linuxbios/table.c: Include grub/misc.h.
35002 (check_signature): Don't shadow table_header.
35003 (grub_linuxbios_table_iterate): Cast numeric constants to
35004 grub_linuxbios_table_header_t.
35005 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
35006 grub_stop().
35007
35008 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
35009 prevent warnings.
35010
35011 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
35012 pointer, which can cause warnings. Support 64-bit addresses.
35013
35014 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
35015 of sizeof(long). This fixes PowerPC image generation on x86_64.
35016
35017 2008-07-04 Robert Millan <rmh@aybabtu.com>
35018
35019 This fixes a performance issue when pc & gpt partmap iterators
35020 didn't abort iteration even after our hook found what it was
35021 looking for (often causing expensive probes of non-existent drives).
35022
35023 Some callers relied on previous buggy behaviour, since they would
35024 raise an error when their own hooks caused early abortion of its
35025 iteration.
35026
35027 * kern/device.c (grub_device_open): Improve error message.
35028 * disk/lvm.c (grub_lvm_open): Likewise.
35029 * disk/raid.c (grub_raid_open): Likewise.
35030
35031 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
35032 when hook requests it, independently of grub_errno.
35033 (pc_partition_map_probe): Do not fail when find_func() caused
35034 early abortion of pc_partition_map_iterate().
35035
35036 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
35037 when hook requests it, independently of grub_errno.
35038 (gpt_partition_map_probe): Do not fail when find_func() caused
35039 early abortion of gpt_partition_map_iterate().
35040
35041 * kern/partition.c (grub_partition_iterate): Abort parent iteration
35042 when hook requests it, independently of grub_errno. Do not fail when
35043 part_map_iterate_hook() caused early abortion of p->iterate().
35044
35045 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
35046 when grub_partition_iterate() returned with non-zero.
35047
35048 2008-07-03 Pavel Roskin <proski@gnu.org>
35049
35050 * disk/ata.c (grub_ata_pio_write): Check status before writing,
35051 like we do in grub_ata_pio_read().
35052 (grub_ata_readwrite): Always write individual sectors. Fix the
35053 sector count for the remainder.
35054 (grub_ata_write): Enable writing to ATA devices. Correctly
35055 report error for ATAPI devices.
35056
35057 2008-07-02 Pavel Roskin <proski@gnu.org>
35058
35059 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
35060 warning.
35061
35062 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
35063 for every read sector, we already increment it for the whole
35064 batch. This fixes reading more than 256 sectors at once.
35065
35066 * util/grub-editenv.c (cmd_info): Cast argument to long
35067 explicitly. ptrdiff_t reduces to int on i386.
35068
35069 * util/grub-editenv.c (main): Be specific which parameter is
35070 missing.
35071
35072 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
35073 (memdisk): Make memdisk_orig_addr a pointer.
35074
35075 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
35076 for file offsets, use grub_off_t instead. Fix printf format
35077 warnings.
35078
35079 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
35080 there. Real unexpected warnings should not drown in the noise
35081 about known problems.
35082
35083 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
35084 grub_disk_addr_t for memory addresses.
35085
35086 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
35087 explicitly to fix a warning.
35088
35089 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
35090
35091 * Makefile.in (MODULE_LDFLAGS): New variable.
35092 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
35093 the linker accepts --build-id=none.
35094 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
35095 MODULE_LDFLAGS.
35096 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
35097
35098 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
35099 those in Linux XFS code. Provide a way to access 64-bit parent
35100 inode.
35101 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
35102 the end of struct grub_xfs_dir_header.
35103
35104 2008-07-02 Bean <bean123ch@gmail.com>
35105
35106 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
35107 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
35108 and GRUB_IEEE1275_FLAG_NO_ANSI.
35109
35110 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
35111 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
35112 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
35113
35114 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
35115 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
35116
35117 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
35118 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
35119
35120 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
35121 esc sequence on non ANSI terminal.
35122 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
35123
35124 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
35125 beginning of file.
35126
35127 2008-07-02 Bean <bean123ch@gmail.com>
35128
35129 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
35130 (grub_editenv_SOURCES): New variable.
35131 (pkglib_MODULES): Add loadenv.mod.
35132 (loadenv_mod_SOURCES): New variable.
35133 (loadenv_mod_CFLAGS): Likewise.
35134 (loadenv_mod_LDFLAGS): Likewise.
35135
35136 * include/grub/envblk.h: New file.
35137
35138 * util/envblk.c: New file.
35139
35140 * util/grub-editenv.c: New file.
35141
35142 * commands/loadenv.c: New file.
35143
35144 2008-07-01 Pavel Roskin <proski@gnu.org>
35145
35146 * include/multiboot2.h (struct multiboot_tag_module): Use char,
35147 not unsigned char. This fixes warnings and is consistent with
35148 other tags.
35149
35150 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
35151
35152 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
35153
35154 * term/tparm.c (analyze): Always set *popcount.
35155
35156 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
35157 cast to fix a warning.
35158
35159 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
35160 cast to suppress a warning.
35161
35162 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
35163 grub_fshelp_read_file() expects.
35164
35165 * fs/fat.c: Fix UUID calculation on big-endian systems. We
35166 write uuid as a 32-bit value in CPU byte order, so declare and
35167 use it as such.
35168
35169 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
35170 long if the format specifier expects it.
35171 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
35172 * partmap/pc.c (pc_partition_map_iterate): Likewise.
35173 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
35174 long to fix a warning.
35175 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
35176 grub_dprintf() arguments to fix warnings.
35177
35178 2008-06-30 Pavel Roskin <proski@gnu.org>
35179
35180 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
35181 install_bsd_part immediately before core.img is embedded or
35182 modified on disk. This fixes core.img verification if core.img
35183 cannot be embedded.
35184
35185 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
35186 core_path to calculate the blocklist.
35187 Patch from Javier Martín <lordhabbit@gmail.com>
35188
35189 2008-06-29 Robert Millan <rmh@aybabtu.com>
35190
35191 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
35192 block to disk block.
35193 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
35194 Patch from Niels Böhm <bitbucket@arcor.de>
35195
35196 2008-06-29 Robert Millan <rmh@aybabtu.com>
35197
35198 * util/update-grub_lib.in (font_path): Search for fonts in
35199 /boot/grub first, which is more likely to be readable (we aren't
35200 deciding where fonts live, just looking for them).
35201
35202 2008-06-26 Pavel Roskin <proski@gnu.org>
35203
35204 * util/biosdisk.c (read_device_map): Don't leave dead map
35205 entries for devices failing stat() check.
35206
35207 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
35208 core_path_dev for the core.img path on the target device.
35209
35210 2008-06-26 Robert Millan <rmh@aybabtu.com>
35211
35212 * disk/fs_uuid.c: New file.
35213 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
35214 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
35215 (fs_uuid_mod_LDFLAGS): New variables.
35216 * include/grub/disk.h (grub_disk_dev_id): Add
35217 `GRUB_DISK_DEVICE_UUID_ID'.
35218 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
35219 implement iterate().
35220
35221 2008-06-26 Robert Millan <rmh@aybabtu.com>
35222
35223 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
35224 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
35225 Linux image includes no initrd.
35226
35227 2008-06-21 Javier Martín <lordhabbit@gmail.com>
35228
35229 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
35230 call to resolve the core image location that effectively appended the
35231 name twice.
35232
35233 2008-06-21 Robert Millan <rmh@aybabtu.com>
35234
35235 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
35236 call from here ...
35237
35238 * util/grub.d/10_hurd.in: ... to here ...
35239 * util/grub.d/10_linux.in: ... and here.
35240
35241 2008-06-19 Robert Millan <rmh@aybabtu.com>
35242
35243 * kern/main.c (grub_main): Export `prefix' variable immediately
35244 after it has been set by grub_machine_set_prefix().
35245
35246 2008-06-19 Robert Millan <rmh@aybabtu.com>
35247
35248 * commands/search.c (search_label, search_fs_uuid, search_file): Print
35249 search result when not saving to variable, not the other way around.
35250 When saving to variable, abort iteration as soon as a match is found.
35251
35252 2008-06-19 Robert Millan <rmh@aybabtu.com>
35253
35254 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
35255 check for partition that provides /boot/grub. Its logic is flawed,
35256 as it prevents prepare_grub_to_access_device() from being called
35257 multiple times.
35258
35259 2008-06-19 Robert Millan <rmh@aybabtu.com>
35260
35261 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
35262 "insmod" command directly when abstraction modules are needed,
35263 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
35264 since it had already been processed).
35265
35266 2008-06-19 Pavel Roskin <proski@gnu.org>
35267
35268 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
35269 changed. This is needed in case GRUB_LIBDIR changes.
35270 * conf/i386-ieee1275.rmk: Likewise.
35271 * conf/i386-linuxbios.rmk: Likewise.
35272 * conf/i386-pc.rmk: Likewise.
35273 * conf/powerpc-ieee1275.rmk: Likewise.
35274
35275 2008-06-18 Pavel Roskin <proski@gnu.org>
35276
35277 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
35278 kernel_elf_symlist.c to symlist.c for consistency with other
35279 architectures. Update all users.
35280 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
35281
35282 2008-06-18 Robert Millan <rmh@aybabtu.com>
35283
35284 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
35285 it in prefix.
35286
35287 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
35288 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
35289 a RAID device, run setup() for all members independently on whether
35290 LVM abstraction is being used.
35291 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
35292 If grub-mkimage has set `*install_dos_part == -2', don't override this
35293 value.
35294 Perform *install_dos_part adjustments independently on whether
35295 we're embedding or not.
35296 Clarify error message when image is too big for embedding.
35297 Remove duplicate *install_dos_part stanza.
35298
35299 2008-06-17 Robert Millan <rmh@aybabtu.com>
35300
35301 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
35302 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
35303 variables.
35304 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
35305 values in grub_ofconsole_normal_color and
35306 grub_ofconsole_highlight_color (they're not directly related to
35307 background and foreground).
35308 (grub_ofconsole_setcolorstate): Extract background and foreground
35309 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
35310
35311 2008-06-17 Robert Millan <rmh@aybabtu.com>
35312
35313 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
35314 /boot/grub for the check in last commit, not /boot (they could be
35315 different partitions).
35316
35317 2008-06-16 Robert Millan <rmh@aybabtu.com>
35318
35319 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
35320 asked to setup access for the same partition that provides /boot,
35321 don't bother using UUIDs since our root already has the value we
35322 want.
35323
35324 2008-06-16 Robert Millan <rmh@aybabtu.com>
35325
35326 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
35327 I2O devices.
35328 Patch from Sven Mueller <sven@debian.org>.
35329
35330 2008-06-16 Robert Millan <rmh@aybabtu.com>
35331
35332 * util/update-grub.in: Check for $EUID instead of $UID.
35333 Reported by Vincent Zweije.
35334
35335 2008-06-16 Bean <bean123ch@gmail.com>
35336
35337 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
35338 (grub_ext2_read_block): Likewise.
35339 (grub_ext2_read_inode): Likewise.
35340 (grub_ext2_mount): Likewise.
35341 (grub_ext2_close): Likewise.
35342 (grub_ext3_get_journal): Removed.
35343
35344 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
35345 (grub_reiserfs_read_symlink): Likewise.
35346 (grub_reiserfs_mount): Likewise.
35347 (grub_reiserfs_open): Likewise.
35348 (grub_reiserfs_read): Likewise.
35349 (grub_reiserfs_close): Likewise.
35350 (grub_reiserfs_get_journal): Removed.
35351
35352 * fs/fshelp.c (grub_fshelp_read): Removed.
35353 (grub_fshelp_map_block): Likewise.
35354
35355 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
35356 (grub_fshelp_journal): Likewise.
35357 (grub_fshelp_read): Likewise.
35358 (grub_fshelp_map_block): Likewise.
35359
35360 2008-06-16 Pavel Roskin <proski@gnu.org>
35361
35362 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
35363 floating point anymore.
35364 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
35365
35366 2008-06-15 Pavel Roskin <proski@gnu.org>
35367
35368 * commands/ls.c (grub_ls_list_files): Use integer calculations
35369 for human readable format, avoid floating point use.
35370 * kern/misc.c (grub_ftoa): Remove.
35371 (grub_vsprintf): Remove floating point support.
35372
35373 2008-06-15 Robert Millan <rmh@aybabtu.com>
35374
35375 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
35376 devices.
35377 Reported by Max Vozeler.
35378
35379 2008-06-15 Robert Millan <rmh@aybabtu.com>
35380
35381 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
35382 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
35383 skipped later.
35384 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
35385 the beginning of the prefix.
35386
35387 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
35388 It is assumed that if we have a memdisk, grub-mkimage has set
35389 grub_prefix to include the "(memdisk)" drive in it.
35390
35391 2008-06-15 Robert Millan <rmh@aybabtu.com>
35392
35393 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
35394 Initialize keyboard controller after registering the terminal, so that
35395 grub_printf() can be called from grub_keyboard_controller_init().
35396
35397 2008-06-15 Robert Millan <rmh@aybabtu.com>
35398
35399 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
35400 extent-btree which is written as big endian on disk.
35401 Reported by Alain Greppin <al@chilibi.org>.
35402
35403 2008-06-14 Robert Millan <rmh@aybabtu.com>
35404
35405 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
35406 * util/i386/pc/grub-install.in (modules): Likewise.
35407
35408 2008-06-13 Pavel Roskin <proski@gnu.org>
35409
35410 * commands/ls.c (grub_ls_list_files): Fix format warnings.
35411
35412 2008-06-13 Bean <bean123ch@gmail.com>
35413
35414 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
35415
35416 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
35417
35418 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
35419 to indicate sparse block.
35420
35421 2008-06-12 Pavel Roskin <proski@gnu.org>
35422
35423 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
35424 number, grub_fshelp_read() does it for us.
35425
35426 * fs/fshelp.c (grub_fshelp_read): New function. Implement
35427 linear disk read with journal translation.
35428 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
35429 * include/grub/fshelp.h: Declare grub_fshelp_read().
35430
35431 2008-06-09 Pavel Roskin <proski@gnu.org>
35432
35433 * fs/minix.c (grub_minix_mount): Handle error reading
35434 superblock.
35435
35436 2008-06-08 Robert Millan <rmh@aybabtu.com>
35437
35438 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
35439 don't append the RAID prefix afterwards.
35440 Reported by Clint Adams.
35441
35442 2008-06-08 Robert Millan <rmh@aybabtu.com>
35443
35444 Based on description from Pavel:
35445 * kern/disk.c (grub_disk_check_range): Rename to ...
35446 (grub_disk_adjust_range): ... this. Add a comment explaining the
35447 tasks performed by this function.
35448
35449 2008-06-08 Robert Millan <rmh@aybabtu.com>
35450
35451 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
35452 `num_serial' (for consistency with other variables).
35453 (struct grub_ntfs_data): Add `uuid' member.
35454 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
35455 (grub_ntfs_uuid): New function.
35456 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
35457
35458 2008-06-07 Pavel Roskin <proski@gnu.org>
35459
35460 * util/biosdisk.c (open_device): Revert last change to the
35461 function, it broke installation. The sector needs to be
35462 different dependent on which device is opened.
35463
35464 2008-06-06 Robert Millan <rmh@aybabtu.com>
35465
35466 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
35467 rest of GRUB, and breakage doesn't happen if its value were modified.
35468
35469 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
35470 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
35471 a constant (same value).
35472 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
35473 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
35474
35475 2008-06-06 Robert Millan <rmh@aybabtu.com>
35476
35477 * util/biosdisk.c (open_device): Do not modify sector offset when
35478 accessing a partition. kern/disk.c already handles this for us.
35479
35480 2008-06-06 Robert Millan <rmh@aybabtu.com>
35481
35482 * util/grub-emu.c (grub_machine_init): Move code in this function from
35483 here ...
35484 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
35485 segfault in case grub_printf() is called).
35486
35487 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
35488 grub_probe. Update all users not to explicitly add it again.
35489 (grub_device): New variable; contains corresponding device for grubdir.
35490 (fs_module, partmap_module, devabstraction_module): Pass
35491 `--device ${grub_device}' to grub_probe to avoid traversing /dev
35492 every time.
35493
35494 2008-06-05 Robert Millan <rmh@aybabtu.com>
35495
35496 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
35497 is found, print it (same layout as with labels).
35498
35499 2008-06-04 Robert Millan <rmh@aybabtu.com>
35500
35501 * util/biosdisk.c (get_drive): Rename to ...
35502 (find_grub_drive): ... this. Update all users.
35503
35504 (get_os_disk): Rename to ...
35505 (convert_system_partition_to_system_disk): ... this. Update all users.
35506
35507 (find_drive): Rename to ...
35508 (find_system_device): ... this. Update all users.
35509
35510 2008-06-04 Robert Millan <rmh@aybabtu.com>
35511
35512 * util/biosdisk.c (get_os_disk): Handle IDA devices.
35513 * util/grub-mkdevicemap.c (get_mmc_disk_name)
35514 (make_device_map): Likewise.
35515
35516 2008-06-01 Robert Millan <rmh@aybabtu.com>
35517
35518 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
35519 before dereferencing it.
35520
35521 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
35522 union with fat12/fat16-specific ones. Add some new fields, including
35523 `num_serial' for both versions.
35524 (struct grub_fat_data): Add `uuid' member.
35525 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
35526 names. Initialize `data->uuid' using `num_serial'.
35527 (grub_fat_uuid): New function.
35528 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
35529
35530 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
35531 (grub_reiserfs_uuid): New function.
35532 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
35533 member.
35534
35535 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
35536 (grub_xfs_uuid): New function.
35537 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
35538
35539 2008-06-01 Robert Millan <rmh@aybabtu.com>
35540
35541 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
35542 code that is backward compatible with pre-uuid search command.
35543
35544 2008-05-31 Robert Millan <rmh@aybabtu.com>
35545
35546 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
35547 floppies after everything else, to ensure floppy drive isn't accessed
35548 unnecessarily (patch from Bean).
35549
35550 2008-05-31 Robert Millan <rmh@aybabtu.com>
35551
35552 * commands/search.c (search_label, search_fs_uuid, search_file): Do
35553 not print device names when we were asked to set a variable.
35554
35555 2008-05-31 Robert Millan <rmh@aybabtu.com>
35556
35557 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
35558 using "cursor-on" and "cursor-off" commands (understood at least by
35559 the Open Firmware flavour on OLPC).
35560
35561 2008-05-31 Michael Gorven <michael@gorven.za.net>
35562
35563 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
35564 on and off sequences.
35565
35566 2008-05-31 Robert Millan <rmh@aybabtu.com>
35567
35568 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
35569 * util/update-grub.in: Likewise.
35570
35571 2008-05-30 Pavel Roskin <proski@gnu.org>
35572
35573 * util/biosdisk.c (linux_find_partition): Simplify logic and
35574 make the code more universal. Keep special processing for
35575 devfs, but use a simple rule for all other devices. If the
35576 device ends with a number, append 'p' and the partition number.
35577 Otherwise, append only the partition number.
35578
35579 2008-05-30 Robert Millan <rmh@aybabtu.com>
35580
35581 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
35582 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
35583 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
35584 the `root' parameter to Linux.
35585
35586 2008-05-30 Robert Millan <rmh@aybabtu.com>
35587
35588 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
35589 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
35590 --fs_uuid with --fs-uuid.
35591 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
35592 all filesystems support them).
35593
35594 2008-05-30 Robert Millan <rmh@aybabtu.com>
35595
35596 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
35597 grub_printf() flags, since we're printing in units of 2 bytes.
35598
35599 2008-05-30 Robert Millan <rmh@aybabtu.com>
35600
35601 * util/grub.d/00_header.in: Remove obsolete comment referencing
35602 convert_system_path_to_grub_path().
35603 * util/update-grub.in: Likewise.
35604 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
35605 (convert_system_path_to_grub_path): Add a warning message explaining
35606 that this function is deprecated. Rely on is_path_readable_by_grub()
35607 for the readability checks.
35608 (font_path): Use is_path_readable_by_grub() for the readability
35609 check rather than convert_system_path_to_grub_path().
35610
35611 2008-05-30 Robert Millan <rmh@aybabtu.com>
35612
35613 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
35614 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
35615 converting it first.
35616 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
35617 grub.cfg for access to font file, and afterwards call it again to set
35618 the root device.
35619
35620 2008-05-30 Robert Millan <rmh@aybabtu.com>
35621
35622 * commands/search.c (options): Add --fs_uuid option.
35623 (search_fs_uuid): New function.
35624 (grub_cmd_search): Fix --set argument passing.
35625 Use search_fs_uuid() when requested via --fs_uuid.
35626 (grub_search_init): Update help message.
35627 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
35628 and redeclare it as an array of 16-bit words.
35629 (grub_ext2_uuid): New function.
35630 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
35631 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
35632 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
35633 (GRUB_DEVICE_BOOT_UUID): New variables.
35634 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
35635 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
35636 whenever possible.
35637 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
35638 just assume `root' variable has the right value.
35639 * util/grub.d/10_linux.in: Likewise.
35640 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
35641 via PRINT_FS_UUID.
35642 (main): Recognise `-t fs_uuid' argument.
35643
35644 2008-05-30 Robert Millan <rmh@aybabtu.com>
35645
35646 * util/biosdisk.c (map): Redefine structure to hold information
35647 about GRUB drive name.
35648 (get_drive): Reimplement without assuming (and verifying) BIOS-like
35649 drive names.
35650 (call_hook): Remove.
35651 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
35652 member. Assume drive has partitions.
35653 (grub_util_biosdisk_open): Access device names via `.device' struct
35654 member.
35655 (open_device): Likewise.
35656 (find_drive): Likewise.
35657 (read_device_map): Adjust map[] usage to match the new struct
35658 definition. Don't check for duplicates (still possible, but not cheap
35659 anymore).
35660 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
35661 (make_device_name): Remove assumption of BIOS-like drive names.
35662
35663 2008-05-30 Pavel Roskin <proski@gnu.org>
35664
35665 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
35666 compiling execute.c doesn't need grub_script.tab.h anymore.
35667 (normal/command.c_DEPENDENCIES): Likewise.
35668 (normal/function.c_DEPENDENCIES): Likewise.
35669 * conf/i386-ieee1275.rmk: Likewise.
35670 * conf/i386-linuxbios.rmk: Likewise.
35671 * conf/i386-pc.rmk: Likewise.
35672 * conf/powerpc-ieee1275.rmk: Likewise.
35673 * conf/sparc64-ieee1275.rmk: Likewise.
35674
35675 2008-05-29 Pavel Roskin <proski@gnu.org>
35676
35677 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
35678 when scanning metadata for volume group name.
35679
35680 * include/grub/script.h: Don't include grub_script.tab.h. It's
35681 a generated file, which may only be included from the files with
35682 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
35683 use union YYSTYPE, as the later allows forward declaration.
35684 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
35685
35686 2008-05-29 Robert Millan <rmh@aybabtu.com>
35687
35688 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
35689 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
35690 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
35691 (grub_console_checkkey): Add grub_dprintf() call to report unknown
35692 scan codes.
35693
35694 2008-05-29 Robert Millan <rmh@aybabtu.com>
35695
35696 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
35697 control key combinations.
35698
35699 2008-05-29 Robert Millan <rmh@aybabtu.com>
35700
35701 * util/powerpc/ieee1275/grub-install.in: Move from here ...
35702 * util/ieee1275/grub-install.in: ... to here.
35703 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
35704 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
35705 (grub_install_SOURCES): Likewise.
35706
35707 2008-05-29 Robert Millan <rmh@aybabtu.com>
35708
35709 * fs/affs.c: Update copyright year.
35710 * fs/ext2.c: Likewise.
35711 * fs/fshelp.c: Likewise.
35712 * fs/hfsplus.c: Likewise.
35713 * fs/ntfs.c: Likewise.
35714 * fs/xfs.c: Likewise.
35715 * include/grub/fshelp.h: Likewise.
35716 * util/grub-mkdevicemap.c: Likewise.
35717
35718 2008-05-28 Robert Millan <rmh@aybabtu.com>
35719
35720 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
35721 might need to be fatfs to support some firmware implementations
35722 (e.g. OFW or EFI).
35723
35724 2008-05-28 Robert Millan <rmh@aybabtu.com>
35725
35726 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
35727 devices.
35728 * util/grub-mkdevicemap.c (get_mmc_disk_name)
35729 (make_device_map): Likewise.
35730
35731 2008-05-20 Bean <bean123ch@gmail.com>
35732
35733 * fs/fshelp.c (grub_fshelp_map_block): New function.
35734 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
35735 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
35736
35737 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
35738 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
35739 (grub_fshelp_journal): New structure.
35740 (grub_fshelp_map_block): New function prototype.
35741 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
35742 (grub_fshelp_map_block): Likewise.
35743
35744 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
35745 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
35746 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
35747 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
35748 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
35749 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
35750 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
35751 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
35752 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
35753 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
35754 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
35755 (grub_ext2_sblock): New members for journal support.
35756 (grub_ext3_journal_header): New structure.
35757 (grub_ext3_journal_revoke_header): Likewise.
35758 (grub_ext3_journal_block_tag): Likewise.
35759 (grub_ext3_journal_sblock): Likewise.
35760 (grub_fshelp_node): New members logfile and journal.
35761 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
35762 grub_fshelp_map_block to get real block number.
35763 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
35764 number.
35765 (grub_ext2_read_inode): Likewise.
35766 (grub_ext3_get_journal): New function.
35767 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
35768 (grub_ext2_close): Release memory used by journal.
35769
35770 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
35771 (REISERFS_MAGIC_DESC_BLOCK): New macro.
35772 (grub_reiserfs_transaction_header): Renamed to
35773 grub_reiserfs_description_block, replace field data with real_blocks.
35774 (grub_reiserfs_commit_block): New structure.
35775 (grub_reiserfs_data): New member journal.
35776 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
35777 number.
35778 (grub_reiserfs_read_symlink): Likewise.
35779 (grub_reiserfs_iterate_dir): Likewise.
35780 (grub_reiserfs_open): Likewise.
35781 (grub_reiserfs_read): Likewise.
35782 (grub_reiserfs_get_journal): New function.
35783 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
35784 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
35785 using grub_reiserfs_get_journal.
35786 (grub_reiserfs_close): Release memory used by journal.
35787
35788 * fs/affs.c (grub_affs_read_block): Change block type to
35789 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
35790
35791 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
35792
35793 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
35794
35795 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
35796
35797 * fs/udf.c (grub_udf_read_block): Change block type to
35798 grub_disk_addr_t. Use type cast to avoid warning.
35799
35800 * fs/xfs.c (grub_xfs_read_block): Likewise.
35801
35802 2008-05-16 Christian Franke <franke@computer.org>
35803
35804 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
35805 to ensure that break with ESC will always work.
35806 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
35807 Remove ESC from keyboard queue.
35808
35809 2008-05-16 Christian Franke <franke@computer.org>
35810
35811 * util/biosdisk.c: [__CYGWIN__] Add includes.
35812 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
35813 (get_os_disk): Move variable declarations to OS specific
35814 parts to avoid warning.
35815 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
35816 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
35817 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
35818 Cygwin.
35819 * util/getroot.c: [__CYGWIN__] Add includes.
35820 (strip_extra_slashes): Fix "/" case.
35821 [__CYGWIN__] (get_win32_path): New function.
35822 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
35823 [__CYGWIN__] (find_root_device): Disable.
35824 [__CYGWIN__] (get_bootsec_serial): New function.
35825 [__CYGWIN__] (find_cygwin_root_device): Likewise.
35826 [__linux__] (grub_guess_root_device): Add early returns to simplify
35827 structure.
35828 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
35829 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
35830 check for Linux only.
35831
35832 2008-05-15 Bean <bean123ch@gmail.com>
35833
35834 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
35835 keyboard hang problem in apple's intel mac.
35836
35837 2008-05-09 Robert Millan <rmh@aybabtu.com>
35838
35839 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
35840 devices.
35841 * util/grub-mkdevicemap.c (get_virtio_disk_name)
35842 (make_device_map): Likewise.
35843 Reported by Aurelien Jarno <aurel32@debian.org>
35844
35845 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
35846
35847 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
35848 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
35849 (make_device_map): Output entries for xvd type disks.
35850
35851 2008-05-07 Robert Millan <rmh@aybabtu.com>
35852
35853 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
35854 devices.
35855 * util/grub-mkdevicemap.c (get_cciss_disk_name)
35856 (make_device_map): Likewise.
35857 Reported by Roland Dreier <rdreier@cisco.com>
35858
35859 2008-05-07 Robert Millan <rmh@aybabtu.com>
35860
35861 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
35862 grub_strstr() call. Correct a few mistakes in failure path handling.
35863
35864 2008-05-06 Robert Millan <rmh@aybabtu.com>
35865
35866 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
35867 Do not print a trailing slash (therefore, the root directory is an
35868 empty string).
35869 (convert_system_path_to_grub_path): Do not remove trailing slash
35870 from make_system_path_relative_to_its_root() output.
35871
35872 * util/i386/pc/grub-install.in: Add trailing slash to output from
35873 make_system_path_relative_to_its_root().
35874
35875 2008-05-06 Robert Millan <rmh@aybabtu.com>
35876
35877 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
35878 ensures that output lines aren't intermangled with those sent to
35879 stderr (via grub_util_info()).
35880 * util/grub-probe.c (grub_refresh): Likewise.
35881 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
35882
35883 2008-05-05 Christian Franke <franke@computer.org>
35884
35885 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
35886 Add Cygwin device names.
35887 (get_ide_disk_name) [__CYGWIN__]: Likewise.
35888 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
35889 (check_device): Return error instead of success on empty name.
35890 (make_device_map): Move label inside linux specific code to
35891 prevent compiler warning.
35892
35893 2008-04-30 Robert Millan <rmh@aybabtu.com>
35894
35895 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
35896 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
35897 first boot option.
35898 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
35899
35900 2008-04-29 Robert Millan <rmh@aybabtu.com>
35901
35902 * docs/grub.cfg: New file (example GRUB configuration).
35903
35904 2008-04-26 Robert Millan <rmh@aybabtu.com>
35905
35906 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
35907 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
35908 and `disk/ieee1275/nand.c'.
35909
35910 2008-04-25 Bean <bean123ch@gmail.com>
35911
35912 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
35913 i386-linuxbios.
35914
35915 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
35916 change the buffer size to 4096 for cdrom device.
35917
35918 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
35919 and nand.mod.
35920 (_linux_mod_SOURCES): New variable.
35921 (_linux_mod_CFLAGS): Likewise.
35922 (_linux_mod_LDFLAGS): Likewise.
35923 (linux_mod_SOURCES): Likewise.
35924 (linux_mod_CFLAGS): Likewise.
35925 (linux_mod_LDFLAGS): Likewise.
35926 (nand_mod_SOURCES): Likewise.
35927 (nand_mod_CFLAGS): Likewise.
35928 (nand_mod_LDFLAGS): Likewise.
35929
35930 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
35931 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
35932 type property. (nand device in olpc don't have this property)
35933
35934 * include/grub/disk.h (grub_disk_dev_id): New macro
35935 GRUB_DISK_DEVICE_NAND_ID.
35936
35937 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
35938 function prototype.
35939 (grub_rescue_cmd_initrd): Likewise.
35940
35941 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
35942 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
35943 ofw_cif_handler and ofw_idt, adjust padding number.
35944
35945 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
35946 GRUB_MACHINE_IEEE1275 is defined.
35947
35948 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
35949 Use NESTED_FUNC_ATTR attribute on the hook parameter.
35950
35951 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
35952 on nested function heap_init.
35953 (grub_upper_mem): New variable for i386-ieee1275.
35954 (grub_get_extended_memory): New function for i386-ieee1275.
35955 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
35956
35957 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
35958 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
35959 property.
35960
35961 * loader/i386/ieee1275/linux.c: New file.
35962
35963 * loader/i386/ieee1275/linux_normal.c: New file.
35964
35965 * disk/ieee1275/nand.c: New file.
35966
35967 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
35968
35969 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
35970 value.
35971 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
35972
35973 2008-04-18 Robert Millan <rmh@aybabtu.com>
35974
35975 Restructures early code path on ieee1275 to unify grub_main() as
35976 the first C function that is executed in every platform.
35977
35978 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
35979 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
35980 cmain().
35981 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
35982 * kern/ieee1275/cmain.c (cmain): Rename to ...
35983 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
35984 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
35985 at the beginning.
35986
35987 2008-04-18 Robert Millan <rmh@aybabtu.com>
35988
35989 * util/update-grub.in: Fix syntax error when setting
35990 `GRUB_PRELOAD_MODULES'.
35991 Reported by Stephane Chazelas <stephane@artesyncp.com>
35992
35993 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
35994
35995 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
35996 section into account, newer toolchains generate unique build ids
35997 * configure.ac: remove the test for --build-id=none acceptance,
35998 we want build ids to be preserved
35999 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
36000 far from other sections don't cause the raw binary images grow
36001 size
36002
36003 2008-04-15 Robert Millan <rmh@aybabtu.com>
36004
36005 * disk/lvm.c: Update copyright year.
36006 * kern/misc.c: Likewise.
36007
36008 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
36009
36010 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
36011 there is no memory left for physical volume name.
36012
36013 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
36014
36015 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
36016 volume name mapping to support bigger than 9 character names properly.
36017
36018 2008-04-13 Robert Millan <rmh@aybabtu.com>
36019
36020 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
36021 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
36022
36023 2008-04-13 Christian Franke <franke@computer.org>
36024
36025 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
36026 to create a floppy emulation boot CD when non emulation mode
36027 does not work.
36028 Enable Joliet CD filesystem extension.
36029
36030 2008-04-13 Robert Millan <rmh@aybabtu.com>
36031
36032 * kern/misc.c (grub_strncat): Fix off-by-one error.
36033 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
36034
36035 * kern/env.c (grub_env_context_close): Clear current context, not
36036 previous one.
36037 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
36038
36039 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
36040
36041 2008-04-13 Robert Millan <rmh@aybabtu.com>
36042
36043 Improve robustness when handling LVM.
36044
36045 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
36046 (and leave `*p' unmodified).
36047 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
36048 through it.
36049 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
36050 iterating through it.
36051 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
36052 through it.
36053 (grub_lvm_scan_device): Check the return value (and fail gracefully
36054 when due) on each grub_lvm_getvalue() or grub_strstr() call.
36055 Don't assume `vg->pvs != NULL' when iterating through it.
36056
36057 2008-04-13 Robert Millan <rmh@aybabtu.com>
36058
36059 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
36060 * genmk.rb (partmap): New variable.
36061 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
36062 (#{partmap}): New target rule.
36063 * genpartmaplist.sh: New file.
36064 * Makefile.in (pkglib_DATA): Add partmap.lst.
36065 (partmap.lst): New target rule.
36066 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
36067 modules (including all partition maps), instead of preloading them.
36068
36069 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
36070
36071 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
36072 `linux-boot-prober' (if installed) to detect other operating
36073 systems which are installed on the computer and add them to
36074 the boot menu.
36075 * conf/common.rmk: Build and install 30_os-prober.
36076
36077 2008-04-12 Robert Millan <rmh@aybabtu.com>
36078
36079 * kern/powerpc/ieee1275/init.c: Move from here ...
36080 * kern/ieee1275/init.c: ... to here. Update all users.
36081
36082 * kern/powerpc/ieee1275/cmain.c: Move from here ...
36083 * kern/ieee1275/cmain.c: ... to here. Update all users.
36084
36085 * kern/powerpc/ieee1275/openfw.c: Move from here ...
36086 * kern/ieee1275/openfw.c: ... to here. Update all users.
36087
36088 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
36089 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
36090
36091 2008-04-10 Pavel Roskin <proski@gnu.org>
36092
36093 * configure.ac: Always use "_cv_" in cache variables for
36094 compatibility with Autoconf 2.62.
36095
36096 2008-04-07 Robert Millan <rmh@aybabtu.com>
36097
36098 Revert grub/machine/init.h addition by Pavel (since it breaks on
36099 i386-ieee1275 and others):
36100 * util/i386/pc/misc.c: Remove grub/machine/init.h.
36101 * util/powerpc/ieee1275/misc.c: Likewise.
36102
36103 2008-04-07 Robert Millan <rmh@aybabtu.com>
36104
36105 * util/grub-probe.c (probe): Improve error message.
36106
36107 2008-04-07 Robert Millan <rmh@aybabtu.com>
36108
36109 * util/biosdisk.c (read_device_map): Skip devices that don't exist
36110 (this prevents the presence of a bogus entry from ruining the whole
36111 thing).
36112
36113 2008-04-06 Pavel Roskin <proski@gnu.org>
36114
36115 * util/biosdisk.c: Include grub/util/biosdisk.h.
36116 * util/grub-fstest.c (execute_command): Make static.
36117 * util/grub-mkdevicemap.c (check_device): Likewise.
36118 * util/i386/pc/misc.c: Include grub/machine/init.h.
36119 * util/powerpc/ieee1275/misc.c: Likewise.
36120 * util/lvm.c: Include grub/util/lvm.h.
36121 * util/misc.c: Include grub/kernel.h, grub/misc.h and
36122 grub/cache.h.
36123 * util/raid.c: Include grub/util/raid.h.
36124 (grub_util_getdiskname): Make static.
36125
36126 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
36127 grub_hostfs_fini(), as they are called from grub_init_all() and
36128 grub_fini_all() respectively. This fixes an infinite loop in
36129 grub-fstest due to double registration of hostfs.
36130 Reported by Christian Franke <Christian.Franke@t-online.de>
36131
36132 2008-04-05 Pavel Roskin <proski@gnu.org>
36133
36134 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
36135 all 8 functions. Otherwise, probe function 0 only.
36136
36137 2008-04-04 Pavel Roskin <proski@gnu.org>
36138
36139 * commands/lspci.c (grub_lspci_iter): Print the bus number
36140 correctly.
36141
36142 * commands/lspci.c (grub_pci_classes): Fix typos.
36143 (grub_lspci_iter): Don't print func twice. Print vendor ID
36144 before device ID, as it's normally done.
36145
36146 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
36147 Fix signedness warnings.
36148 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
36149 Likewise.
36150 * util/ieee1275/get_disk_name.c: Include config.h so that
36151 _GNU_SOURCE is defined and getline() is declared. Mark an
36152 unused argument as such. Fix a signedness warning.
36153
36154 2008-04-02 Pavel Roskin <proski@gnu.org>
36155
36156 * genkernsyms.sh.in: Use more robust assignments for CC and
36157 srcdir. Quote srcdir.
36158 * gensymlist.sh.in: Likewise. Assert at the compile time that
36159 the symbol table is not empty.
36160
36161 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
36162 * fs/cpio.c (grub_cpio_read): Likewise.
36163
36164 2008-04-01 Pavel Roskin <proski@gnu.org>
36165
36166 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
36167 * disk/host.c (grub_host_open): Likewise.
36168 * disk/loopback.c (grub_loopback_open): Likewise.
36169 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
36170 disk->id as in disk/host.c, not a multi-character constant.
36171
36172 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
36173 later is obsolete, potentially dangerous and sets a bad example.
36174 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
36175 * util/misc.c (grub_util_get_image_size): Likewise.
36176
36177 * disk/loopback.c (options): Improve help for "--partitions".
36178
36179 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
36180 options to align them with the short options, e.g. "echo -e".
36181
36182 2008-03-31 Bean <bean123ch@gmail.com>
36183
36184 * video/reader/png.c (grub_png_data): New member is_16bit and
36185 image_data.
36186 (grub_png_decode_image_header): Detect 16 bit png image.
36187 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
36188 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
36189 (grub_video_reader_png): Release memory occupied by image_data.
36190
36191 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
36192 4096 bytes.
36193 (grub_nfs_mount): Skip the test for sector per cluster.
36194
36195 * include/grub/ntfs.h (MAX_SPC): Removed.
36196
36197 2008-03-31 Bean <bean123ch@gmail.com>
36198
36199 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
36200 (grub_probe_SOURCES): Add fs/afs.c.
36201 (grub_fstest_SOURCES): Likewise.
36202 (afs_mod_SOURCES): New variable.
36203 (afs_mod_CFLAGS): Likewise.
36204 (afs_mod_LDFLAGS): Likewise.
36205
36206 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
36207 (grub_emu_SOURCES): Likewise.
36208
36209 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36210
36211 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36212
36213 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36214
36215 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36216
36217 * fs/afs.c: New file.
36218
36219 2008-03-30 Pavel Roskin <proski@gnu.org>
36220
36221 * disk/host.c: Include grub/misc.h to fix a warning.
36222 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
36223 warnings about implicit declarations.
36224
36225 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
36226 variable.
36227 * include/grub/i386/loader.h: Change declaration of
36228 grub_linux_boot() to match what grub_loader_set() expects.
36229 * util/getroot.c (grub_guess_root_device): Return const char* to
36230 fix a warning.
36231 * util/grub-probe.c (probe): Fix a warning about uninitialized
36232 abstraction_name variable.
36233 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
36234 second argument as unused to fix a warning.
36235
36236 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
36237 missing grub_error() call.
36238
36239 * util/update-grub_lib.in: Define datarootdir, since Autoconf
36240 2.60 and newer uses it to define datadir.
36241
36242 * commands/sleep.c: Fix warning about implicit declaration.
36243 * disk/memdisk.c: Likewise.
36244 * loader/aout.c: Likewise.
36245 * loader/i386/bsd_normal.c: Likewise.
36246 * util/grub-probe.c: Likewise.
36247
36248 * commands/i386/cpuid.c (has_longmode): Make static.
36249 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
36250 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
36251
36252 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
36253 GDT. This is more robust, as %ds can change.
36254 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
36255 calling real_to_prot().
36256 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
36257
36258 2008-03-28 Pavel Roskin <proski@gnu.org>
36259
36260 * kern/i386/pc/startup.S: Assert that uncompressed functions
36261 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
36262 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
36263 code, as they push parts of the code (error handlers) beyond
36264 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
36265 code as correctness and size.
36266
36267 2008-03-28 Pavel Roskin <proski@gnu.org>
36268
36269 * kern/i386/pc/startup.S
36270 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
36271 data block address to the real mode, keep offset minimal. This
36272 works around a bug in AWARD BIOS on old Athlon systems, which
36273 makes CD detection hang.
36274
36275 2008-03-26 Pavel Roskin <proski@gnu.org>
36276
36277 * normal/color.c (grub_parse_color_name_pair): Make `name' a
36278 const.
36279 * include/grub/normal.h: Add grub_parse_color_name_pair()
36280 declaration.
36281
36282 2008-03-24 Bean <bean123ch@gmail.com>
36283
36284 * disk/i386/pc/biosdisk.c (cd_start): Removed.
36285 (cd_count): Removed.
36286 (cd_drive): New variable.
36287 (grub_biosdisk_get_drive): Don't check for (cdN) device.
36288 (grub_biosdisk_call_hook): Likewise.
36289 (grub_biosdisk_iterate): Change cdrom detection method.
36290 (grub_biosdisk_open): Replace cd_start with cd_drive.
36291 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
36292 detect cdrom device.
36293
36294 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
36295 Removed.
36296 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
36297 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
36298 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
36299 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
36300 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
36301 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
36302 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
36303 (grub_biosdisk_cdrp): New structure.
36304 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
36305
36306 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
36307
36308 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
36309 device.
36310
36311 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
36312 New function.
36313
36314 2008-03-20 Robert Millan <rmh@aybabtu.com>
36315
36316 Remove 2 TiB limit in ata.mod.
36317 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
36318 (grub_ata_dumpinfo): Print sector count with 0x%llx.
36319 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
36320 grub_uint64_t instead of grub_uint32_t.
36321
36322 2008-03-05 Bean <bean123ch@gmail.com>
36323
36324 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
36325 (grub_multiboot): Set boot device.
36326
36327 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
36328
36329 2008-03-02 Bean <bean123ch@gmail.com>
36330
36331 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
36332 symlink_buffer.
36333
36334 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
36335
36336 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
36337 texinfo.tex.
36338
36339 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
36340 modified.
36341
36342 * docs/fdl.texi: New file.
36343
36344 * docs/mdate-sh: New file. Copied from gnulib.
36345 * docs/texinfo.tex: Likewise.
36346
36347 * config.guess: Updated from gnulib.
36348 * install-sh: Likewise.
36349
36350 2008-02-28 Robert Millan <rmh@aybabtu.com>
36351
36352 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
36353 (aout_mod_SOURCES): New variable.
36354 (aout_mod_CFLAGS): Likewise.
36355 (aout_mod_LDFLAGS): Likewise.
36356
36357 * conf/i386-ieee1275.rmk: Likewise.
36358
36359 2008-02-28 Robert Millan <rmh@aybabtu.com>
36360
36361 * util/update-grub.in: Reorganise terminal validity check. Accept
36362 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
36363 Based on suggestion by Franklin PIAT.
36364
36365 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
36366
36367 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
36368 function.
36369 * util/getroot.c (grub_util_check_block_device): New function that
36370 returns the given argument if it is a block device and returns NULL else.
36371 * util/grub-probe.c (argument_is_device): New variable.
36372 (probe): Promote device_name from a variable to an argument. Receive
36373 device_name from grub_util_check_block_device() if path is NULL and from
36374 grub_guess_root_device() else. Do not free() device_name anymore.
36375 (options): Introduce new parameter '-d, --device'.
36376 (main): Add description of the new parameter to the help screen.
36377 Rename path variable to argument. Set argument_is_device if the '-d'
36378 option is given. Pass argument to probe() depending on
36379 argument_is_device.
36380
36381 2008-02-24 Bean <bean123ch@gmail.com>
36382
36383 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
36384 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
36385 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
36386 (GRUB_ISO9660_VOLDESC_PART): Likewise.
36387 (GRUB_ISO9660_VOLDESC_END): Likewise.
36388 (grub_iso9660_primary_voldesc): New member escape.
36389 (grub_iso9660_data): New member joliet.
36390 (grub_iso9660_convert_string): New function.
36391 (grub_iso9660_mount): Detect joliet extension.
36392 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
36393 (grub_iso9660_iso9660_label): Likewise.
36394
36395 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
36396 (grub_setup_SOURCES): Add fs/udf.c.
36397 (grub_fstest_SOURCES): Likewise.
36398 (udf_mod_SOURCES): New variable.
36399 (udf_mod_CFLAGS): Likewise.
36400 (udf_mod_LDFLAGS): Likewise.
36401
36402 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
36403 (grub_emu_SOURCES): Likewise.
36404
36405 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36406
36407 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36408
36409 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36410
36411 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36412
36413 * fs/udf.c: New file.
36414
36415 2008-02-24 Robert Millan <rmh@aybabtu.com>
36416
36417 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
36418 (normal/lexer.c_DEPENDENCIES): New variables.
36419 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
36420 (normal/lexer.c_DEPENDENCIES): Likewise.
36421 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
36422 (normal/lexer.c_DEPENDENCIES): Likewise.
36423 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
36424 (normal/lexer.c_DEPENDENCIES): Likewise.
36425 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
36426 (normal/lexer.c_DEPENDENCIES): Likewise.
36427 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
36428 (normal/lexer.c_DEPENDENCIES): Likewise.
36429
36430 2008-02-23 Robert Millan <rmh@aybabtu.com>
36431
36432 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
36433 since they were intended to be in hex. This didn't break previously
36434 because of a bug in gpt_partition_map_iterate() (see below).
36435
36436 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
36437 when checking the validity of GPT header.
36438 Remove `partno', since it always provides the same information as `i'.
36439
36440 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
36441
36442 * include/grub/efi/time.h: Fix a wrong comment.
36443
36444 2008-02-19 Pavel Roskin <proski@gnu.org>
36445
36446 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
36447 message.
36448
36449 2008-02-19 Bean <bean123ch@gmail.com>
36450
36451 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
36452 (aout_mod_SOURCES): New variable.
36453 (aout_mod_CFLAGS): Likewise.
36454 (aout_mod_LDFLAGS): Likewise.
36455 (_bsd_mod_SOURCES): New variable.
36456 (_bsd_mod_CFLAGS): Likewise.
36457 (_bsd_mod_LDFLAGS): Likewise.
36458 (bsd_mod_SOURCES): New variable.
36459 (bsd_mod_CFLAGS): Likewise.
36460 (bsd_mod_LDFLAGS): Likewise.
36461
36462 * include/grub/aout.h: New file.
36463
36464 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
36465
36466 * include/grub/i386/bsd.h: New file.
36467
36468 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
36469 to make it public.
36470
36471 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
36472 function is called, so that it's possible to change it inside the hook.
36473 (grub_elf64_load): Likewise.
36474 (grub_elf_file): Don't close the file if elf header is not found.
36475 (grub_elf_close): Close the file if grub_elf_file fails (The new
36476 grub_elf_file won't close it).
36477 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
36478 (grub_elf64_size): Likewise.
36479
36480 * kern/i386/loader.S (grub_unix_real_boot): New function.
36481
36482 * loader/aout.c: New file.
36483
36484 * loader/i386/bsd.c: New file.
36485
36486 * loader/i386/bsd_normal.c: New file.
36487
36488 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
36489
36490 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
36491 can test other formats.
36492
36493 2008-02-19 Robert Millan <rmh@aybabtu.com>
36494
36495 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
36496 (grub_gpt_partition_type_empty): Redefine with macro from
36497 `<grub/gpt_partition.h>'.
36498 (gpt_partition_map_iterate): Adjust partition type comparison.
36499
36500 Export `entry' as partmap-specific `part.data' struct.
36501 (grub_gpt_header, grub_gpt_partentry): Move from here ...
36502
36503 * include/grub/gpt_partition.h (grub_gpt_header)
36504 (grub_gpt_partentry): ... to here (new file).
36505
36506 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
36507
36508 (grub_gpt_partition_type_bios_boot): New const variable, defined
36509 with macro from `<grub/gpt_partition.h>'.
36510
36511 (setup): Replace `first_start' with `embed_region', which keeps
36512 track of the embed region (and is partmap-agnostic).
36513
36514 Replace find_first_partition_start() with find_usable_region(),
36515 which finds a usable region for embedding using partmap-specific
36516 knowledge (supports PC/MSDOS and GPT).
36517
36518 Fix all assumptions that the embed region start at sector 1, using
36519 `embed_region.start' from now on. Similarly, use `embed_region.end'
36520 rather than `first_start' to calculate available size.
36521
36522 In grub_util_info() message, replace "into after the MBR" with an
36523 indication of the specific sector our embed region starts at.
36524
36525 2008-02-19 Robert Millan <rmh@aybabtu.com>
36526
36527 * DISTLIST: Replace `commands/ieee1275/halt.c' and
36528 `commands/ieee1275/reboot.c' with `commands/halt.c' and
36529 `commands/reboot.c'.
36530 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
36531 (halt_mod_SOURCES): Likewise.
36532 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
36533 (halt_mod_SOURCES): Likewise.
36534
36535 2008-02-17 Christian Franke <franke@computer.org>
36536
36537 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
36538
36539 2008-02-17 Robert Millan <rmh@aybabtu.com>
36540
36541 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
36542 set `first_start' to 0 for non-PC/MSDOS partition maps.
36543
36544 2008-02-16 Robert Millan <rmh@aybabtu.com>
36545
36546 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
36547 do not assume partition map is PC/MSDOS before performing checks that
36548 are specific to that layout.
36549
36550 2008-02-13 Robert Millan <rmh@aybabtu.com>
36551
36552 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
36553 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
36554 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
36555
36556 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
36557
36558 * configure.ac: Only a cosmetic change on the handling of
36559 -fno-stack-protector.
36560
36561 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
36562
36563 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
36564 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
36565 reboot.c.
36566 (grub_install_SOURCES): Add halt.mod and reboot.mod.
36567 (halt_mod_SOURCES): New variable.
36568 (halt_mod_CFLAGS): Likewise.
36569 (halt_mod_LDFLAGS): Likewise.
36570 (reboot_mod_SOURCES): Likewise.
36571 (reboot_mod_CFLAGS): Likewise.
36572 (reboot_mod_LDFLAGS): Likewise.
36573
36574 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
36575 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
36576 reboot.c.
36577 (halt_mod_SOURCES): Likewise.
36578 (reboot_mod_SOURCES): Likewise.
36579
36580 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
36581 commands/i386/pc/reboot.c by commands/reboot.c.
36582 (reboot_mod_SOURCES): Likewise.
36583
36584 * commands/i386/pc/reboot.c: merge this file ...
36585
36586 * commands/ieee1275/reboot.c: ... and this file ...
36587
36588 * commands/reboot.c: ... to this file.
36589 Add some precompiler directive to include the correct header for
36590 each machine.
36591
36592 * commands/ieee1275/halt.c: move this file ...
36593
36594 * commands/halt.c: ... to here.
36595 Add some precompiler directive to include the correct header for
36596 each machine.
36597
36598 * include/grub/efi/efi.h (grub_reboot): New function declaration.
36599 (grub_halt): Likewise.
36600
36601 * kern/efi/efi.c (grub_reboot): New function.
36602 (grub_halt): Likewise.
36603
36604 2008-02-12 Robert Millan <rmh@aybabtu.com>
36605
36606 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
36607 /dev (like it is done for /dev/mapper). This doesn't provide support
36608 for EVMS, but at least it is now easy to identify the problem when it
36609 arises.
36610
36611 2008-02-11 Robert Millan <rmh@aybabtu.com>
36612
36613 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
36614 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
36615 comparing it with -1, not 0.
36616
36617 2008-02-10 Robert Millan <rmh@aybabtu.com>
36618
36619 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
36620 `disk/lvm.c'.
36621 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36622 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
36623
36624 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
36625 `disk/lvm.c' to the end of the list.
36626 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36627 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36628
36629 2008-02-10 Robert Millan <rmh@aybabtu.com>
36630
36631 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
36632 grub_print_error() instead. This will let user know why we're entering
36633 rescue mode.
36634 Based on suggestions from Sam Morris.
36635
36636 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
36637
36638 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
36639 on remaining N args, instead of "--" arg N times.
36640
36641 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
36642
36643 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
36644 (fill_with_default_glyph): Changed to use unknown_glyph for fill
36645 pattern for unknown glyphs.
36646
36647 2008-02-09 Robert Millan <rmh@aybabtu.com>
36648
36649 * configure.ac: Probe for `help2man'.
36650 * Makefile.in (builddir): New variable.
36651 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
36652 or otherwise add a few flags/options to it.
36653 (install-local): For every executable utility or script that is
36654 installed, invoke $(HELP2MAN) to install a manpage based on --help
36655 output.
36656
36657 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
36658 that it doesn't prevent --help from working in build tree.
36659
36660 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
36661 with `bug-grub@gnu.org'.
36662 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
36663 * util/update-grub.in (usage): New function.
36664 Implement proper argument check, with support for --help and --version
36665 (as well as existing -y).
36666
36667 2008-02-09 Christian Franke <franke@computer.org>
36668
36669 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
36670 avoid overwriting previous output.
36671 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
36672
36673 2008-02-09 Robert Millan <rmh@aybabtu.com>
36674
36675 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
36676 drawing the menu.
36677
36678 2008-02-09 Robert Millan <rmh@aybabtu.com>
36679
36680 * commands/sleep.c: New file.
36681 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
36682 (sleep_mod_SOURCES): New variable.
36683 (sleep_mod_CFLAGS): Likewise.
36684 (sleep_mod_LDFLAGS): Likewise.
36685
36686 2008-02-09 Robert Millan <rmh@aybabtu.com>
36687
36688 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
36689 situations in which we can deduce the RAID size and the superblock
36690 doesn't match it.
36691
36692 2008-02-09 Robert Millan <rmh@aybabtu.com>
36693
36694 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
36695 and return a grub_diskmemberlist_t composed of LVM physical volumes.
36696 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
36697
36698 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
36699 and return a grub_diskmemberlist_t composed of physical array members.
36700 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
36701
36702 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
36703 prototype.
36704 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
36705 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
36706 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
36707
36708 * util/grub-probe.c (probe): Move partmap probing code from here ...
36709 (probe_partmap): ... to here.
36710 (probe): Use probe_partmap() once for the disk we're probing, and
36711 additionally, when such disk contains a memberlist() struct member,
36712 once for each disk that is contained in the structure returned by
36713 memberlist().
36714
36715 2008-02-09 Robert Millan <rmh@aybabtu.com>
36716
36717 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
36718 environment variable to 'all' in order to obtain debug output from
36719 non-util/ code.
36720 * util/i386/pc/grub-setup.c (main): Likewise.
36721
36722 2008-02-08 Robert Millan <rmh@aybabtu.com>
36723
36724 * disk/raid.c (grub_raid_scan_device): Check for
36725 `array->device[sb.this_disk.number]' rather than for
36726 `array->device[sb.this_disk.number]->name', since the latter is not
36727 guaranteed to be accessible.
36728
36729 2008-02-08 Robert Millan <rmh@aybabtu.com>
36730
36731 * disk/raid.c: Update copyright.
36732 * fs/cpio.c: Likewise.
36733 * include/grub/raid.h: Likewise.
36734 * loader/i386/pc/multiboot.c: Likewise.
36735 * util/hostfs.c: Likewise.
36736
36737 2008-02-08 Robert Millan <rmh@aybabtu.com>
36738
36739 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
36740 to a grub_disk_t array.
36741 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
36742 `device[x]'.
36743 (grub_raid_scan_device): Replace `device[x].name' accesses with
36744 `device[x]->name'. Simplify initialization of `array->device[x]'.
36745
36746 2008-02-08 Robert Millan <rmh@aybabtu.com>
36747
36748 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
36749 grub_dprintf() calls.
36750 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
36751 error message.
36752
36753 2008-02-07 Christian Franke <franke@computer.org>
36754
36755 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
36756 instead of fseek and ftell to support large files.
36757 (grub_hostfs_read): Likewise.
36758
36759 2008-02-07 Robert Millan <rmh@aybabtu.com>
36760
36761 Patch from Jeroen Dekkers.
36762 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
36763 failure, since successfully reading all array members might not be
36764 required.
36765
36766 2008-02-06 Robert Millan <rmh@aybabtu.com>
36767
36768 * util/grub-probe.c (probe): Simplify partmap probing (with the
36769 assumption that the first word up to the underscore equals to
36770 the module name).
36771
36772 2008-02-06 Christian Franke <franke@computer.org>
36773
36774 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
36775 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
36776 last block of a cpio or tar stream.
36777 Check for "TRAILER!!!" instead of any empty data
36778 block to detect last block of a cpio stream.
36779 (grub_cpio_dir): Fix constness of variable np.
36780 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
36781 cpio or tar trailer is detected. This fixes a crash
36782 on open of a non existing file.
36783
36784 2008-02-05 Bean <bean123ch@gmail.com>
36785
36786 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
36787 address of entry.
36788 (grub_multiboot_load_elf64): Likewise.
36789 (grub_multiboot): Initialize mbi structure.
36790
36791 * util/grub-fstest.c: Don't include unused header file script.h.
36792
36793 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
36794 of file.
36795 (grub_fstest_SOURCES): Likewise.
36796
36797 2008-02-05 Robert Millan <rmh@aybabtu.com>
36798
36799 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
36800 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
36801 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
36802 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
36803
36804 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
36805 (translation_table): Replace hardcoded values with macros
36806 provided by `<grub/term.h>'.
36807
36808 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
36809 (keyboard_map): Correct/add a few values, with macros provided
36810 by `<grub/term.h>'.
36811 (keyboard_map_shift): Zero values that don't differ from their
36812 `keyboard_map' equivalents.
36813 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
36814 Discard the second scan code that is always sent by Caps lock.
36815 Only use `keyboard_map_shift' when it provides a non-zero value,
36816 otherwise fallback to `keyboard_map'.
36817
36818 2008-02-04 Bean <bean123ch@gmail.com>
36819
36820 * Makefile.in (enable_grub_fstest): New variable.
36821
36822 * conf/common.rmk (grub_fstest_init.lst): New rule.
36823 (grub_fstest_init.h): Likewise.
36824 (grub_fstest_init.c): Likewise.
36825 (util/grub-fstest.c_DEPENDENCIES): New variable.
36826 (grub_fstest_SOURCES): Likewise.
36827
36828 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
36829
36830 * util/grub-fstest.c: New file.
36831
36832 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
36833
36834 Make grub-setup handle a separate root device.
36835
36836 * util/i386/pc/grub-setup.c (setup): Always open the root device,
36837 so that the root device can be compared with the destination
36838 device.
36839 When embedding the core image, if the root and destination devices
36840 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
36841 0xFF.
36842 When not embedding, set ROOT_DRIVE to 0xFF.
36843
36844 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
36845
36846 Add support for having a grub directory in a different drive. This
36847 is still only the data handling part.
36848
36849 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
36850 (codestart): Save %dh in GRUB_ROOT_DRIVE.
36851 (grub_root_drive): New variable.
36852
36853 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
36854 instead of GRUB_BOOT_DRIVE to construct a device name. Set
36855 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
36856 as it was.
36857
36858 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
36859
36860 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
36861 macro.
36862 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
36863
36864 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
36865 is bogus, because PXE booting does not specify any drive
36866 correctly.
36867
36868 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
36869 am not sure if this is really correct.
36870
36871 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
36872 is always identical to the boot drive when booting from a CD.
36873
36874 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
36875 longer.
36876 (root_drive): New variable.
36877 (real_start): Unconditionally set %dh to ROOT_DRIVE.
36878 (setup_sectors): Push %dx right after popping it, because %dh will
36879 be modified later.
36880 (copy_buffer): Restore %dx.
36881
36882 2008-02-03 Robert Millan <rmh@aybabtu.com>
36883
36884 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
36885 use `cdboot.img' for cdrom images.
36886
36887 2008-02-03 Robert Millan <rmh@aybabtu.com>
36888
36889 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
36890 only setup gfxterm when `font' command has succeeded.
36891
36892 2008-02-03 Robert Millan <rmh@aybabtu.com>
36893
36894 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
36895 (grub_rescue_cmd_multiboot_loader)
36896 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
36897
36898 2008-02-03 Pavel Roskin <proski@gnu.org>
36899
36900 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
36901 %edx and %esi from stack only after grub_gate_a20() is called.
36902 grub_gate_a20() clobbers %edx.
36903
36904 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
36905
36906 * configure.ac (AC_INIT): Bumped to 1.96.
36907
36908 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
36909 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
36910 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
36911 video/readers/png.c.
36912
36913 2008-02-03 Bean <bean123ch@gmail.com>
36914
36915 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
36916 (cdboot_img_SOURCES): New variable.
36917 (cdboot_img_ASFLAGS): New variable.
36918 (cdboot_img_LDFLAGS): New variable.
36919
36920 * boot/i386/pc/cdboot.S: New file.
36921
36922 * disk/i386/pc/biosdisk.c (cd_start): New variable.
36923 (cd_count): Likewise.
36924 (grub_biosdisk_get_drive): Add support for cd device.
36925 (grub_biosdisk_call_hook): Likewise.
36926 (grub_biosdisk_iterate): Likewise.
36927 (grub_biosdisk_open): Likewise.
36928 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
36929 (grub_biosdisk_rw): Support reading from cd device.
36930 (GRUB_MOD_INIT): Iterate cd devices.
36931
36932 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
36933 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
36934 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
36935
36936 * kern/i386/pc/init.c (make_install_device): Check for cd device.
36937
36938 2008-02-02 Robert Millan <rmh@aybabtu.com>
36939
36940 * commands/read.c: New file.
36941 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
36942 (read_mod_SOURCES): New variable.
36943 (read_mod_CFLAGS): Likewise.
36944 (read_mod_LDFLAGS): Likewise.
36945
36946 2008-02-02 Robert Millan <rmh@aybabtu.com>
36947
36948 * normal/main.c (grub_normal_execute): Check for `menu->size' when
36949 determining whether menu has to be displayed.
36950
36951 2008-02-02 Marco Gerards <marco@gnu.org>
36952
36953 * bus/pci.c: New file.
36954
36955 * include/grub/pci.h: Likewise.
36956
36957 * include/grub/i386/pc/pci.h: Likewise.
36958
36959 * commands/lspci.c: Likewise.
36960
36961 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
36962 `lspci.mod'.
36963 (pci_mod_SOURCES): New variable.
36964 (pci_mod_CFLAGS): Likewise.
36965 (pci_mod_LDFLAGS): Likewise.
36966 (lspci_mod_SOURCES): Likewise.
36967 (lspci_mod_CFLAGS): Likewise.
36968 (lspci_mod_LDFLAGS): Likewise.
36969
36970 2008-02-02 Bean <bean123ch@gmail.com>
36971
36972 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
36973 (grub_ufs_get_file_block): Fix indirect block calculation problem.
36974
36975 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
36976 (grub_xfs_btree_node): New structure.
36977 (grub_xfs_btree_root): New structure.
36978 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
36979 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
36980 (GRUB_XFS_EXTENT_BLOCK): Likewise.
36981 (GRUB_XFS_EXTENT_SIZE): Likewise.
36982 (grub_xfs_read_block): Support btree format type.
36983 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
36984 Use directory block as basic unit.
36985
36986 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
36987
36988 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
36989 __attribute__ ((__regparm__ (1))).
36990
36991 2008-02-01 Robert Millan <rmh@aybabtu.com>
36992
36993 Correct a mistake in previous commit.
36994
36995 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
36996 top.
36997 (normal/command.c_DEPENDENCIES): New variable.
36998
36999 2008-02-01 Robert Millan <rmh@aybabtu.com>
37000
37001 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
37002 top.
37003 (normal/command.c_DEPENDENCIES): New variable.
37004 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
37005 * conf/i386-ieee1275.rmk: Likewise.
37006 * conf/i386-linuxbios.rmk: Likewise.
37007 * conf/i386-pc.rmk: Likewise.
37008 * conf/sparc64-ieee1275.rmk: Likewise.
37009 * conf/powerpc-ieee1275.rmk: Likewise.
37010 (grub_emu_SOURCES): Add `fs/fshelp.c'.
37011
37012 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
37013
37014 2008-02-01 Robert Millan <rmh@aybabtu.com>
37015
37016 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
37017 call at beginning of function.
37018
37019 2008-01-31 Pavel Roskin <proski@gnu.org>
37020
37021 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
37022 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
37023 (grub_mkrescue_SOURCES): Likewise.
37024 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
37025
37026 2008-01-30 Robert Millan <rmh@aybabtu.com>
37027
37028 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
37029 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
37030 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
37031 (grub_probe_SOURCES): ... to here.
37032
37033 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
37034 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
37035 * conf/i386-ieee1275.rmk: Likewise.
37036 * conf/i386-linuxbios.rmk: Likewise.
37037 * conf/powerpc-ieee1275.rmk: Likewise.
37038
37039 2008-01-30 Tristan Gingold <gingold@free.fr>
37040
37041 * kern/rescue.c: Silently accept empty lines.
37042
37043 2008-01-29 Bean <bean123ch@gmail.com>
37044
37045 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
37046 (real_code_2): Code cleanup and change comment style.
37047 (move_memory): Avoid using 32-bit address mode.
37048
37049 2008-01-29 Bean <bean123ch@gmail.com>
37050
37051 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
37052 (png_mod_SOURCES): New variable.
37053 (png_mod_CFLAGS): Likewise.
37054 (png_mod_LDFLAGS): Likewise.
37055
37056 * video/readers/png.c: New file.
37057
37058 2008-01-28 Robert Millan <rmh@aybabtu.com>
37059
37060 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
37061 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
37062 `ifndef GRUB_MOD_GAP' hack.
37063 * util/elf/grub-mkimage.c (add_segments): Likewise.
37064
37065 2008-01-27 Robert Millan <rmh@aybabtu.com>
37066
37067 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
37068 `GRUB_MOD_GAP' for platforms in which it's not defined.
37069 * util/elf/grub-mkimage.c (add_segments): Likewise.
37070
37071 2008-01-27 Robert Millan <rmh@aybabtu.com>
37072
37073 Get grub-emu to build again (including parallel builds).
37074
37075 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
37076 Split into ...
37077 (util/grub-emu.c_DEPENDENCIES): ... this, ...
37078 (normal/execute.c_DEPENDENCIES): ... this, ...
37079 (grub-emu_DEPENDENCIES): ... and this.
37080
37081 * conf/i386-efi.rmk: Likewise.
37082 * conf/i386-linuxbios.rmk: Likewise.
37083 * conf/i386-ieee1275.rmk: Likewise.
37084 * conf/powerpc-ieee1275.rmk: Likewise.
37085 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
37086
37087 2008-01-27 Robert Millan <rmh@aybabtu.com>
37088
37089 * NEWS: Add a few items.
37090
37091 2008-01-27 Robert Millan <rmh@aybabtu.com>
37092
37093 Fix parallel builds with grub-emu. Based on earlier commit for
37094 grub-probe and grub-setup.
37095
37096 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37097 (util/grub-emu.c_DEPENDENCIES): ... this.
37098 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37099 (util/grub-emu.c_DEPENDENCIES): ... this.
37100 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37101 (util/grub-emu.c_DEPENDENCIES): ... this.
37102 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37103 (util/grub-emu.c_DEPENDENCIES): ... this.
37104 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37105 (util/grub-emu.c_DEPENDENCIES): ... this.
37106
37107 2008-01-27 Pavel Roskin <proski@gnu.org>
37108
37109 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
37110 to create a gap between _end and the modules added to the image
37111 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
37112 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
37113 * util/elf/grub-mkimage.c (add_segments): Likewise.
37114
37115 2008-01-26 Pavel Roskin <proski@gnu.org>
37116
37117 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
37118 just return an error.
37119
37120 2008-01-26 Bean <bean123ch@gmail.com>
37121
37122 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
37123 (grub_reiserfs_get_item): Save offset of the next item.
37124 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
37125
37126 2008-01-25 Robert Millan <rmh@aybabtu.com>
37127
37128 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
37129 make all filesystem sources appear together (possibly fixing omissions
37130 while at it).
37131 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37132 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37133 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37134 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37135
37136 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
37137 add `kern/file.c'.
37138 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
37139 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
37140 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
37141 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
37142
37143 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
37144 (probe): Add a sanity check to make sure of our ability to read
37145 requested files when probing for filesystem type.
37146
37147 * genmk.rb: Update copyright year (2007).
37148
37149 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
37150 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
37151 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
37152 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
37153 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
37154 : Remove function prototypes.
37155
37156 2008-01-25 Robert Millan <rmh@aybabtu.com>
37157
37158 Revert my previous commits (based on wrong assumption of how grub_errno
37159 works).
37160
37161 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
37162 * kern/file.c (grub_file_open): Likewise.
37163
37164 2008-01-24 Pavel Roskin <proski@gnu.org>
37165
37166 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
37167 that hang if GRUB tries to setup colors.
37168 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
37169 colors for firmwares that don't support it.
37170 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
37171 Recognize Open Hack'Ware, set flags to work around its
37172 limitations.
37173
37174 2008-01-24 Robert Millan <rmh@aybabtu.com>
37175
37176 * kern/file.c (grub_file_open): Do not account previous failures of
37177 unrelated functions when grub_errno is checked for.
37178 Reported by Oleg Strikov.
37179
37180 2008-01-24 Bean <bean123ch@gmail.com>
37181
37182 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
37183 (grub_ufs_sblock): New member volume name.
37184 (grub_ufs_find_file): Fix string copy bug.
37185 (grub_ufs_label): Implement this function properly.
37186
37187 * fs/hfs.c (grub_hfs_cnid_type): New enum.
37188 (grub_hfs_iterate_records): Use the correct file number for extents
37189 and catalog file. Fix problem in next index calculation.
37190 (grub_hfs_find_node): Replace recursive function call with loop.
37191 (grub_hfs_iterate_dir): Replace recursive function call with loop.
37192
37193 2008-01-23 Robert Millan <rmh@aybabtu.com>
37194
37195 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
37196 `<grub/symbol.h>' and `<grub/multiboot.h>'.
37197 (grub_multiboot2_real_boot): New function prototype.
37198
37199 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
37200 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
37201
37202 * kern/i386/ieee1275/init.c (grub_os_area_addr)
37203 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
37204
37205 2008-01-23 Robert Millan <rmh@aybabtu.com>
37206
37207 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
37208 #ifdef'ed out grub_printf().
37209
37210 2008-01-23 Robert Millan <rmh@aybabtu.com>
37211
37212 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
37213 grub_dprintf calls, since they make "debug=all" mode unusable.
37214 (grub_console_checkkey): Likewise.
37215
37216 2008-01-23 Robert Millan <rmh@aybabtu.com>
37217
37218 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
37219 `term/i386/pc/at_keyboard.c'.
37220 (pkglib_MODULES): Add `serial.mod'.
37221 (serial_mod_SOURCES): New variable.
37222 (serial_mod_CFLAGS): Likewise.
37223 (serial_mod_LDFLAGS): Likewise.
37224
37225 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
37226 `<grub/powerpc/ieee1275/console.h>'.
37227 (grub_keyboard_controller_init): New function prototype.
37228 (grub_console_checkkey): Likewise.
37229 (grub_console_getkey): Likewise.
37230
37231 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
37232 keyboard on i386.
37233
37234 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
37235 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
37236
37237 2008-01-23 Robert Millan <rmh@aybabtu.com>
37238
37239 * kern/i386/pc/init.c (make_install_device): When memdisk image is
37240 present, "(memdisk)/boot/grub" becomes the default prefix.
37241
37242 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
37243 a memdisk tarball with all the modules. Add --overlay=DIR option that
37244 allows users to overlay additional files into the image.
37245
37246 2008-01-23 Robert Millan <rmh@aybabtu.com>
37247
37248 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
37249 and `machine/memory.h'.
37250 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
37251 (_multiboot_mod_SOURCES): New variable.
37252 (_multiboot_mod_CFLAGS): Likewise.
37253 (_multiboot_mod_LDFLAGS): Likewise.
37254 (multiboot_mod_SOURCES): Likewise.
37255 (multiboot_mod_CFLAGS): Likewise.
37256 (multiboot_mod_LDFLAGS): Likewise.
37257
37258 * include/grub/i386/ieee1275/loader.h: New file.
37259
37260 * include/grub/i386/ieee1275/machine.h: Likewise.
37261
37262 * include/grub/i386/ieee1275/memory.h: Likewise.
37263
37264 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
37265 variable declaration.
37266 (grub_os_area_size): Likewise.
37267
37268 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
37269 (grub_lower_mem, grub_upper_mem): New variables.
37270 (grub_stop_floppy): New function (just to make
37271 grub_multiboot2_real_boot() happy).
37272
37273 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
37274 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
37275 (grub_stop): New function.
37276 Include `"../realmode.S"' and `"../loader.S"'.
37277
37278 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
37279 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
37280
37281 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
37282 rely on grub_multiboot2_real_boot() for final boot.
37283
37284 2008-01-22 Robert Millan <rmh@aybabtu.com>
37285
37286 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
37287 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
37288 device that doesn't look like an SD card.
37289 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
37290 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
37291 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
37292 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
37293 found.
37294
37295 2008-01-22 Robert Millan <rmh@aybabtu.com>
37296
37297 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
37298 avoid claiming over our own code.
37299
37300 2008-01-22 Bean <bean123ch@gmail.com>
37301
37302 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
37303 (jpeg_mod_SOURCES): New variable.
37304 (jpeg_mod_CFLAGS): Likewise.
37305 (jpeg_mod_LDFLAGS): Likewise.
37306
37307 * video/readers/jpeg.c : New file.
37308
37309 2008-01-22 Bean <bean123ch@gmail.com>
37310
37311 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
37312 there are no more items.
37313
37314 2008-01-21 Robert Millan <rmh@aybabtu.com>
37315
37316 * kern/mm.c (grub_mm_init_region): Improve debug message.
37317
37318 2008-01-21 Robert Millan <rmh@aybabtu.com>
37319
37320 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
37321 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
37322 address.
37323 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
37324 a C macro.
37325 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
37326 Indicates start of upper memory.
37327 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
37328 (generate_image): Abort when image size is big enough to corrupt
37329 upper memory.
37330
37331 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
37332 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
37333 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
37334 instead of hardcoding 0xA0000.
37335 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
37336 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
37337 instead of hardcoding 0xA0000.
37338
37339 2008-01-21 Robert Millan <rmh@aybabtu.com>
37340
37341 * disk/memdisk.c (memdisk_size): New variable.
37342 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
37343 `memdisk_size'.
37344 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
37345 image to dynamic memory.
37346 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
37347 `memdisk_size'. Free memdisk block.
37348
37349 2008-01-21 Robert Millan <rmh@aybabtu.com>
37350
37351 Fix detection of very small filesystems (like tar).
37352
37353 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
37354 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
37355 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
37356 a problem with this disk).
37357
37358 2008-01-21 Robert Millan <rmh@aybabtu.com>
37359
37360 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
37361 on grub_biosdisk_rw_standard() error.
37362
37363 2008-01-21 Robert Millan <rmh@aybabtu.com>
37364
37365 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
37366 recent changes.
37367 * kern/elf.c: Likewise.
37368 * kern/ieee1275/ieee1275.c: Likewise.
37369 * kern/powerpc/ieee1275/openfw.c: Likewise.
37370 * term/ieee1275/ofconsole.c: Likewise.
37371
37372 2008-01-21 Robert Millan <rmh@aybabtu.com>
37373
37374 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
37375
37376 * include/grub/kernel.h (grub_arch_memdisk_addr)
37377 (grub_arch_memdisk_size): Moved from here ...
37378
37379 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
37380 (grub_arch_memdisk_size): ... to here.
37381
37382 2008-01-21 Robert Millan <rmh@aybabtu.com>
37383
37384 Mostly based on bugfix from Bean.
37385
37386 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
37387 attribute with hook() parameter.
37388 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
37389 declaration.
37390 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
37391 attribute with hook() parameter.
37392 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
37393 declaration.
37394
37395 2008-01-21 Robert Millan <rmh@aybabtu.com>
37396
37397 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
37398 (pkglib_MODULES): Add `memdisk.mod'.
37399 (memdisk_mod_SOURCES): New variable.
37400 (memdisk_mod_CFLAGS): Likewise.
37401 (memdisk_mod_LDFLAGS): Likewise.
37402
37403 * disk/memdisk.c: New file.
37404
37405 * include/grub/disk.h (grub_disk_dev_id): Add
37406 `GRUB_DISK_DEVICE_MEMDISK_ID'.
37407
37408 * include/grub/i386/pc/kernel.h
37409 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
37410 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
37411 (grub_kernel_image_size): New variable declaration.
37412 (grub_total_module_size): Likewise.
37413 (grub_memdisk_image_size): Likewise.
37414
37415 * include/grub/i386/pc/memory.h
37416 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
37417
37418 * include/grub/kernel.h: Include `<grub/symbol.h>'.
37419 (grub_arch_memdisk_addr): New variable declaration.
37420 (grub_arch_memdisk_size): Likewise.
37421
37422 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
37423 (grub_arch_memdisk_size): Likewise.
37424
37425 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
37426 (codestart): Replace hardcoded `0x100000' with
37427 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
37428
37429 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
37430 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
37431 not NULL, append the contents of the file it refers to, at the end of
37432 the compressed kernel image. Initialize `grub_memdisk_image_size'
37433 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
37434 (options): Add "memdisk"|'m' option.
37435 (main): Parse --memdisk|-m option, and pass user-provided path as
37436 parameter to generate_image().
37437
37438 2008-01-20 Robert Millan <rmh@aybabtu.com>
37439
37440 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
37441 grub_dprintf() calls from here ...
37442 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
37443
37444 2008-01-20 Robert Millan <rmh@aybabtu.com>
37445
37446 Fix detection of "real mode" when /options/real-mode? doesn't exist.
37447
37448 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
37449 declaration.
37450 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
37451 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
37452 `GRUB_IEEE1275_FLAG_REAL_MODE'.
37453 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
37454 property).
37455 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
37456 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
37457
37458 2008-01-19 Robert Millan <rmh@aybabtu.com>
37459
37460 Get rid of confusing function (superseded by
37461 `grub_ieee1275_get_integer_property')
37462 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
37463 prototype.
37464 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
37465 function.
37466 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
37467 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
37468 in native endianness from grub_ieee1275_get_integer_property().
37469
37470 2008-01-19 Robert Millan <rmh@aybabtu.com>
37471
37472 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
37473 command after "shut-down", since implementations differ on which
37474 the command for halt is.
37475
37476 2008-01-19 Robert Millan <rmh@aybabtu.com>
37477
37478 * include/grub/i386/linuxbios/console.h: Add header protection.
37479 (grub_keyboard_controller_init): New function prototype.
37480 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
37481 (KEYBOARD_COMMAND_READ): Likewise.
37482 (KEYBOARD_COMMAND_WRITE): Likewise.
37483 (KEYBOARD_SCANCODE_SET1): Likewise.
37484 (grub_keyboard_controller_write): New function.
37485 (grub_keyboard_controller_read): Likewise.
37486 (grub_keyboard_controller_init): Likewise.
37487
37488 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
37489 (grub_console_init): On coreboot/LinuxBIOS, call
37490 grub_keyboard_controller_init().
37491
37492 2008-01-19 Robert Millan <rmh@aybabtu.com>
37493
37494 PowerPC changes provided by Pavel Roskin.
37495
37496 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
37497 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
37498 don't rely on cmain() doing it.
37499 * kern/i386/ieee1275/startup.S (_start): Store %eax in
37500 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
37501
37502 2008-01-16 Robert Millan <rmh@aybabtu.com>
37503
37504 * include/grub/i386/linuxbios/memory.h
37505 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
37506 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
37507 receive `table_header' as argument. Instead, probe for it in the
37508 known memory ranges where it can be present.
37509 (grub_available_iterate): Do not pass a fixed `table_header' address
37510 to grub_linuxbios_table_iterate().
37511
37512 2008-01-15 Robert Millan <rmh@aybabtu.com>
37513
37514 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
37515 * conf/i386-ieee1275.rmk: New file.
37516 * include/grub/i386/ieee1275/console.h: Likewise.
37517 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
37518 * include/grub/i386/ieee1275/kernel.h: Likewise.
37519 * include/grub/i386/ieee1275/time.h: Likewise.
37520 * kern/i386/ieee1275/init.c: Likewise.
37521 * kern/i386/ieee1275/startup.S: Likewise.
37522
37523 2008-01-15 Robert Millan <rmh@aybabtu.com>
37524
37525 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
37526 when pointers are 32-bit (but still do set it to one when they are
37527 64-bit).
37528
37529 2008-01-15 Robert Millan <rmh@aybabtu.com>
37530
37531 * include/grub/ieee1275/ieee1275.h
37532 (grub_ieee1275_get_integer_property): New function prototype.
37533
37534 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
37535 (grub_ieee1275_get_integer_property): New function. Wraps around
37536 grub_ieee1275_get_property() to handle endianness.
37537
37538 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
37539 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
37540 where appropriate.
37541 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
37542 (grub_map): Likewise.
37543 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
37544
37545 2008-01-15 Bean <bean123ch@gmail.com>
37546
37547 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
37548 (grub_script_execute_cmdline): Reset grub_errno.
37549
37550 * normal/main.c (read_config_file): Reset grub_errno.
37551
37552 * normal/parse.y (script_init): New.
37553 (script): Move function and menuentry here.
37554 (delimiter): New.
37555 (command): Add delimiter at the end of command.
37556 (commands): Adjust to match the new command.
37557 (commandblock): Remove grub_script_lexer_record_start.
37558 (menuentry): Add grub_script_lexer_record_start, use the new commands.
37559 (if): Use the new commands.
37560
37561 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
37562
37563 2008-01-15 Robert Millan <rmh@aybabtu.com>
37564
37565 * normal/menu.c (run_menu): Move timeout message from here ...
37566 (print_timeout): ... to here.
37567 (run_menu): Use print_timeout() once during initial draw to print
37568 the whole message, and again in every clock tick to update only
37569 the number of seconds.
37570
37571 2008-01-15 Robert Millan <rmh@aybabtu.com>
37572
37573 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
37574 actual size of `available' from grub_ieee1275_get_property(), and
37575 restrict parsing to that bound.
37576
37577 2008-01-15 Christian Franke <franke@computer.org>
37578
37579 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
37580 (argp_program_version): Remove variable.
37581 (argp_program_bug_address): Likewise.
37582 (options): Convert from struct argp_option to struct option.
37583 (struct arguments): Remove.
37584 (parse_opt): Remove.
37585 (usage): New function.
37586 (main): Replace struct args members by simple variables.
37587 Replace argp_parse() by getopt_long().
37588 Add switch to evaluate options.
37589 Add missing "(...)" around root_dev in prefix string.
37590
37591 2008-01-14 Robert Millan <rmh@aybabtu.com>
37592
37593 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
37594 for grub_ieee1275_exit(), in order to improve portability.
37595
37596 2008-01-14 Robert Millan <rmh@aybabtu.com>
37597
37598 * util/grub.d/10_linux.in (prefix): Define.
37599 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
37600
37601 2008-01-13 Pavel Roskin <proski@gnu.org>
37602
37603 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
37604 grub_errno if no errors have been detected.
37605
37606 2008-01-12 Robert Millan <rmh@aybabtu.com>
37607
37608 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
37609 (grub_util_get_dev_abstraction): New function prototype.
37610
37611 * util/getroot.c: Include `<grub/util/getroot.h>'
37612 (grub_util_get_grub_dev): Move detection of abstraction type to ...
37613 (grub_util_get_dev_abstraction): ... here (new function).
37614
37615 * util/grub-probe.c: Convert PRINT_* to an enum. Add
37616 `PRINT_ABSTRACTION'.
37617 (probe): Probe for abstraction type when requested.
37618 (main): Understand `--target=abstraction'.
37619
37620 * util/i386/efi/grub-install.in: Add abstraction module to core
37621 image when it is found to be necessary.
37622 * util/i386/pc/grub-install.in: Likewise.
37623 * util/powerpc/ieee1275/grub-install.in: Likewise.
37624
37625 * util/update-grub_lib.in (font_path): Return system path without
37626 converting to GRUB path.
37627 * util/update-grub.in: Convert system path returned by font_path()
37628 to a GRUB path. Use `grub-probe -t abstraction' to determine what
37629 abstraction module is needed for loading fonts (if any). Export
37630 that as `GRUB_PRELOAD_MODULES'.
37631 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
37632 insmod commands).
37633
37634 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
37635
37636 Remove some unused code from reiserfs.
37637
37638 * fs/reiserfs.c (struct grub_reiserfs_key)
37639 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
37640 (struct grub_reiserfs_node_body): Removed.
37641 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
37642 Likewise.
37643 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
37644 Likewise.
37645 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
37646 Likewise.
37647 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
37648 Likewise.
37649 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
37650 Likewise.
37651 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
37652 Likewise.
37653 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
37654 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
37655 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
37656
37657 2008-01-10 Robert Millan <rmh@aybabtu.com>
37658
37659 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
37660 Determines if a file is garbage left by packaging systems, etc.
37661 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
37662 for processing /etc/grub.d scripts.
37663 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
37664 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
37665 as a condition for processing Linux images.
37666
37667 2008-01-10 Pavel Roskin <proski@gnu.org>
37668
37669 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
37670 to compile reiserfs.c on PowerPC.
37671
37672 2008-01-10 Robert Millan <rmh@aybabtu.com>
37673
37674 * kern/device.c (grub_device_iterate): Do not abort device iteration
37675 when one of the devices cannot be opened.
37676 * kern/disk.c (grub_disk_open): Do not account previous failures of
37677 unrelated functions when grub_errno is checked for.
37678
37679 2008-01-08 Robert Millan <rmh@aybabtu.com>
37680
37681 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
37682 `! grub_linux_is_bzimage', change order of address comparison to make
37683 it more intuitive, and improve "too big zImage" error message.
37684
37685 2008-01-08 Robert Millan <rmh@aybabtu.com>
37686
37687 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
37688 `$(update-grub_DATA)'.
37689 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
37690 targets.
37691
37692 2008-01-07 Robert Millan <rmh@aybabtu.com>
37693
37694 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
37695 which instruction is modified by grub-setup during installation
37696 (since it wasn't obvious by only looking at this file).
37697
37698 2008-01-07 Robert Millan <rmh@aybabtu.com>
37699
37700 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
37701 listing actual TODO items.
37702
37703 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
37704
37705 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
37706 correctly.
37707 (grub_reiserfs_get_key_offset): Likewise.
37708 (grub_reiserfs_set_key_offset): Likewise.
37709 (grub_reiserfs_set_key_type): Likewise.
37710 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
37711
37712 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
37713 better to remove the bitfield version completely.
37714
37715 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
37716
37717 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
37718 allocated from the heap, due to the fshelp implementation.
37719 (grub_reiserfs_dir): Free NODE, due to the same reason.
37720
37721 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
37722
37723 Mostly from Vincent Pelletier:
37724
37725 * fs/reiserfs.c: New file.
37726
37727 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
37728 (reiserfs_mod_SOURCES): New variable.
37729 (reiserfs_mod_CFLAGS): Likewise.
37730 (reiserfs_mod_LDFLAGS): Likewise.
37731
37732 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
37733 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
37734 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
37735 normal/color.c.
37736
37737 2008-01-06 Robert Millan <rmh@aybabtu.com>
37738
37739 * normal/color.c: Remove `<grub/env.h>'.
37740
37741 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
37742
37743 * include/grub/normal.h: Include <grub/env.h>.
37744
37745 2008-01-05 Robert Millan <rmh@aybabtu.com>
37746
37747 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
37748 usage example with `(hd0,1)'.
37749 Reported by Samuel Thibault.
37750
37751 2008-01-05 Robert Millan <rmh@aybabtu.com>
37752
37753 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
37754 (grub_linux_boot_zimage): Rename to ...
37755 (grub_linux_boot): ... this.
37756 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
37757 (grub_linux_boot_zimage): Conditionalize zImage copy.
37758
37759 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
37760 (grub_linux_boot_bzimage): Remove prototype.
37761 (grub_linux_boot_zimage): Rename to ...
37762 (grub_linux_boot): ... this.
37763
37764 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
37765 (grub_linux_boot): Remove function.
37766
37767 2008-01-05 Robert Millan <rmh@aybabtu.com>
37768
37769 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
37770 (grub_env_write_color_highlight): Likewise.
37771 (grub_wait_after_message): Likewise.
37772
37773 * normal/color.c: New file.
37774
37775 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37776 (normal_mod_DEPENDENCIES): Likewise.
37777
37778 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37779 (normal_mod_DEPENDENCIES): Likewise.
37780
37781 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37782 (normal_mod_DEPENDENCIES): Likewise.
37783
37784 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37785 (normal_mod_DEPENDENCIES): Likewise.
37786
37787 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
37788 for waiting after a message is printed.
37789 * normal/main.c (read_config_file): Likewise.
37790 (grub_normal_init): Register grub_env_write_color_normal() and
37791 grub_env_write_color_highlight() hooks. Mark `color_normal' and
37792 `color_highlight' variables as global.
37793
37794 * normal/menu.c (grub_wait_after_message): New function.
37795 (grub_color_menu_normal): New variable. Replaces ...
37796 (GRUB_COLOR_MENU_NORMAL): ... this macro.
37797 (grub_color_menu_highlight): New variable. Replaces ...
37798 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
37799 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
37800 `GRUB_TERM_COLOR_STANDARD'.
37801 (print_message): Use `grub_setcolorstate' to reload colors. Rename
37802 `normal_code' and `highlight_code' to `old_color_normal' and
37803 `old_color_highlight', respectively.
37804 (grub_menu_init_page): Update colors when drawing the menu, based on
37805 `menu_color_normal' and `menu_color_highlight' variables.
37806 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
37807 a message is printed.
37808
37809 2008-01-05 Robert Millan <rmh@aybabtu.com>
37810
37811 * kern/env.c (grub_env_context_open): Propagate hooks for global
37812 variables to new context.
37813
37814 * kern/main.c (grub_set_root_dev): Export `root' variable.
37815
37816 2008-01-05 Robert Millan <rmh@aybabtu.com>
37817
37818 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
37819 discs unconditionally, since udev and others have options to provide
37820 them.
37821
37822 2008-01-05 Robert Millan <rmh@aybabtu.com>
37823
37824 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
37825
37826 2008-01-04 Christian Franke <franke@computer.org>
37827
37828 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
37829 of eisa_mmap.
37830
37831 2008-01-03 Pavel Roskin <proski@gnu.org>
37832
37833 * kern/i386/linuxbios/init.c: Put "void" to all function
37834 declarations with no arguments.
37835 * kern/powerpc/ieee1275/init.c: Likewise.
37836 * term/i386/pc/at_keyboard.c: Likewise.
37837 * term/i386/pc/vga_text.c: Likewise.
37838 * util/grub-mkdevicemap.c: Likewise.
37839
37840 2008-01-02 Robert Millan <rmh@aybabtu.com>
37841
37842 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
37843 message when loaded image is out of bounds.
37844 (grub_multiboot_load_elf64): Likewise.
37845
37846 2008-01-02 Pavel Roskin <proski@gnu.org>
37847
37848 * util/grub.d/10_linux.in: Try version without ".old" when
37849 looking for initrd. It's better to use initrd from the newer
37850 kernel of the same version than no initrd at all.
37851
37852 2008-01-01 Robert Millan <rmh@aybabtu.com>
37853
37854 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
37855
37856 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
37857
37858 * include/grub/video.h: Added grub_video_unmap_color and
37859 grub_video_get_active_render_target.
37860 (grub_video_adapter): Added unmap_color and get_active_render_target.
37861
37862 * video/video.c: Added grub_video_unmap_color and
37863 grub_video_get_active_render_target.
37864 (grub_video_get_info): Changed method to accept NULL pointer as an
37865 argument to allow detection of active video adapter.
37866
37867 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
37868 grub_video_vbe_unmap_color_int.
37869 Added grub_video_vbe_unmap_color and
37870 grub_video_vbe_get_active_render_target.
37871 (grub_video_vbe_adapter): Added unmap_color and
37872 get_active_render_target.
37873
37874 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
37875 with grub_video_vbe_unmap_color_int.
37876
37877 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
37878 (DEFAULT_NORMAL_COLOR): Likewise.
37879 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
37880 (DEFAULT_FG_COLOR): Removed.
37881 (DEFAULT_BG_COLOR): Likewise.
37882 (DEFAULT_CURSOR_COLOR): Changed value.
37883 (grub_virtual_screen): Added standard_color_setting,
37884 normal_color_setting, highlight_color_setting and term_color.
37885 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
37886 (bitmap_width): Added.
37887 (bitmap_height): Likewise.
37888 (bitmap): Likewise.
37889 (set_term_color): Likewise.
37890 (grub_virtual_screen_setup): Changed to use new terminal coloring
37891 settings.
37892 (grub_gfxterm_init): Added init for bitmap.
37893 (grub_gfxterm_fini): Added destroy for bitmap.
37894 (redraw_screen_rect): Updated to use background bitmap and new
37895 terminal coloring.
37896 (scroll_up): Added optimization for case when there is no bitmap.
37897 (grub_gfxterm_cls): Fixed to use correct background color.
37898 (grub_virtual_screen_setcolorstate): Changed to use new terminal
37899 coloring.
37900 (grub_virtual_screen_setcolor): Likewise.
37901 (grub_virtual_screen_getcolor): Added.
37902 (grub_gfxterm_background_image_cmd): Likewise.
37903 (grub_video_term): Added setcolor and getcolor.
37904 (MOD_INIT): Added registration of background_image command.
37905 (MOD_TERM): Added unregistration for background_image command.
37906
37907 2007-12-30 Pavel Roskin <proski@gnu.org>
37908
37909 * loader/multiboot_loader.c: Fix multiboot command
37910 unregistration. Fix all typos in the word "multiboot".
37911
37912 2007-12-29 Pavel Roskin <proski@gnu.org>
37913
37914 * util/grub.d/10_linux.in: Refactor search for initrd. Add
37915 support for initrd names used in Fedora.
37916
37917 2007-12-26 Bean <bean123ch@gmail.com>
37918
37919 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
37920 (cpio_mod_SOURCES): New variable.
37921 (cpio_mod_CFLAGS): Likewise.
37922 (cpio_mod_LDFLAGS): Likewise.
37923
37924 * fs/cpio.c: New file.
37925
37926 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
37927
37928 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37929
37930 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37931
37932 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37933
37934 2007-12-25 Robert Millan <rmh@aybabtu.com>
37935
37936 * include/grub/term.h (struct grub_term): Add `getcolor' function.
37937 (grub_getcolor): New function.
37938
37939 * kern/term.c (grub_getcolor): New function.
37940 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
37941 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
37942 (print_entry): Set normal and highlight colors to
37943 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
37944 respectively, before printing and restore them to old
37945 values afterwards.
37946 (grub_menu_init_page): Likewise. Fill an additional colored space
37947 that would otherwise be left blank.
37948
37949 * term/efi/console.c (grub_console_getcolor): New function.
37950 (struct grub_console_term.getcolor): New variable.
37951 * term/i386/pc/console.c (grub_console_getcolor): New function.
37952 (struct grub_console_term.getcolor): New variable.
37953 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
37954 (struct grub_console_term.getcolor): New variable.
37955
37956 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
37957 (struct grub_console_term.setcolor): Remove variable.
37958 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
37959 (struct grub_console_term.setcolor): Remove variable.
37960 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
37961 (struct grub_console_term.setcolor): Remove variable.
37962 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
37963 (struct grub_console_term.setcolor): Remove variable.
37964
37965 2007-12-25 Robert Millan <rmh@aybabtu.com>
37966
37967 * configure.ac: Search for possible unifont.hex locations, and
37968 define UNIFONT_HEX if found.
37969
37970 * Makefile.in (UNIFONT_HEX): Define variable.
37971 (DATA): Rename to ...
37972 (PKGLIB): ... this. Update all users.
37973 (PKGDATA): New variable.
37974 (pkgdata_IMAGES): Rename to ...
37975 (pkglib_IMAGES): ... this. Update all users.
37976 (pkgdata_MODULES): Rename to ...
37977 (pkglib_MODULES): ... this. Update all users.
37978 (pkgdata_PROGRAMS): Rename to ...
37979 (pkglib_PROGRAMS): ... this. Update all users.
37980 (pkgdata_DATA): Rename to ...
37981 (pkglib_DATA): ... this. Update all users.
37982 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
37983 (unicode.pff, ascii.pff): New rules.
37984 (all-local): Add `$(PKGDATA)' dependency.
37985 (install-local): Process `$(PKGDATA)'.
37986
37987 * util/update-grub_lib.in (font_path): Search for *.pff files in
37988 a few more locations, including `${pkgdata}'.
37989
37990 2007-12-23 Robert Millan <rmh@aybabtu.com>
37991
37992 Patch from Bean <bean123ch@gmail.com>:
37993 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
37994 `size'.
37995
37996 2007-12-21 Bean <bean123ch@gmail.com>
37997
37998 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
37999 (ntfscomp_mod_SOURCES): New variable.
38000 (ntfscomp_mod_CFLAGS): Likewise.
38001 (ntfscomp_mod_LDFLAGS): Likewise.
38002
38003 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
38004 (grub_probe_SOURCES): Likewise.
38005 (grub_emu_SOURCES): Likewise.
38006
38007 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38008 (grub_emu_SOURCES): Likewise.
38009
38010 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38011 (grub_emu_SOURCES): Likewise.
38012
38013 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38014 (grub_emu_SOURCES): Likewise.
38015
38016 * fs/ntfs.c (grub_ntfscomp_func): New variable.
38017 (read_run_list): Renamed to grub_ntfs_read_run_list.
38018 (decomp_nextvcn): Moved to ntfscomp.c.
38019 (decomp_getch): Likewise.
38020 (decomp_get16): Likewise.
38021 (decomp_block): Likewise.
38022 (read_block): Likewise.
38023 (read_data): Partially moved to ntfscomp.c.
38024 (fixup): Change unsigned to grub_uint16_t.
38025 (read_mft): Change unsigned long to grub_uint32_t.
38026 (read_attr): Likewise.
38027 (read_data): Likewise.
38028 (read_run_data): Likewise.
38029 (read_run_list): Likewise.
38030 (read_mft): Likewise.
38031
38032 * fs/ntfscomp.c: New file.
38033
38034 * include/grub/ntfs.h: New file.
38035
38036 2007-12-16 Robert Millan <rmh@aybabtu.com>
38037
38038 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
38039 IDE disk check, since Linux is known to support 20 IDE disks.
38040 Reported by Colin Watson.
38041
38042 2007-12-15 Bean <bean123ch@gmail.com>
38043
38044 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
38045 (lnxboot_img_SOURCES): New variable.
38046 (lnxboot_img_ASFLAGS): Likewise.
38047 (lnxboot_img_LDFLAGS): Likewise.
38048
38049 * boot/i386/pc/lnxboot.S: New file.
38050
38051 2007-11-24 Pavel Roskin <proski@gnu.org>
38052
38053 * configure.ac: Test if '--build-id=none' is supported by the
38054 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
38055 objcopy to generate incorrect binary files (binutils
38056 2.17.50.0.18-1 as shipped by Fedora 8).
38057 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
38058 linking, so that build ID doesn't break the test.
38059
38060 2007-11-24 Pavel Roskin <proski@gnu.org>
38061
38062 * include/grub/i386/time.h: use "void" in the argument list
38063 of grub_cpu_idle().
38064 * include/grub/powerpc/time.h: Likewise.
38065 * include/grub/sparc64/time.h: Likewise.
38066
38067 2007-11-18 Christian Franke <franke@computer.org>
38068
38069 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
38070 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
38071 This fixes the problem that function keys did not work in grub-emu.
38072
38073 2007-11-18 Christian Franke <franke@computer.org>
38074
38075 * disk/host.c (grub_host_open): Remove attribute unused from
38076 name parameter. Add check for "host". This fixes the problem
38077 that grub-emu does not find partitions.
38078
38079 2007-11-18 Christian Franke <franke@computer.org>
38080
38081 * util/hostfs.c (is_dir): New function.
38082 (grub_hostfs_dir): Handle missing dirent.d_type case.
38083 (grub_hostfs_read): Add missing fseek().
38084 (grub_hostfs_label): Clear label pointer. This fixes a crash
38085 of grub-emu on "ls (host)".
38086
38087 2007-11-18 Christian Franke <franke@computer.org>
38088
38089 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
38090 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
38091 to 64 bit boundary by default.
38092
38093 2007-11-18 Bean <bean123ch@gmail.com>
38094
38095 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
38096 (hexdump_mod_SOURCES): New variable.
38097 (hexdump_mod_CFLAGS): Likewise.
38098 (hexdump_mod_LDFLAGS): Likewise.
38099
38100 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38101
38102 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38103
38104 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38105
38106 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38107
38108 * include/grub/hexdump.h: New file.
38109
38110 * commands/hexdump.c: New file.
38111
38112 2007-11-10 Robert Millan <rmh@aybabtu.com>
38113
38114 * commands/i386/pc/play.c (beep_off): Switch order of arguments
38115 in grub_outb() calls.
38116 (beep_on): Likewise.
38117
38118 2007-11-10 Christian Franke <franke@computer.org>
38119
38120 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
38121 (grub_menu_run): Likewise.
38122
38123 2007-11-10 Robert Millan <rmh@aybabtu.com>
38124
38125 * include/grub/i386/efi/machine.h: New file.
38126 * include/grub/i386/linuxbios/machine.h: Likewise.
38127 * include/grub/i386/pc/machine.h: Likewise.
38128 * include/grub/powerpc/ieee1275/machine.h: Likewise.
38129 * include/grub/sparc64/ieee1275/machine.h: Likewise.
38130
38131 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
38132 (serial_hw_io_addr): New variable.
38133 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
38134 instead of `(unsigned short *) 0x400'.
38135
38136 2007-11-10 Bean <bean123ch@gmail.com>
38137
38138 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
38139
38140 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
38141
38142 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
38143 (vga_mod_SOURCES): Added.
38144 (vga_mod_CFLAGS): Likewise.
38145 (vga_mod_LDFLAGS): Likewise.
38146
38147 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
38148 grub_outb() calls.
38149 (set_map_mask): Likewise.
38150 (set_read_map): Likewise.
38151 (set_read_address): Likewise.
38152 (vga_font): Removed variable.
38153 (get_vga_glyph): Removed function.
38154 (invalidate_char): Likewise.
38155 (write_char): Changed to use grub_font_get_glyph() for font
38156 information.
38157 (grub_vga_putchar): Likewise.
38158 (grub_vga_getcharwidth): Likewise.
38159
38160 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
38161
38162 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
38163 flags.
38164 (pxeboot_img_LDFLAGS): Likewise.
38165 (diskboot_img_LDFLAGS): Likewise.
38166 (kernel_img_LDFLAGS): Likewise.
38167
38168 2007-11-06 Robert Millan <rmh@aybabtu.com>
38169
38170 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
38171 in grub_outb() calls.
38172 (serial_hw_init): Likewise.
38173
38174 2007-11-05 Robert Millan <rmh@aybabtu.com>
38175
38176 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
38177 spaces. Skip non-regular files.
38178
38179 2007-11-05 Robert Millan <rmh@aybabtu.com>
38180
38181 * kern/disk.c (grub_disk_firmware_fini)
38182 (grub_disk_firmware_is_tainted): New variables.
38183
38184 * include/grub/disk.h (grub_disk_firmware_fini)
38185 (grub_disk_firmware_is_tainted): Likewise.
38186
38187 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
38188 (grub_disk_biosdisk_fini): ... to here.
38189 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
38190 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
38191 is set. Register grub_disk_biosdisk_fini() in
38192 `grub_disk_firmware_fini'.
38193
38194 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
38195 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
38196 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
38197 to finish existing firmware disk interface.
38198
38199 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
38200 (ata_mod_SOURCES): New variable.
38201 (ata_mod_CFLAGS): Likewise.
38202 (ata_mod_LDFLAGS): Likewise.
38203
38204 2007-11-05 Robert Millan <rmh@aybabtu.com>
38205
38206 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
38207 (grub_ata_wait): Reimplement using grub_millisleep().
38208
38209 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
38210 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
38211
38212 2007-11-03 Marco Gerards <marco@gnu.org>
38213
38214 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
38215 (CRTC_ADDR_PORT): New macro.
38216 (CRTC_DATA_PORT): Likewise.
38217 (CRTC_CURSOR): Likewise.
38218 (CRTC_CURSOR_ADDR_HIGH): Likewise.
38219 (CRTC_CURSOR_ADDR_LOW): Likewise.
38220 (update_cursor): New function.
38221 (grub_console_real_putchar): Call `update_cursor'.
38222 (grub_console_gotoxy): Likewise.
38223 (grub_console_cls): Set the default color when clearing the
38224 screen.
38225 (grub_console_setcursor): Implemented.
38226
38227 2007-11-03 Marco Gerards <marco@gnu.org>
38228
38229 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
38230 become activate.
38231 (grub_ata_pio_write): Likewise.
38232
38233 (grub_atapi_identify): Wait after issuing an ATA command.
38234 (grub_atapi_packet): Likewise.
38235 (grub_ata_identify): Likewise.
38236 (grub_ata_readwrite): Likewise.
38237
38238 2007-11-03 Marco Gerards <marco@gnu.org>
38239
38240 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
38241 (grub_ata_pio_write): Likewise.
38242 (grub_ata_readwrite): Use `grub_error', instead of
38243 returning `grub_errno'.
38244
38245 2007-11-03 Marco Gerards <marco@gnu.org>
38246
38247 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
38248 grub_ata_pio_write once for every single sector, instead of for
38249 multiple sectors.
38250
38251 2007-10-31 Robert Millan <rmh@aybabtu.com>
38252
38253 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
38254
38255 * conf/i386-linuxbios.rmk: New file.
38256
38257 * kern/i386/pc/hardware.c: Likewise.
38258 * term/i386/pc/at_keyboard.c: Likewise.
38259 * term/i386/pc/vga_text.c: Likewise.
38260
38261 * include/grub/i386/linuxbios/boot.h: Likewise.
38262 * include/grub/i386/linuxbios/console.h: Likewise.
38263 * include/grub/i386/linuxbios/init.h: Likewise.
38264 * include/grub/i386/linuxbios/kernel.h: Likewise.
38265 * include/grub/i386/linuxbios/loader.h: Likewise.
38266 * include/grub/i386/linuxbios/memory.h: Likewise.
38267 * include/grub/i386/linuxbios/serial.h: Likewise.
38268 * include/grub/i386/linuxbios/time.h: Likewise.
38269
38270 * kern/i386/linuxbios/init.c: Likewise.
38271 * kern/i386/linuxbios/startup.S: Likewise.
38272 * kern/i386/linuxbios/table.c: Likewise.
38273
38274 2007-10-31 Marco Gerards <marco@gnu.org>
38275
38276 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
38277 (ata_mod_SOURCES): New variable.
38278 (ata_mod_CFLAGS): Likewise.
38279 (ata_mod_LDFLAGS): Likewise.
38280
38281 * disk/ata.c: New file.
38282
38283 * include/grub/disk.h (grub_disk_dev_id): Add
38284 `GRUB_DISK_DEV_ATA_ID'.
38285
38286 2007-10-31 Robert Millan <rmh@aybabtu.com>
38287
38288 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
38289 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
38290
38291 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
38292 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
38293
38294 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
38295 `<grub/types.h>'.
38296
38297 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
38298
38299 2007-10-27 Robert Millan <rmh@aybabtu.com>
38300
38301 * include/grub/types.h (ULONG_MAX): Define macro.
38302
38303 2007-10-22 Robert Millan <rmh@aybabtu.com>
38304
38305 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
38306 `"../realmode.S"'.
38307 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
38308
38309 2007-10-22 Robert Millan <rmh@aybabtu.com>
38310
38311 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
38312 (pkgdata_MODULES): Add `biosdisk.mod'.
38313 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
38314 variables.
38315
38316 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
38317 (grub_biosdisk_init): Replace with ...
38318 (GRUB_MOD_INIT(biosdisk)): ... this.
38319 (grub_biosdisk_fini): Replace with ...
38320 (GRUB_MOD_FINI(biosdisk)): ... this.
38321
38322 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
38323 (grub_machine_init): Remove call to grub_biosdisk_init().
38324 (grub_machine_fini): Remove call to grub_machine_fini().
38325
38326 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
38327
38328 2007-10-22 Robert Millan <rmh@aybabtu.com>
38329
38330 * include/grub/time.h: New file.
38331 * include/grub/i386/time.h: Likewise.
38332 * include/grub/powerpc/time.h: Likewise.
38333 * include/grub/sparc64/time.h: Likewise.
38334
38335 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
38336 instances to ...
38337 (KERNEL_MACHINE_TIME_HEADER): ... this.
38338 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
38339 instances to ...
38340 (KERNEL_MACHINE_TIME_HEADER): ... this.
38341 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
38342 instances to ...
38343 (KERNEL_MACHINE_TIME_HEADER): ... this.
38344
38345 * kern/i386/efi/init.c: Include `<grub/time.h>'.
38346 (grub_millisleep): New function.
38347 * kern/i386/pc/init.c: Include `<grub/time.h>'.
38348 (grub_millisleep): New function.
38349 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
38350 Remove `grub/machine/time.h' include.
38351 (grub_millisleep): New function.
38352 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
38353 Remove `grub/machine/time.h' include.
38354 (grub_millisleep): New function.
38355
38356 * include/grub/misc.h (grub_div_roundup): New function.
38357
38358 * kern/misc.c: Include `<grub/time.h>'.
38359 (grub_millisleep_generic): New function.
38360
38361 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
38362 Add `time.h'.
38363 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
38364 Add `time.h'.
38365 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
38366 `machine/time.h'. Add `time.h'.
38367 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
38368
38369 2007-10-21 Robert Millan <rmh@aybabtu.com>
38370
38371 * include/grub/misc.h (grub_max): New function.
38372
38373 2007-10-21 Robert Millan <rmh@aybabtu.com>
38374
38375 * util/misc.c (grub_util_info): Call fflush() before returning.
38376
38377 2007-10-20 Robert Millan <rmh@aybabtu.com>
38378
38379 * genmk.rb (Image): Copy `extra_flags' from here ...
38380 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
38381
38382 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
38383 to `argc' and `args' arguments.
38384
38385 2007-10-17 Robert Millan <rmh@aybabtu.com>
38386
38387 * kern/i386/loader.S: New file.
38388
38389 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
38390 * kern/i386/loader.S (grub_linux_prot_size)... to here.
38391 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
38392 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
38393 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
38394 * kern/i386/loader.S (grub_linux_real_addr)... to here.
38395 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
38396 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
38397 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
38398 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
38399 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
38400 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
38401 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
38402 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
38403
38404 * kern/i386/realmode.S: New file.
38405
38406 * kern/i386/pc/startup.S (protstack): Moved from here ...
38407 * kern/i386/realmode.S (protstack)... to here.
38408 * kern/i386/pc/startup.S (gdt): Moved from here ...
38409 * kern/i386/realmode.S (gdt)... to here.
38410 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
38411 * kern/i386/realmode.S (prot_to_real)... to here.
38412
38413 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
38414 `kern/i386/realmode.S'.
38415
38416 2007-10-17 Robert Millan <rmh@aybabtu.com>
38417
38418 * include/grub/i386/loader.h: New file.
38419
38420 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
38421 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
38422 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
38423 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
38424 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
38425 * include/grub/i386/loader.h (grub_linux_prot_size)
38426 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
38427 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
38428 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
38429 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
38430
38431 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
38432
38433 2007-10-15 Robert Millan <rmh@aybabtu.com>
38434
38435 * normal/misc.c (grub_normal_print_device_info): Do not probe for
38436 filesystem when dev->disk is unset.
38437 Do probe for filesystem even when dev->disk->has_partitions is set.
38438 In case a filesystem is found, always report it.
38439 In case it isn't, if dev->disk->has_partitions is set, report that
38440 a partition table was found instead of reporting that no filesystem
38441 could be identified.
38442
38443 2007-10-12 Robert Millan <rmh@aybabtu.com>
38444
38445 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
38446 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
38447
38448 * include/grub/types.h (grub_host_to_target16): New macro.
38449 (grub_host_to_target32): Likewise.
38450 (grub_host_to_target64): Likewise.
38451 (grub_target_to_host16): Likewise.
38452 (grub_target_to_host32): Likewise.
38453 (grub_target_to_host64): Likewise.
38454
38455 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
38456 Renamed from to ...
38457 (GRUB_MOD_ALIGN): ...this. Update all users.
38458
38459 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
38460 grub_host_to_target32.
38461 Replace grub_be_to_cpu32 with grub_target_to_host32.
38462 (load_modules): Likewise.
38463 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
38464 Replace grub_be_to_cpu32 with grub_target_to_host32.
38465 Replace grub_cpu_to_be16 with grub_host_to_target16.
38466 Replace grub_cpu_to_be32 grub_host_to_target32.
38467
38468 2007-10-12 Robert Millan <rmh@aybabtu.com>
38469
38470 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
38471 * util/elf/grub-mkimage.c: ... here.
38472
38473 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
38474 `util/powerpc/ieee1275/grub-mkimage.c'.
38475
38476 2007-10-07 Robert Millan <rmh@aybabtu.com>
38477
38478 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
38479 and make it easier to figure out.
38480 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
38481 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
38482 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
38483 leave us with less than HEAP_MIN_SIZE total heap.
38484 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
38485
38486 2007-10-03 Robert Millan <rmh@aybabtu.com>
38487
38488 * include/grub/i386/io.h: New file.
38489 * commands/i386/pc/play.c (inb): Removed.
38490 (outb): Removed.
38491 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
38492 with grub_outb().
38493 * term/i386/pc/serial.c (inb): Removed.
38494 (outb): Removed.
38495 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
38496 with grub_outb().
38497 * term/i386/pc/vga.c (inb): Removed.
38498 (outb): Removed.
38499 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
38500 with grub_outb().
38501
38502 2007-10-02 Robert Millan <rmh@aybabtu.com>
38503
38504 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
38505 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38506 Reported by Marcin Kurek.
38507
38508 2007-09-07 Robert Millan <rmh@aybabtu.com>
38509
38510 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
38511 SmartFirmware version updates (as released by Sven Luther), and avoid
38512 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
38513 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
38514 known broken.
38515
38516 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
38517
38518 From Hitoshi Ozeki:
38519 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
38520 when merging two regions.
38521
38522 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
38523
38524 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
38525 * normal/completion.c (grub_normal_do_completion): Likewise.
38526 Reported by Hitoshi Ozeki.
38527
38528 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
38529
38530 Do not use devices at boot in chainloading.
38531
38532 * loader/i386/pc/chainloader.c (boot_drive): New variable.
38533 (boot_part_addr): Likewise.
38534 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
38535 with BOOT_DRIVE and BOOT_PART_ADDR.
38536 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
38537 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
38538
38539 2007-08-29 Robert Millan <rmh@aybabtu.com>
38540
38541 Patch from Simon Peter <dn.tlp@gmx.net>:
38542 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
38543 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
38544 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
38545 util/i386/pc/grub-setup.c_DEPENDENCIES.
38546 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
38547 util/grub-probe.c_DEPENDENCIES.
38548 * conf/powerpc-ieee1275.rmk: Likewise.
38549
38550 2007-08-28 Robert Millan <rmh@aybabtu.com>
38551
38552 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
38553 to tell grub-mkdevicemap how to name devices.
38554 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
38555 feature).
38556
38557 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
38558 util/i386/get_disk_name.c.
38559 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
38560 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
38561 util/ieee1275/get_disk_name.c.
38562
38563 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
38564
38565 * DISTLIST: Add util/i386/get_disk_name.c and
38566 util/ieee1275/get_disk_name.c.
38567
38568 * util/grub-mkdevicemap.c: Replace device naming logic with
38569 grub_util_get_disk_name() calls.
38570
38571 2007-08-20 Robert Millan <rmh@aybabtu.com>
38572
38573 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
38574 (so that it works for both plural and singular quantities).
38575
38576 2007-08-05 Robert Millan <rmh@aybabtu.com>
38577
38578 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
38579 so that [xz] isn't taken into account when determining order.
38580
38581 2007-08-02 Marco Gerards <marco@gnu.org>
38582
38583 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
38584 `include/multiboot2.h', `include/grub/elfload.h',
38585 `include/multiboot.h', `include/grub/multiboot.h',
38586 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
38587 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
38588 `kern/elf.c', `loader/multiboot_loader.c',
38589 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
38590 `loader/i386/pc/multiboot2.c',
38591 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
38592 `util/i386/pc/grub-mkrescue.in'. Remove
38593 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
38594 `include/grub/i386/pc/util/biosdisk.h' and
38595 `include/grub/powerpc/ieee1275/multiboot.h'.
38596
38597 2007-08-02 Bean <bean123ch@gmail.com>
38598
38599 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
38600 (ntfs_mod_SOURCES): New variable.
38601 (ntfs_mod_CFLAGS): Likewise.
38602 (ntfs_mod_LDFLAGS): Likewise.
38603
38604 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
38605 (grub_probe_SOURCES): Likewise.
38606 (grub_emu_SOURCES): Likewise.
38607
38608 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
38609 (grub_emu_SOURCES): Likewise.
38610
38611 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
38612 (grub_emu_SOURCES): Likewise.
38613
38614 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
38615
38616 * fs/ntfs.c: New file.
38617
38618 2007-08-02 Bean <bean123ch@gmail.com>
38619
38620 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
38621
38622 * file.h (grub_file): Likewise.
38623
38624 * fshelp.h (grub_fshelp_read_file): Likewise.
38625
38626 * util/i386/pc/grub-setup.c (setup): Likewise.
38627 (save_first_sector): Likewise.
38628 (save_blocklists): Likewise.
38629
38630 * fs/affs.c (grub_affs_read_file): Likewise.
38631
38632 * fs/ext2.c (grub_ext2_read_file): Likewise.
38633
38634 * fs/fat.c (grub_fat_read_data): Likewise.
38635
38636 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
38637
38638 * fs/hfs.c (grub_hfs_read_file): Likewise.
38639
38640 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
38641
38642 * fs/jfs.c (grub_jfs_read_file): Likewise.
38643
38644 * fs/minix.c (grub_minix_read_file): Likewise.
38645
38646 * fs/sfs.c (grub_sfs_read_file): Likewise.
38647
38648 * fs/ufs.c (grub_ufs_read_file): Likewise.
38649
38650 * fs/xfs.c (grub_xfs_read_file): Likewise.
38651
38652 * command/blocklist.c (read_blocklist): Likewise.
38653 (print_blocklist): Likewise.
38654
38655 2007-08-02 Marco Gerards <marco@gnu.org>
38656
38657 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
38658 `util/hostfs.c'.
38659
38660 * disk/host.c: New file.
38661
38662 * util/hostfs.c: Likewise.
38663
38664 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
38665 return `GRUB_ERR_BAD_FS'.
38666 * fs/sfs.c (grub_sfs_mount): Likewise.
38667 * fs/xfs.c (grub_xfs_mount): Likewise.
38668
38669 * include/grub/disk.h (enum grub_disk_dev_id): Add
38670 `GRUB_DISK_DEVICE_HOST_ID'.
38671
38672 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
38673
38674 2007-07-24 Jerone Young <jerone@gmail.com>
38675
38676 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
38677 modules for compilation.
38678 * conf/powerpc-ieee1275.rmk: Likewise.
38679
38680 * include/multiboot.h: Move multiboot definitions to one file. Rename
38681 many definitions to not get grub specific.
38682 * include/multiboot2.h: Create header with multiboot 2 definitions.
38683 * include/grub/multiboot.h: Header for grub specific function
38684 prototypes and definitions.
38685 * include/grub/multiboot2.h: Likewise.
38686 * include/grub/multiboot_loader.h: Likewise.
38687 * include/grub/i386/pc/multiboot.h: Removed.
38688 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
38689
38690 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
38691 and 2 to allow for one multiboot and module commands.
38692 * loader/multiboot2.c: Add multiboot2 functionality.
38693 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
38694 and definition names.
38695 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
38696 2 functions.
38697 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
38698 ieee1275 specific multiboot2 code.
38699
38700 * kern/i386/pc/startup.S: Change headers and definition names for
38701 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
38702
38703 2007-07-22 Robert Millan <rmh@aybabtu.com>
38704
38705 * geninitheader.sh: Process file specified in first parameter rather
38706 than hardcoding grub_modules_init.lst.
38707 * geninit.sh: Likewise. Also, construct header name dynamically rather
38708 than hardcoding grub_modules_init.h.
38709
38710 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
38711 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
38712 grub_probe_init.[ch] and grub_setup_init.[ch].
38713
38714 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
38715 grub_modules_init.h with grub_emu_init.h.
38716 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
38717 grub_probe_init.[ch] files.
38718 * conf/i386-efi.rmk: Likewise.
38719 * conf/i386-pc.rmk: Likewise.
38720 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
38721 grub_setup_init.[ch] files.
38722
38723 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
38724 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
38725 to initialize modules rather than a list of hardcoded functions.
38726 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
38727 grub_init_all() to initialize modules rather than a list of hardcoded
38728 functions.
38729
38730 2007-07-22 Robert Millan <rmh@aybabtu.com>
38731
38732 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
38733 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
38734
38735 2007-07-22 Robert Millan <rmh@aybabtu.com>
38736
38737 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
38738 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
38739 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
38740 flag when running on SmartFirmware.
38741 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
38742 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
38743 was set.
38744
38745 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
38746 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
38747 rather than decreasing it.
38748
38749 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
38750 there's not enough space to do it, fail in the same way as when it
38751 can't be done because there are no partitions.
38752
38753 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
38754 when nvsetenv failed.
38755
38756 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
38757
38758 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
38759 because this rule is automatically generated.
38760 (grub-mkrescue): Removed for the same reason as above.
38761
38762 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
38763
38764 Migrate to GNU General Public License Version 3.
38765
38766 * COPYING: Replaced with the plain text version of GPLv3.
38767
38768 * config.guess: Updated from gnulib.
38769 * config.sub: Likewise.
38770
38771 * geninit.sh: Output a GPLv3 copyright notice.
38772 * geninitheader.sh: Likewise.
38773 * genmodsrc.sh: Likewise.
38774 * gensymlist.sh.in: Likewise.
38775
38776 * boot/i386/pc/boot.S: Upgraded to GPLv3.
38777 * boot/i386/pc/diskboot.S: Likewise.
38778 * boot/i386/pc/pxeboot.S: Likewise.
38779 * commands/blocklist.c: Likewise.
38780 * commands/boot.c: Likewise.
38781 * commands/cat.c: Likewise.
38782 * commands/cmp.c: Likewise.
38783 * commands/configfile.c: Likewise.
38784 * commands/echo.c: Likewise.
38785 * commands/help.c: Likewise.
38786 * commands/ls.c: Likewise.
38787 * commands/search.c: Likewise.
38788 * commands/terminal.c: Likewise.
38789 * commands/test.c: Likewise.
38790 * commands/videotest.c: Likewise.
38791 * commands/i386/cpuid.c: Likewise.
38792 * commands/i386/pc/halt.c: Likewise.
38793 * commands/i386/pc/play.c: Likewise.
38794 * commands/i386/pc/reboot.c: Likewise.
38795 * commands/i386/pc/vbeinfo.c: Likewise.
38796 * commands/i386/pc/vbetest.c: Likewise.
38797 * commands/ieee1275/halt.c: Likewise.
38798 * commands/ieee1275/reboot.c: Likewise.
38799 * commands/ieee1275/suspend.c: Likewise.
38800 * disk/loopback.c: Likewise.
38801 * disk/lvm.c: Likewise.
38802 * disk/raid.c: Likewise.
38803 * disk/efi/efidisk.c: Likewise.
38804 * disk/i386/pc/biosdisk.c: Likewise.
38805 * disk/ieee1275/ofdisk.c: Likewise.
38806 * font/manager.c: Likewise.
38807 * fs/affs.c: Likewise.
38808 * fs/ext2.c: Likewise.
38809 * fs/fat.c: Likewise.
38810 * fs/fshelp.c: Likewise.
38811 * fs/hfs.c: Likewise.
38812 * fs/hfsplus.c: Likewise.
38813 * fs/iso9660.c: Likewise.
38814 * fs/jfs.c: Likewise.
38815 * fs/minix.c: Likewise.
38816 * fs/sfs.c: Likewise.
38817 * fs/ufs.c: Likewise.
38818 * fs/xfs.c: Likewise.
38819 * hello/hello.c: Likewise.
38820 * include/grub/acorn_filecore.h: Likewise.
38821 * include/grub/arg.h: Likewise.
38822 * include/grub/bitmap.h: Likewise.
38823 * include/grub/boot.h: Likewise.
38824 * include/grub/cache.h: Likewise.
38825 * include/grub/device.h: Likewise.
38826 * include/grub/disk.h: Likewise.
38827 * include/grub/dl.h: Likewise.
38828 * include/grub/elfload.h: Likewise.
38829 * include/grub/env.h: Likewise.
38830 * include/grub/err.h: Likewise.
38831 * include/grub/file.h: Likewise.
38832 * include/grub/font.h: Likewise.
38833 * include/grub/fs.h: Likewise.
38834 * include/grub/fshelp.h: Likewise.
38835 * include/grub/gzio.h: Likewise.
38836 * include/grub/hfs.h: Likewise.
38837 * include/grub/kernel.h: Likewise.
38838 * include/grub/loader.h: Likewise.
38839 * include/grub/lvm.h: Likewise.
38840 * include/grub/misc.h: Likewise.
38841 * include/grub/mm.h: Likewise.
38842 * include/grub/net.h: Likewise.
38843 * include/grub/normal.h: Likewise.
38844 * include/grub/parser.h: Likewise.
38845 * include/grub/partition.h: Likewise.
38846 * include/grub/pc_partition.h: Likewise.
38847 * include/grub/raid.h: Likewise.
38848 * include/grub/rescue.h: Likewise.
38849 * include/grub/script.h: Likewise.
38850 * include/grub/setjmp.h: Likewise.
38851 * include/grub/symbol.h: Likewise.
38852 * include/grub/term.h: Likewise.
38853 * include/grub/terminfo.h: Likewise.
38854 * include/grub/tparm.h: Likewise.
38855 * include/grub/types.h: Likewise.
38856 * include/grub/video.h: Likewise.
38857 * include/grub/efi/api.h: Likewise.
38858 * include/grub/efi/chainloader.h: Likewise.
38859 * include/grub/efi/console.h: Likewise.
38860 * include/grub/efi/console_control.h: Likewise.
38861 * include/grub/efi/disk.h: Likewise.
38862 * include/grub/efi/efi.h: Likewise.
38863 * include/grub/efi/pe32.h: Likewise.
38864 * include/grub/efi/time.h: Likewise.
38865 * include/grub/i386/linux.h: Likewise.
38866 * include/grub/i386/setjmp.h: Likewise.
38867 * include/grub/i386/types.h: Likewise.
38868 * include/grub/i386/efi/kernel.h: Likewise.
38869 * include/grub/i386/efi/loader.h: Likewise.
38870 * include/grub/i386/efi/time.h: Likewise.
38871 * include/grub/i386/pc/biosdisk.h: Likewise.
38872 * include/grub/i386/pc/boot.h: Likewise.
38873 * include/grub/i386/pc/chainloader.h: Likewise.
38874 * include/grub/i386/pc/console.h: Likewise.
38875 * include/grub/i386/pc/init.h: Likewise.
38876 * include/grub/i386/pc/kernel.h: Likewise.
38877 * include/grub/i386/pc/loader.h: Likewise.
38878 * include/grub/i386/pc/memory.h: Likewise.
38879 * include/grub/i386/pc/multiboot.h: Likewise.
38880 * include/grub/i386/pc/serial.h: Likewise.
38881 * include/grub/i386/pc/time.h: Likewise.
38882 * include/grub/i386/pc/vbe.h: Likewise.
38883 * include/grub/i386/pc/vbeblit.h: Likewise.
38884 * include/grub/i386/pc/vbefill.h: Likewise.
38885 * include/grub/i386/pc/vbeutil.h: Likewise.
38886 * include/grub/i386/pc/vga.h: Likewise.
38887 * include/grub/ieee1275/ieee1275.h: Likewise.
38888 * include/grub/ieee1275/ofdisk.h: Likewise.
38889 * include/grub/powerpc/libgcc.h: Likewise.
38890 * include/grub/powerpc/setjmp.h: Likewise.
38891 * include/grub/powerpc/types.h: Likewise.
38892 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
38893 * include/grub/powerpc/ieee1275/console.h: Likewise.
38894 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
38895 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
38896 * include/grub/powerpc/ieee1275/loader.h: Likewise.
38897 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
38898 * include/grub/powerpc/ieee1275/time.h: Likewise.
38899 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
38900 * include/grub/sparc64/libgcc.h: Likewise.
38901 * include/grub/sparc64/setjmp.h: Likewise.
38902 * include/grub/sparc64/types.h: Likewise.
38903 * include/grub/sparc64/ieee1275/console.h: Likewise.
38904 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
38905 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
38906 * include/grub/sparc64/ieee1275/time.h: Likewise.
38907 * include/grub/util/biosdisk.h: Likewise.
38908 * include/grub/util/getroot.h: Likewise.
38909 * include/grub/util/lvm.h: Likewise.
38910 * include/grub/util/misc.h: Likewise.
38911 * include/grub/util/raid.h: Likewise.
38912 * include/grub/util/resolve.h: Likewise.
38913 * io/gzio.c: Likewise.
38914 * kern/device.c: Likewise.
38915 * kern/disk.c: Likewise.
38916 * kern/dl.c: Likewise.
38917 * kern/elf.c: Likewise.
38918 * kern/env.c: Likewise.
38919 * kern/err.c: Likewise.
38920 * kern/file.c: Likewise.
38921 * kern/fs.c: Likewise.
38922 * kern/loader.c: Likewise.
38923 * kern/main.c: Likewise.
38924 * kern/misc.c: Likewise.
38925 * kern/mm.c: Likewise.
38926 * kern/parser.c: Likewise.
38927 * kern/partition.c: Likewise.
38928 * kern/rescue.c: Likewise.
38929 * kern/term.c: Likewise.
38930 * kern/efi/efi.c: Likewise.
38931 * kern/efi/init.c: Likewise.
38932 * kern/efi/mm.c: Likewise.
38933 * kern/i386/dl.c: Likewise.
38934 * kern/i386/efi/init.c: Likewise.
38935 * kern/i386/efi/startup.S: Likewise.
38936 * kern/i386/pc/init.c: Likewise.
38937 * kern/i386/pc/lzo1x.S: Likewise.
38938 * kern/i386/pc/startup.S: Likewise.
38939 * kern/ieee1275/ieee1275.c: Likewise.
38940 * kern/powerpc/cache.S: Likewise.
38941 * kern/powerpc/dl.c: Likewise.
38942 * kern/powerpc/ieee1275/cmain.c: Likewise.
38943 * kern/powerpc/ieee1275/crt0.S: Likewise.
38944 * kern/powerpc/ieee1275/init.c: Likewise.
38945 * kern/powerpc/ieee1275/openfw.c: Likewise.
38946 * kern/sparc64/cache.S: Likewise.
38947 * kern/sparc64/dl.c: Likewise.
38948 * kern/sparc64/ieee1275/init.c: Likewise.
38949 * kern/sparc64/ieee1275/openfw.c: Likewise.
38950 * loader/efi/chainloader.c: Likewise.
38951 * loader/efi/chainloader_normal.c: Likewise.
38952 * loader/i386/efi/linux.c: Likewise.
38953 * loader/i386/efi/linux_normal.c: Likewise.
38954 * loader/i386/pc/chainloader.c: Likewise.
38955 * loader/i386/pc/chainloader_normal.c: Likewise.
38956 * loader/i386/pc/linux.c: Likewise.
38957 * loader/i386/pc/linux_normal.c: Likewise.
38958 * loader/i386/pc/multiboot.c: Likewise.
38959 * loader/i386/pc/multiboot_normal.c: Likewise.
38960 * loader/powerpc/ieee1275/linux.c: Likewise.
38961 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
38962 * normal/arg.c: Likewise.
38963 * normal/cmdline.c: Likewise.
38964 * normal/command.c: Likewise.
38965 * normal/completion.c: Likewise.
38966 * normal/execute.c: Likewise.
38967 * normal/function.c: Likewise.
38968 * normal/lexer.c: Likewise.
38969 * normal/main.c: Likewise.
38970 * normal/menu.c: Likewise.
38971 * normal/menu_entry.c: Likewise.
38972 * normal/misc.c: Likewise.
38973 * normal/parser.y: Likewise.
38974 * normal/script.c: Likewise.
38975 * normal/i386/setjmp.S: Likewise.
38976 * normal/powerpc/setjmp.S: Likewise.
38977 * normal/sparc64/setjmp.S: Likewise.
38978 * partmap/acorn.c: Likewise.
38979 * partmap/amiga.c: Likewise.
38980 * partmap/apple.c: Likewise.
38981 * partmap/gpt.c: Likewise.
38982 * partmap/pc.c: Likewise.
38983 * partmap/sun.c: Likewise.
38984 * term/gfxterm.c: Likewise.
38985 * term/terminfo.c: Likewise.
38986 * term/efi/console.c: Likewise.
38987 * term/i386/pc/console.c: Likewise.
38988 * term/i386/pc/serial.c: Likewise.
38989 * term/i386/pc/vesafb.c: Likewise.
38990 * term/i386/pc/vga.c: Likewise.
38991 * term/ieee1275/ofconsole.c: Likewise.
38992 * util/biosdisk.c: Likewise.
38993 * util/console.c: Likewise.
38994 * util/genmoddep.c: Likewise.
38995 * util/getroot.c: Likewise.
38996 * util/grub-emu.c: Likewise.
38997 * util/grub-mkdevicemap.c: Likewise.
38998 * util/grub-probe.c: Likewise.
38999 * util/lvm.c: Likewise.
39000 * util/misc.c: Likewise.
39001 * util/raid.c: Likewise.
39002 * util/resolve.c: Likewise.
39003 * util/update-grub.in: Likewise.
39004 * util/update-grub_lib.in: Likewise.
39005 * util/grub.d/00_header.in: Likewise.
39006 * util/grub.d/10_hurd.in: Likewise.
39007 * util/grub.d/10_linux.in: Likewise.
39008 * util/i386/efi/grub-install.in: Likewise.
39009 * util/i386/efi/grub-mkimage.c: Likewise.
39010 * util/i386/pc/grub-install.in: Likewise.
39011 * util/i386/pc/grub-mkimage.c: Likewise.
39012 * util/i386/pc/grub-mkrescue.in: Likewise.
39013 * util/i386/pc/grub-setup.c: Likewise.
39014 * util/i386/pc/misc.c: Likewise.
39015 * util/powerpc/ieee1275/grub-install.in: Likewise.
39016 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
39017 * util/powerpc/ieee1275/misc.c: Likewise.
39018 * video/bitmap.c: Likewise.
39019 * video/video.c: Likewise.
39020 * video/i386/pc/vbe.c: Likewise.
39021 * video/i386/pc/vbeblit.c: Likewise.
39022 * video/i386/pc/vbefill.c: Likewise.
39023 * video/i386/pc/vbeutil.c: Likewise.
39024 * video/readers/tga.c: Likewise.
39025
39026 2007-07-02 Robert Millan <rmh@aybabtu.com>
39027
39028 * conf/i386-efi.rmk: Replace obsolete reference to
39029 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
39030 with util/getroot.c.
39031 * conf/powerpc-ieee1275.rmk: Likewise.
39032 * conf/sparc64-ieee1275.rmk: Likewise.
39033
39034 * util/grub-emu.c (main): Fix unchecked pointer handling.
39035
39036 2007-07-02 Robert Millan <rmh@aybabtu.com>
39037
39038 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
39039 invocation to fail, in order to support partition-less media.
39040
39041 * util/i386/pc/grub-install.in: Likewise.
39042
39043 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
39044 which fs or partmap modules are needed (akin to its sister scripts).
39045
39046 Also use grub-probe to get rid of unportable /proc/mounts check.
39047
39048 Print the same informational message that the other scripts do, before
39049 exiting.
39050
39051 2007-06-23 Robert Millan <rmh@aybabtu.com>
39052
39053 * util/update-grub_lib.in (font_path): New function. Determine whether
39054 a font file can be found and, if so, echo the GRUB path to it.
39055
39056 * util/update-grub.in: Handle multiple terminals depending on user
39057 input, platform availability and font file presence. Propagate
39058 variables of our findings to /etc/grub.d/ children.
39059
39060 * util/grub.d/00_header.in: Handle multiple terminals, based on
39061 environment setup by update-grub.
39062
39063 2007-06-23 Robert Millan <rmh@aybabtu.com>
39064
39065 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
39066
39067 2007-06-21 Robert Millan <rmh@aybabtu.com>
39068
39069 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
39070 indicate end of data section in kernel image.
39071 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
39072 GRUB_KERNEL_MACHINE_DATA_END.
39073
39074 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
39075 space for it.
39076 * kern/i386/efi/startup.S: Likewise.
39077
39078 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
39079 during image generation. Implement --prefix option to override this
39080 patch.
39081 * util/i386/efi/grub-mkimage.c: Likewise.
39082
39083 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
39084 code to make path relative to its root into a separate function.
39085
39086 * util/i386/pc/grub-install.in: Use newly provided
39087 make_system_path_relative_to_its_root() to convert ${grubdir}, then
39088 pass the result to grub-install --prefix.
39089
39090 2007-06-13 Robert Millan <rmh@aybabtu.com>
39091
39092 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
39093 DEFAULT_DEVICE_MAP.
39094 * util/grub-emu.c: Use above definitions from misc.h instead of
39095 defining them.
39096 * util/grub-mkdevicemap.c: Likewise.
39097 * util/i386/pc/grub-setup.c: Likewise.
39098 * util/grub-probe.c: Likewise.
39099 (probe): Abort with grub_util_error() when either
39100 grub_guess_root_device or grub_util_get_grub_dev fails.
39101
39102 2007-06-12 Robert Millan <rmh@aybabtu.com>
39103
39104 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
39105 "pager" assignment.
39106 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
39107 "pcdata".
39108 * util/grub-probe.c (probe): Likewise for "drive_name".
39109
39110 2007-06-11 Robert Millan <rmh@aybabtu.com>
39111
39112 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
39113 not just the cdrom one.
39114
39115 2007-06-11 Robert Millan <rmh@aybabtu.com>
39116
39117 * util/i386/pc/grub-mkrescue.in: Add "set -e".
39118 Add --pkglibdir=DIR option to override pkglibdir.
39119 Mention --image-type=TYPE in help output.
39120 Fix --grub-mkimage (it was a no-op).
39121 Abort gracefully when no parameter is given.
39122
39123 2007-06-11 Robert Millan <rmh@aybabtu.com>
39124
39125 * util/i386/pc/grub-mkrescue.in: New file.
39126 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
39127 * Makefile.in: Handle bin_SCRIPTS.
39128
39129 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
39130
39131 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
39132 list of video modes.
39133
39134 2007-06-06 Robert Millan <rmh@aybabtu.com>
39135
39136 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
39137 file doesn't exist, or if it is in a filesystem grub can't read.
39138
39139 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
39140 not abort if GRUB_DRIVE could not be defined. Rearrange generated
39141 header comment to fit in 80 columns when the variables are resolved.
39142
39143 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
39144 could be identified by update-grub. Remove redundant check for
39145 unifont.pff existence (since convert_system_path_to_grub_path now
39146 handles that).
39147
39148 2007-06-04 Robert Millan <rmh@aybabtu.com>
39149
39150 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
39151
39152 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
39153
39154 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
39155
39156 2007-06-04 Robert Millan <rmh@aybabtu.com>
39157
39158 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
39159
39160 * include/grub/partition.h: Declare grub_apple_partition_map_init and
39161 grub_apple_partition_map_fini.
39162
39163 * util/biosdisk.c
39164 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
39165 to access >2 TiB disks).
39166
39167 Print disk->total_sectors with %llu instead of %lu, since this
39168 variable is always 64-bit (prevents wrong disk size from being displayed
39169 on either >2 TiB disk or big-endian CPU).
39170
39171 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
39172 into a generic case that supports all (sane) partition maps.
39173
39174 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
39175 breaks big-endian.
39176
39177 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
39178 and grub_apple_partition_map_fini() after that.
39179
39180 2007-06-01 Robert Millan <rmh@aybabtu.com>
39181
39182 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
39183
39184 * util/grub.d/00_header.in: Only enable gfxterm when
39185 convert_system_path_to_grub_path() succeeds.
39186
39187 2007-05-20 Robert Millan <rmh@aybabtu.com>
39188
39189 * util/update-grub_lib.in: New file.
39190 * DISTLIST: Add update-grub_lib.in.
39191 * conf/common.rmk: Generate update-grub_lib and install it in
39192 $(lib_DATA).
39193 * Makefile.in: Add install routine for $(lib_DATA).
39194
39195 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
39196 function provided by update-grub_lib to support arbitrary paths of
39197 unifont.pff.
39198 * util/update-grub.in: Use convert_system_path_to_grub_path() to
39199 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
39200
39201 2007-05-19 Robert Millan <rmh@aybabtu.com>
39202
39203 * commands/i386/cpuid.c: New module.
39204 * DISTLIST: Add it.
39205 * conf/i386-efi.rmk: Enable cpuid.mod.
39206 * conf/i386-pc.rmk: Likewise.
39207
39208 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
39209
39210 * kern/disk.c (grub_disk_read): Check return value of
39211 grub_realloc().
39212
39213 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
39214
39215 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
39216 arrays.
39217 * disk/raid.c (grub_raid_open): Likewise.
39218
39219 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
39220
39221 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
39222 stack instead of on the heap.
39223
39224 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
39225 before doing a read on it.
39226
39227 * configure.ac: Only use -fno-stack-protector for the target
39228 environment.
39229
39230 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
39231
39232 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
39233 __attribute_ ((unused)) to mode_type argument.
39234
39235 * util/getroot.c (grub_guess_root_device): Fix #endif.
39236
39237 * kern/misc.c (memcmp): Fix prototype.
39238
39239 * include/grub/partition.h [GRUB_UTIL]
39240 (grub_gpt_partition_map_init): Add prototype.
39241 (grub_gpt_partition_map_fini): Likewise.
39242
39243 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
39244 at the right place.
39245
39246 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
39247 (grub_fat_read_data): Likewise.
39248 (grub_fat_find_dir): Likewise.
39249
39250 * font/manager.c (find_glyph): Make table a const.
39251 (grub_font_get_glyph): Remove bitmap from if statement.
39252
39253 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
39254
39255 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
39256 code, first search for device in /dev/mapper, then in /dev.
39257 (grub_util_get_grub_dev): New function.
39258 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
39259 prototype.
39260 * util/grub-probe.c (probe): Remove check for RAID, call
39261 grub_util_get_grub_dev() instead of
39262 grub_util_biosdisk_get_grub_dev().
39263 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
39264 grub_util_biosdisk_get_grub_dev().
39265 * util/i386/pc/grub-setup.c (main): Likewise.
39266
39267 2007-05-16 Robert Millan <rmh@aybabtu.com>
39268
39269 * DISTLIST: Update for the latest changes.
39270 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
39271 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
39272 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
39273 grub/util/biosdisk.h.
39274 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
39275 grub/util/biosdisk.h.
39276
39277 2007-05-16 Robert Millan <rmh@aybabtu.com>
39278
39279 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
39280
39281 2007-05-16 Robert Millan <rmh@aybabtu.com>
39282
39283 * util/i386/efi/grub-install.in: New.
39284 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
39285 newly added grub-install.
39286 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
39287 include.
39288 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
39289 grub/util/biosdisk.h.
39290 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
39291 grub/util/biosdisk.h.
39292
39293 2007-05-16 Robert Millan <rmh@aybabtu.com>
39294
39295 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
39296 * include/grub/util/biosdisk.h: ... here.
39297 * util/i386/pc/biosdisk.c: Moved to ...
39298 * util/biosdisk.c: ... here.
39299 * util/i386/pc/getroot.c: Moved to ...
39300 * util/getroot.c: ... here.
39301 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
39302 * util/grub-mkdevicemap.c: ... here.
39303 * util/i386/pc/grub-probe.c: Moved to ...
39304 * util/grub-probe.c: ... here.
39305
39306 2007-05-15 Robert Millan <rmh@aybabtu.com>
39307
39308 * util/update-grub.in: Remove duplicated line in grub.cfg header
39309 message.
39310
39311 2007-05-13 Robert Millan <rmh@aybabtu.com>
39312
39313 * util/update-grub.in: Fix a few assumptions about the devices holding
39314 /, /boot and /boot/grub being the same.
39315 * util/grub.d/00_header.in: Likewise.
39316 * util/grub.d/10_hurd.in: Likewise.
39317 * util/grub.d/10_linux.in: Likewise.
39318
39319 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
39320 patterns. Use that to define the `.old' suffix as older than `'.
39321
39322 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
39323
39324 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
39325 the grub.cfg header message.
39326
39327 2007-05-11 Robert Millan <rmh@aybabtu.com>
39328
39329 * util/update-grub.in: Create device.map if it doesn't already exist,
39330 before attempting to run grub-probe.
39331 Check for grub-probe and grub-mkdevicemap with the same code
39332 grub-install is using.
39333 Remove test mode.
39334
39335 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
39336
39337 * Makefile.in: Add the datarootdir autoconf variable.
39338
39339 2007-05-09 Robert Millan <rmh@aybabtu.com>
39340
39341 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
39342 fail gracefully if dev->disk->partition == NULL.
39343
39344 2007-05-07 Robert Millan <rmh@aybabtu.com>
39345
39346 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
39347 determine partition map module.
39348 * util/i386/pc/grub-install.in: Use this feature to decide which
39349 partition module to load, instead of hardcoding pc and gpt.
39350
39351 2007-05-07 Robert Millan <rmh@aybabtu.com>
39352
39353 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
39354 source directory differs from build directory.
39355
39356 2007-05-05 Robert Millan <rmh@aybabtu.com>
39357
39358 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
39359 initialisation.
39360
39361 2007-05-05 Robert Millan <rmh@aybabtu.com>
39362
39363 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
39364
39365 2007-05-05 Robert Millan <rmh@aybabtu.com>
39366
39367 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
39368 command-line arguments via ${GRUB_CMDLINE_LINUX}.
39369
39370 2007-05-05 Robert Millan <rmh@aybabtu.com>
39371
39372 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
39373 (grub_probe_SOURCES): Likewise.
39374 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
39375 GPT and initialize dos_part and bsd_part accordingly.
39376 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
39377 install_bsd_part.
39378 (main): Activate gpt module for use during partition identification,
39379 and deactivate it afterwards.
39380 * util/i386/pc/grub-install.in: Add gpt module to core.img.
39381 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
39382 partition identification, and deactivate it afterwards.
39383
39384 2007-05-05 Robert Millan <rmh@aybabtu.com>
39385
39386 * term/i386/pc/console.c (grub_console_fini): Call
39387 grub_term_set_current() before grub_term_unregister().
39388
39389 2007-05-04 Robert Millan <rmh@aybabtu.com>
39390
39391 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
39392 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
39393 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
39394 and update-grub_DATA.
39395 * conf/common.rmk: Build and install update-grub components.
39396 * conf/common.mk: Regenerate.
39397 * util/update-grub.in: New. Core of update-grub.
39398 * util/grub.d/00_header.in: New. Generates grub.cfg header.
39399 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
39400 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
39401 * util/grub.d/README: New. Document grub.d directory layout.
39402
39403 2007-05-01 Robert Millan <rmh@aybabtu.com>
39404
39405 * util/grub-emu.c: Move initialization functions
39406 grub_util_biosdisk_init() and grub_init_all() before
39407 grub_util_biosdisk_get_grub_dev(), which relies on them.
39408
39409 2007-04-19 Robert Millan <rmh@aybabtu.com>
39410
39411 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
39412 it is used later.
39413
39414 2007-04-18 Jerone Young <jerone@gmail.com>
39415
39416 * kernel/elf.c: Add missing parenthesis for conditional statement
39417 stanza.
39418
39419 2007-04-10 Jerone Young <jerone@gmail.com>
39420
39421 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
39422 continue on and look for device node with real device name.
39423
39424 2007-04-10 Jerone Young <jerone@gmail.com>
39425
39426 * configure.ac: Add argument for autoconf to use transformation
39427 ability.
39428 * Makefile.in: Add autoconf package transformation code.
39429 * util/i386/pc/grub-install.in: Likewise.
39430 * util/powerpc/ieee1275/grub-install.in: Likewise.
39431
39432 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
39433
39434 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
39435 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
39436 (EXT2_REVISION): Likewise.
39437 (EXT2_INODE_SIZE): Likewise.
39438 (struct grub_ext2_block_group): Added a missing member
39439 "used_dirs".
39440 (grub_ext2_read_inode): Divide by the inode size in a superblock
39441 instead of 128 to obtain INODES_PER_BLOCK.
39442 Use the macro EXT2_INODE_SIZE instead of directly using
39443 SBLOCK->INODE_SIZE.
39444
39445 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
39446
39447 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
39448 superblock instead of the structure size to compute an
39449 offset. This fixes the problem that GRUB could not read a
39450 filesystem when inode size is different from 128-byte.
39451
39452 2007-03-05 Marco Gerards <marco@gnu.org>
39453
39454 * normal/main.c (read_config_file): When "menu" is not set, create
39455 an initial context.
39456
39457 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
39458
39459 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
39460 (HEAP_LIMIT): New macro.
39461 (grub_claim_heap): Claim memory up to `heaplimit'.
39462
39463 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
39464
39465 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
39466 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
39467 (_start): Likewise.
39468 (grub_arch_modules_addr): Return address after `_end'.
39469 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
39470 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
39471 (add_segments): Calculate `_end' from phdr size and location.
39472 (ALIGN_UP): Moved to ...
39473 * include/grub/misc.h: here.
39474 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
39475 New macro.
39476 (GRUB_IEEE1275_MODULE_BASE): Removed.
39477
39478 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
39479
39480 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
39481 loop boundary.
39482
39483 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
39484
39485 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
39486 All users updated.
39487 (grub_elf64_load_hook_t): Likewise.
39488 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
39489 debug output.
39490
39491 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
39492
39493 * kern/mm.c: Update copyright.
39494 (grub_mm_debug): Correct syntax error.
39495 (grub_mm_dump_free): New function.
39496 (grub_debug_free): Call `grub_free'.
39497 * include/grub/mm.h: Update copyright.
39498 (grub_mm_dump_free): Add declaration.
39499
39500 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
39501
39502 * include/grub/ieee1275/ieee1275.h: Update copyright.
39503 * kern/powerpc/ieee1275/init.c: Likewise.
39504 * kern/powerpc/ieee1275/openfw.c: Likewise.
39505
39506 * loader/powerpc/ieee1275/linux.c: Likewise.
39507 * include/grub/elfload.h: Likewise.
39508 * kern/elf.c: Likewise.
39509 (grub_elf32_load): Pass `base' and `size' parameters. Update all
39510 callers.
39511 (grub_elf64_load): Likewise.
39512 (grub_elf32_load_segment): Move to a nested function.
39513 (grub_elf64_load_segment): Likewise.
39514
39515 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
39516
39517 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
39518 prototype.
39519 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
39520 (grub_heap_len): Likewise.
39521 (HEAP_SIZE): New macro.
39522 (grub_claim_heap): New function.
39523 (grub_machine_init): Don't claim heap directly. Call
39524 `grub_claim_heap'.
39525 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
39526 (grub_available_iterate): New function.
39527
39528 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
39529
39530 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
39531 * configure.ac: Use it for testing the HOST and TARGET compilers.
39532
39533 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
39534
39535 * Makefile.in (enable_grub_emu): New variable.
39536 * configure.ac (--enable-grub-emu): New option.
39537 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
39538 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
39539 * conf/i386-pc.rmk: Likewise.
39540 * conf/powerpc-ieee1275.rmk: Likewise.
39541 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
39542
39543 2006-12-12 Marco Gerards <marco@gnu.org>
39544
39545 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
39546
39547 * kern/env.c (grub_env_unset): Don't free the member `value' when
39548 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
39549 pointer.
39550
39551 * normal/main.c (current_menu): Removed.
39552 (free_menu): Unset the `menu' environment variable.
39553 (grub_normal_menu_addentry): Make use of the environment variable
39554 `menu', instead of using the global `current_menu'. Allocate
39555 memory for the sourcecode of this entry.
39556 (read_config_file): New argument `nested', changed all callers.
39557 Only in the case of a new context, initialize a new menu. Set the
39558 `menu' environment variable.
39559 (grub_normal_execute): Don't set and unset the environment
39560 variable `menu' here anymore. Only free the menu when leaving the
39561 context.
39562
39563 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
39564 leak.
39565
39566 2006-12-11 Marco Gerards <marco@gnu.org>
39567
39568 * normal/menu_entry.c (run): Fix off by one bug so the last line
39569 is executed. Move the loader check to outside the loop.
39570
39571 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
39572
39573 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
39574
39575 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
39576
39577 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
39578 the number of sectors. Reported by Andrey Shuvikov
39579 <mr_hyro@yahoo.com>.
39580
39581 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
39582
39583 * kern/disk.c (grub_disk_read): When there is a read error, always
39584 try to read only the necessary data.
39585
39586 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
39587 disk/raid.c.
39588 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
39589 prototype.
39590 [GRUB_UTIL] (grub_raid_fini): Likewise.
39591 [GRUB_UTIL] (grub_lvm_init): Likewise.
39592 [GRUB_UTIL] (grub_lvm_fini): Likewise.
39593 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
39594 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
39595 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
39596 and grub_raid_fini().
39597
39598 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
39599
39600 * include/grub/types.h (__unused): Rename to UNUSED.
39601 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
39602 (grub_elf64_size): Likewise.
39603
39604 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
39605
39606 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
39607 grub_error_push and grub_error_pop in the error-handling path.
39608 (grub_elf32_load_segment): Only call grub_file_read with non-zero
39609 length.
39610
39611 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
39612
39613 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
39614 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39615 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39616 (kernel_elf_SOURCES): Likewise.
39617 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
39618 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
39619 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
39620 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
39621 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
39622 (elf_mod_SOURCES): New variable.
39623 (elf_mod_CFLAGS): Likewise.
39624 (elf_mod_LDFLAGS): Likewise.
39625 * include/grub/types.h (__unused): New macro.
39626 * include/grub/elfload.h: New file.
39627 * kern/elf.c: Likewise.
39628 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
39629 (ELF32_LOADMASK): New macro.
39630 (ELF64_LOADMASK): Likewise.
39631 (vmlinux): Removed.
39632 (grub_linux_load32): New function.
39633 (grub_linux_load64): Likewise.
39634 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
39635 Use grub_elf_t instead of grub_file_t.
39636
39637 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
39638
39639 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
39640 `catch_result' to struct set_color_args.
39641
39642 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
39643
39644 * normal/menu.c: Include grub/script.h.
39645 * normal/menu_entry.c: Likewise.
39646 * include/grub/normal.h: Do not include grub/script.h.
39647
39648 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
39649
39650 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
39651
39652 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
39653
39654 * kern/disk.c (grub_disk_open): Print debug messages when opening a
39655 disk.
39656 (grub_disk_close): Print debug messages when closing a disk.
39657 (grub_disk_read): Print debug messages when disk read fails.
39658 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
39659 filesystem type.
39660 * kern/partition.c: Include misc.h.
39661 (grub_partition_iterate): Print debug messages when detecting
39662 partition type.
39663
39664 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
39665
39666 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
39667 is negative.
39668 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
39669
39670 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
39671
39672 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
39673 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
39674
39675 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
39676
39677 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
39678 instead of sizeof(lv). Patch by Michael Guntsche.
39679
39680 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
39681
39682 * disk/lvm.c: Rename VGS to VG_LIST.
39683 (grub_lvm_iterate): Change VGS->LV to VG-LV.
39684 (grub_lvm_open): Likewise.
39685 Thanks to Michael Guntsche for finding this bug.
39686
39687 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
39688
39689 * configure.ac (AC_INIT): Bumped to 1.95.
39690
39691 2006-10-14 Robert Millan <rmh@aybabtu.com>
39692
39693 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
39694 with "/dev/.static/dev/md".
39695
39696 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
39697
39698 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
39699 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
39700 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
39701 DRIVE_NAME are always freed.
39702
39703 * util/i386/pc/biosdisk.c (make_device_name): Add one into
39704 DOS_PART, as a DOS partition is counted from one instead of zero
39705 now. Reported by Robert Millan.
39706
39707 2006-10-14 Robert Millan <rmh@aybabtu.com>
39708
39709 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
39710 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
39711 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
39712 string returned by grub_guess_root_device.
39713 * util/i386/pc/grub-setup.c: Likewise.
39714 * util/i386/pc/grub-probefs.c: Likewise.
39715
39716 * util/i386/pc/grub-probefs.c: Rename to ...
39717 * util/i386/pc/grub-probe.c: ... this.
39718 * DISTLIST: Remove grub-probefs, add grub-probe.
39719 * conf/i386-efi.rmk: Likewise.
39720 * conf/i386-pc.rmk: Likewise.
39721 * util/i386/pc/grub-install.in: Likewise.
39722
39723 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
39724 choose which information we want to print.
39725
39726 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
39727
39728 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
39729 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
39730 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
39731 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
39732 video/readers/tga.c and video/i386/pc/vbeutil.c.
39733
39734 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
39735
39736 Added support for RAID and LVM.
39737
39738 * disk/lvm.c: New file.
39739 * disk/raid.c: Likewise.
39740 * include/grub/lvm.h: Likewise.
39741 * include/grub/raid.h: Likewise.
39742 * include/grub/util/lvm.h: Likewise.
39743 * include/grub/util/raid.h: Likewise.
39744 * util/lvm.c: Likewise.
39745 * util/raid.c: Likewise.
39746
39747 * include/grub/disk.h (grub_disk_dev_id): Add
39748 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
39749 (grub_disk_get_size): New prototype.
39750 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
39751 returns a partition.
39752 (grub_disk_get_size): New function.
39753
39754 * kern/i386/pc/init.c (make_install_device): Copy the prefix
39755 verbatim if grub_install_dos_part is -2.
39756
39757 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
39758 and LVM devices.
39759
39760 * util/i386/pc/grub-setup.c (setup): New argument
39761 MUST_EMBED. Force embedding of GRUB when the argument is
39762 true. Close FILE before returning.
39763 (main): Add support for RAID and LVM.
39764
39765 * conf/common.rmk: Add RAID and LVM modules.
39766 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
39767 util/lvm.c.
39768 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
39769
39770 * kern/misc.c (grub_strstr): New function.
39771 * include/grub/misc.h (grub_strstr): New prototype.
39772
39773 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
39774
39775 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
39776
39777 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
39778
39779 * kern/misc.c (grub_strtoull): Guess the base only if not
39780 specified.
39781
39782 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
39783
39784 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
39785 PowerMac support.
39786
39787 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
39788
39789 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
39790
39791 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
39792 Remove `flags' argument. All callers changed.
39793 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
39794 (IEEE1275_IHANDLE_INVALID): New variable.
39795 (IEEE1275_CELL_INVALID): New variable.
39796 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
39797 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
39798 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
39799 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
39800 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
39801 codes from Open Firmware. All callers updated.
39802 (grub_ieee1275_next_property): Directly return Open Firmware return
39803 code.
39804 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
39805 Standardize error checking from `grub_ieee1275_get_property'.
39806 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
39807 `devalias' to `aliases'. Correct comments. Consolidate error paths.
39808
39809 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
39810
39811 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
39812 `instance_to_package_args' to `instance_to_path_args'.
39813
39814 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
39815 `grub_ieee1275_chosen'.
39816
39817 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
39818 `grub_ieee1275_interpret'.
39819
39820 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
39821
39822 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
39823
39824 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
39825
39826 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
39827 (__cmpdi): Likewise.
39828
39829 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
39830 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
39831 `grub_ssize_t'.
39832
39833 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
39834
39835 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
39836 to type `grub_ssize_t'.
39837 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
39838
39839 2006-09-22 Marco Gerards <marco@gnu.org>
39840
39841 * normal/script.c (grub_script_create_cmdmenu): Skip leading
39842 newlines.
39843
39844 2006-09-22 Marco Gerards <marco@gnu.org>
39845
39846 * commands/echo.c: New file.
39847
39848 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
39849
39850 * conf/common.rmk (echo_mod_SOURCES): New variable.
39851 (echo_mod_CFLAGS): Likewise.
39852 (echo_mod_LDFLAGS): Likewise.
39853
39854 2006-09-22 Marco Gerards <marco@gnu.org>
39855
39856 * normal/main.c (get_line): Malloc memory instead of using
39857 preallocated memory. Removed the arguments `cmdline' and
39858 `max_len'. Updated all callers.
39859
39860 2006-09-22 Marco Gerards <marco@gnu.org>
39861
39862 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
39863 (normal_mod_DEPENDENCIES): Likewise.
39864
39865 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
39866 (normal_mod_DEPENDENCIES): Likewise.
39867
39868 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
39869
39870 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
39871
39872 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
39873 programs.
39874 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
39875 (normal_mod_DEPENDENCIES): Likewise.
39876 * conf/i386-pc.mk: Regenerate.
39877 * conf/i386-efi.mk: Likewise
39878 * conf/common.mk: Likewise.
39879 * conf/powerpc-ieee1275.mk: Likewise.
39880 * conf/sparc64-ieee1275.mk: Likewise.
39881
39882 2006-09-22 Robert Millan <rmh@aybabtu.com>
39883
39884 Sync with i386 version.
39885 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
39886 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
39887
39888 2006-09-21 Robert Millan <rmh@aybabtu.com>
39889
39890 Import from GRUB Legacy (lib/device.c):
39891 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
39892 (init_device_map) [__linux__]: Add support for I2O devices.
39893
39894 2006-09-14 Marco Gerards <marco@gnu.org>
39895
39896 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
39897 `-melf_i386'.
39898
39899 2006-09-14 Robert Millan <rmh@aybabtu.com>
39900
39901 * util/i386/pc/grub-install.in: Skip menu.lst when removing
39902 /boot/grub/*.lst.
39903
39904 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
39905
39906 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
39907 before adding it to device.map.
39908
39909 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
39910
39911 * genmk.rb: Let GCC generate dependencies the first time it
39912 compiles a file; using the -MD option.
39913 * conf/common.mk: Regenerate.
39914 * conf/i386-pc.mk: Likewise.
39915 * conf/i386-efi.mk: Likewise.
39916 * conf/powerpc-ieee1275.mk: Likewise.
39917 * conf/sparc64-ieee1275.mk: Likewise.
39918
39919 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
39920
39921 Move the prototypes of grub_setjmp and grub_longjmp to
39922 cpu/setjmp.h, so that each architecture may specify different
39923 attributes.
39924
39925 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
39926 (grub_longjmp): Likewise.
39927 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
39928 (grub_longjmp): Likewise.
39929 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
39930 (grub_longjmp): Likewise.
39931
39932 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
39933 [!GRUB_UTIL] (grub_longjmp): Removed.
39934
39935 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
39936
39937 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
39938 "color!" method does not return any value.
39939
39940 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
39941
39942 * include/grub/bitmap.h: New file.
39943
39944 * include/grub/i386/pc/vbeutil.h: Likewise.
39945
39946 * video/bitmap.c: Likewise.
39947
39948 * video/readers/tga.c: Likewise.
39949
39950 * video/i386/pc/vbeutil.c: Likewise.
39951
39952 * commands/videotest.c: Code cleanup and updated to reflect to new
39953 video API.
39954
39955 * term/gfxterm.c: Likewise.
39956
39957 * video/video.c: Likewise.
39958
39959 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
39960 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
39961 (bitmap_mod_SOURCES): New entry.
39962 (bitmap_mod_CFLAGS): Likewise.
39963 (bitmap_mod_LDFLAGS): Likewise.
39964 (tga_mod_SOURCES): Likewise.
39965 (tga_mod_CFLAGS): Likewise.
39966 (tga_mod_LDFLAGS): Likewise.
39967
39968 * include/grub/video.h (grub_video_blit_operators): New enum type.
39969 (grub_video_render_target): Changed as forward declaration and moved
39970 actual definition to be video driver specific.
39971 (grub_video_adapter.blit_bitmap): Added blitting operator.
39972 (grub_video_adapter.blit_render_target): Likewise.
39973 (grub_video_blit_bitmap): Likewise.
39974 (grub_video_blit_render_target): Likewise.
39975
39976 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
39977 driver specific render target definition.
39978 (grub_video_vbe_map_rgba): Added driver internal helper.
39979 (grub_video_vbe_unmap_color): Updated to use
39980 grub_video_i386_vbeblit_info.
39981 (grub_video_vbe_get_video_ptr): Likewise.
39982
39983 * include/grub/i386/pc/vbeblit.h
39984 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
39985 grub_video_i386_vbeblit_info.
39986 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
39987 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
39988 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
39989 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
39990 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
39991 (grub_video_i386_vbeblit_index_index): Likewise.
39992 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
39993 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
39994 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
39995 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
39996 operator.
39997 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
39998 operator.
39999
40000 * video/i386/pc/vbeblit.c: Updated to reflect changes on
40001 include/grub/i386/pc/vbeblit.h.
40002
40003 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
40004 Updated to use grub_video_i386_vbeblit_info.
40005 (grub_video_i386_vbefill_R8G8B8): Likewise.
40006 (grub_video_i386_vbefill_index): Likewise.
40007 (grub_video_i386_vbefill): Added generic filler.
40008
40009 * video/i386/pc/vbefill.c: Updated to reflect changes on
40010 include/grub/i386/pc/vbefill.h.
40011
40012 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
40013 grub_video_i386_vbeblit_info.
40014 (grub_video_vbe_unmap_color): Likewise.
40015 (grub_video_vbe_blit_glyph): Likewise.
40016 (grub_video_vbe_scroll): Likewise.
40017 (grub_video_vbe_draw_pixel): Removed function.
40018 (grub_video_vbe_get_pixel): Likewise.
40019 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
40020 updated code to use it.
40021 (common_blitter): Added common blitter for render target and bitmap.
40022 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
40023 (grub_video_vbe_blit_render_target): Likewise.
40024
40025 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
40026
40027 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
40028 is in text mode if there is no console control protocol instance
40029 available.
40030
40031 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40032
40033 * include/grub/video.h: Code cleanup.
40034
40035 * include/grub/i386/pc/vbe.h: Likewise.
40036
40037 * video/i386/pc/vbe.c: Likewise.
40038
40039 * video/i386/pc/vbeblit.c: Likewise.
40040
40041 * video/i386/pc/vbefill.c: Likewise.
40042
40043 * video/video.c: Likewise. Also added more comments.
40044
40045 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40046
40047 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
40048 (struct grub_biosdisk_dap): Likewise.
40049
40050 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
40051 linkage settings for all functions.
40052
40053 2006-07-12 Marco Gerards <marco@gnu.org>
40054
40055 * configure.ac (--enable-mm-debug): Fix typo.
40056
40057 * genkernsyms.sh.in: Use proper quoting for `CC'.
40058
40059 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
40060
40061 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
40062 (normal_mod_ASFLAGS): Remove "-m32".
40063
40064 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
40065
40066 * util/misc.c: Include config.h.
40067 [!HAVE_MEMALIGN]: Do not include malloc.h.
40068 (grub_memalign): Use posix_memalign, if present. Then, use
40069 memalign, if present. Otherwise, emit an error.
40070
40071 * util/grub-emu.c: Do not include malloc.h.
40072
40073 * include/grub/util/misc.h: Include unistd.h. This is required for
40074 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
40075 D. Eades III <hde@foobar-qux.org>.
40076
40077 * configure.ac (AC_GNU_SOURCE): Added.
40078 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
40079 type.
40080
40081 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
40082
40083 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
40084 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
40085
40086 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
40087
40088 * include/grub/types.h (grub_host_addr_t): Rename to
40089 grub_target_addr_t.
40090 (grub_host_off_t): Rename to grub_target_off_t.
40091 (grub_host_size_t): Rename to grub_target_size_t.
40092 (grub_host_ssize_t): Rename to grub_target_ssize_t.
40093 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
40094
40095 * include/grub/kernel.h (struct grub_module_header): Change type
40096 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
40097 (grub_module_info): Likewise.
40098
40099 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
40100
40101 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
40102 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
40103 Velazquez <jesus.velazquez@gmail.com>.
40104
40105 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
40106
40107 Count partitions from 1 instead of 0 in the string representation
40108 of partitions. Still use 0-based internally.
40109
40110 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
40111 (sun_partition_map_iterate): Use grub_partition_t instead of
40112 struct grub_partition *. Cast DESC->START_CYLINDER to
40113 grub_uint64_t after converting the endian.
40114 (sun_partition_map_probe): Subtract 1 for PARTNUM.
40115 (sun_partition_map_get_name): Add 1 to P->INDEX.
40116
40117 * partmap/pc.c (grub_partition_parse): Subtract 1 for
40118 PCDATA->DOS_PART.
40119 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
40120
40121 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
40122 zero instead of one.
40123 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
40124 (gpt_partition_map_get_name): Add 1 into P->INDEX.
40125
40126 * partmap/apple.c (apple_partition_map_iterate): Change the type
40127 of POS to unsigned.
40128 (apple_partition_map_probe): Subtract 1 for PARTNUM.
40129 (apple_partition_map_get_name): Add 1 into P->INDEX.
40130
40131 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
40132 of POS to unsigned.
40133 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
40134 calculate the offset of a partition.
40135 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
40136 (amiga_partition_map_get_name): Add 1 into P->INDEX.
40137
40138 * partmap/acorn.c (acorn_partition_map_find): Change the type of
40139 SECTOR to grub_disk_addr_t.
40140 (acorn_partition_map_iterate): Likewise.
40141 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
40142 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
40143 top.
40144 (acorn_partition_map_get_name): Add 1 into P->INDEX.
40145
40146 * kern/i386/pc/init.c (make_install_device): Add 1 into
40147 GRUB_INSTALL_DOS_PART.
40148
40149 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
40150 conditional.
40151
40152 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
40153
40154 Clean up the code to support 64-bit addressing in disks and
40155 files. This change is not enough for filesystems yet.
40156
40157 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
40158 type of "start" to grub_uint64_t.
40159 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
40160 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
40161 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
40162 convert addresses.
40163
40164 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
40165 to grub_disk_addr_t.
40166
40167 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
40168 string.
40169
40170 * partmap/pc.c (pc_partition_map_iterate): Likewise.
40171
40172 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
40173 to char *.
40174
40175 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
40176
40177 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
40178
40179 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
40180
40181 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
40182 to grub_off_t, to detect an error from grub_file_seek.
40183 (grub_multiboot_load_elf32): Likewise.
40184
40185 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
40186 maximum unsigned long value when an overflow is detected.
40187 (grub_strtoull): New function.
40188 (grub_divmod64): Likewise.
40189 (grub_lltoa): use grub_divmod64.
40190
40191 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
40192 grub_disk_addr_t.
40193 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
40194 the pointer to next character. Use grub_strtoull instead of
40195 grub_strtoul.
40196 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
40197 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
40198 respectively.
40199
40200 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
40201 return value is signed.
40202 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
40203 test if OFFSET is less than zero, as OFFSET is unsigned now.
40204
40205 * kern/disk.c (struct grub_disk_cache): Change the type of
40206 "sector" to grub_disk_addr_t.
40207 (grub_disk_cache_get_index): Change the type of SECTOR to
40208 grub_disk_addr_t. Calculate the hash with SECTOR casted to
40209 unsigned after shifting.
40210 (grub_disk_cache_invalidate): Change the type of SECTOR to
40211 grub_disk_addr_t.
40212 (grub_disk_cache_unlock): Likewise.
40213 (grub_disk_cache_store): Likewise.
40214 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
40215 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
40216 grub_disk_addr_t and grub_uint64_t, respectively.
40217 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
40218 body, as the value of OFFSET is tweaked by
40219 grub_disk_check_range. Change the types of START_SECTOR, LEN and
40220 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
40221 respectively.
40222 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
40223 body, as the value of OFFSET is tweaked by
40224 grub_disk_check_range. Change the types of LEN and N to
40225 grub_size_t.
40226
40227 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
40228 and "saved_offset" to grub_off_t.
40229 (test_header): Cast BUF to char *.
40230 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
40231 to char *.
40232 (grub_gzio_read): Change the types of OFFSET and SIZE to
40233 grub_off_t and grub_size_t, respectively.
40234
40235 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
40236 Removed.
40237 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
40238 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
40239 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
40240 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
40241 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
40242
40243 * include/grub/types.h (grub_off_t): Unconditionally set to
40244 grub_uint64_t.
40245 (grub_disk_addr_t): Changed to grub_uint64_t.
40246
40247 * include/grub/partition.h (struct grub_partition): Change the
40248 types of "start", "len" and "offset" to grub_disk_addr_t,
40249 grub_uint64_t and grub_disk_addr_t, respectively.
40250 (grub_partition_get_start): Return grub_disk_addr_t.
40251 (grub_partition_get_len): Return grub_uint64_t.
40252
40253 * include/grub/misc.h (grub_strtoull): New prototype.
40254 (grub_divmod64): Likewise.
40255
40256 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
40257 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
40258 grub_off_t, respectively.
40259 All callers and references changed.
40260
40261 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
40262 grub_size_t in "read".
40263 All callers and references changed.
40264
40265 * include/grub/file.h (struct grub_file): Change the types of
40266 "offset" and "size" to grub_off_t and grub_off_t,
40267 respectively. Change the type of SECTOR to grub_disk_addr_t in
40268 "read_hook".
40269 (grub_file_read): Change the type of LEN to grub_size_t.
40270 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
40271 grub_off_t.
40272 (grub_file_size): Return grub_off_t.
40273 (grub_file_tell): Likewise.
40274 All callers and references changed.
40275
40276 * include/grub/disk.h (struct grub_disk_dev): Change the types of
40277 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
40278 "write".
40279 (struct grub_disk): Change the type of "total_sectors" to
40280 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
40281 "read_hook".
40282 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
40283 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
40284 (grub_disk_write): Likewise.
40285 All callers and references changed.
40286
40287 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
40288 char * for grub_strncmp to silence gcc.
40289 (grub_iso9660_mount): Likewise.
40290 (grub_iso9660_mount): Likewise.
40291 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
40292 return statement.
40293 (grub_iso9660_iterate_dir): Likewise.
40294 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
40295
40296 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
40297 LEN to grub_disk_addr_t and grub_size_t, respectively.
40298
40299 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
40300
40301 * fs/jfs.c (grub_jfs_read_file): Likewise.
40302
40303 * fs/minix.c (grub_jfs_read_file): Likewise.
40304
40305 * fs/sfs.c (grub_jfs_read_file): Likewise.
40306
40307 * fs/ufs.c (grub_jfs_read_file): Likewise.
40308
40309 * fs/xfs.c (grub_jfs_read_file): Likewise.
40310
40311 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
40312 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
40313 respectively.
40314
40315 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
40316 BLKNR to -1 instead of returning GRUB_ERRNO.
40317 (grub_ext2_read_file): Change the types of SECTOR and
40318 LEN to grub_disk_addr_t and grub_size_t, respectively.
40319
40320 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
40321 LEN to grub_disk_addr_t and grub_size_t, respectively.
40322
40323 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
40324 grub_file_read.
40325
40326 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
40327 string. Do not cast SECTOR explicitly.
40328
40329 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
40330 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
40331 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
40332 grub_disk_addr_t and grub_size_t, respectively. If the sector is
40333 over 2TB and LBA mode is not supported, raise an error.
40334 (get_safe_sectors): New function.
40335 (grub_biosdisk_read): Use get_safe_sectors.
40336 (grub_biosdisk_write): Likewise.
40337
40338 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
40339 (grub_efidisk_write): Likewise.
40340
40341 * disk/loopback.c (delete_loopback): Cosmetic changes.
40342 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
40343 correctly.
40344 (grub_loopback_open): Likewise.
40345 (grub_loopback_read): Likewise. Also, change the type of POS to
40346 grub_off_t, and fix the usage of grub_memset.
40347
40348 * commands/i386/pc/play.c: Include grub/machine/time.h.
40349
40350 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
40351 print FILE->SIZE.
40352
40353 * commands/configfile.c: Include grub/env.h.
40354
40355 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
40356 GRUB_ERRNO directly instead. Change the type of POS to
40357 grub_off_t. Follow the coding standard.
40358
40359 * commands/blocklist.c: Include grub/partition.h.
40360 (grub_cmd_blocklist): Return an error if the underlying device is
40361 not a disk. Take the starting sector of a partition into account,
40362 if a partition is used.
40363
40364 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
40365 a length field.
40366 (lba_mode): Support 64-bit addresses.
40367 (chs_mode): Likewise.
40368 (copy_buffer): Adapted to the new offsets of a length field and a
40369 segment field.
40370 (blocklist_default_start): Allocate 64-bit space.
40371
40372 * boot/i386/pc/boot.S (force_lba): Removed.
40373 (boot_drive): Moved to under KERNEL_SECTOR.
40374 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
40375 space.
40376 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
40377 is useless.
40378 (lba_mode): Refactored to support a 64-bit address. More size
40379 optimization.
40380 (setup_sectors): Likewise.
40381
40382 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
40383
40384 * DISTLIST: Added include/grub/i386/linux.h. Removed
40385 include/grub/i386/pc/linux.h
40386
40387 * configure.ac (AC_INIT): Bumped to 1.94.
40388
40389 * config.guess: Updated from gnulib.
40390 * config.sub: Likewise.
40391 * install-sh: Likewise.
40392 * mkinstalldirs: Likewise.
40393
40394 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
40395
40396 * conf/common.rmk (grub_modules_init.lst): Depended on
40397 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
40398 MODSRCFILES.
40399
40400 * genmk.rb (PModule::rule): Reverted the previous change.
40401
40402 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
40403
40404 * conf/common.rmk (grub_modules_init.lst): Depends on
40405 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
40406 that the target does not exist before producing.
40407 (grub_modules_init.h): Remove the target before generating.
40408 (grub_emu_init.c): Likewise.
40409
40410 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
40411
40412 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
40413
40414 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
40415 for the target-specific tests. Make sure that we also have the
40416 up-to-date target variables for those tests.
40417
40418 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
40419
40420 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
40421 (PModule::rule): Likewise.
40422
40423 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
40424
40425 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
40426 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
40427 target-specific flags should be prefixed.
40428 (PModule::rule): Likewise.
40429
40430 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
40431
40432 * configure.ac (CMP): Check if cmp is available explicitly.
40433
40434 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
40435
40436 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
40437 (target_cpu): New variable.
40438 (pkglibdir): Use target_cpu instead of host_cpu.
40439
40440 * util/i386/pc/grub-install.in (host_cpu): Removed.
40441 (target_cpu): New variable.
40442 (pkglibdir): Use target_cpu instead of host_cpu.
40443
40444 * util/genmoddep.c: Removed.
40445
40446 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
40447 instead of GRUB_HOST_SIZEOF_VOID_P.
40448 * kern/dl.c: Likewise.
40449
40450 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
40451 ...
40452 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
40453 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
40454 (GRUB_TARGET_SIZEOF_LONG): ... this.
40455 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
40456 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
40457 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
40458 to ...
40459 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
40460 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
40461 (GRUB_TARGET_SIZEOF_LONG): ... this.
40462 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
40463 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
40464 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
40465 to ...
40466 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
40467 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
40468 (GRUB_TARGET_SIZEOF_LONG): ... this.
40469 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
40470 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
40471
40472 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
40473 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
40474 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
40475 instead of GRUB_HOST_SIZEOF_LONG.
40476 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
40477 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
40478 GRUB_CPU_WORDS_BIGENDIAN.
40479 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
40480 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
40481 grub_host_ssize_t.
40482
40483 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
40484 (genmoddep_SOURCES): Likewise.
40485 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
40486 (genmoddep_SOURCES): Likewise.
40487 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
40488 (genmoddep_SOURCES): Likewise.
40489 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
40490 Likewise.
40491 (genmoddep_SOURCES): Likewise.
40492
40493 * genmoddep.awk: New file.
40494
40495 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
40496 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
40497 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
40498 (PModule::rule): Likewise.
40499 (Program::rule): Likewise.
40500 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
40501 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
40502 respectively.
40503
40504 * configure.ac: Rewritten intensively to use host and target
40505 instead of build and host, respectively.
40506
40507 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
40508 (host_cpu): Removed.
40509 (target_cpu): New variable.
40510 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
40511 (BUILD_CC): Removed.
40512 (BUILD_CFLAGS): Likewise.
40513 (BUILD_CPPFLAGS): Likewise.
40514 (TARGET_CC): New variable.
40515 (TARGET_CFLAGS): Likewise.
40516 (TARGET_CPPFLAGS): Likewise.
40517 (TARGET_LDFLAGS): Likewise.
40518 (AWK): Likewise.
40519 (include): Use target_cpu instead of host_cpu.
40520 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
40521
40522 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
40523
40524 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
40525
40526 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
40527 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
40528 field 'false' to 'exec_on_false'.
40529 (grub_script_create_cmdif): Renamed argument names to reflect above
40530 changes.
40531
40532 * normal/execute.c (grub_script_execute_cmdif): Likewise.
40533
40534 * normal/script.c (grub_script_create_cmdif): Likewise.
40535
40536 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
40537
40538 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
40539 top.
40540 (grub_hfsplus_btree_recptr): Likewise.
40541 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
40542 FILEBLOCK both to pass a block number and store next block
40543 number.
40544 (grub_hfsplus_read_block): Rewritten heavily to support an extent
40545 overflow file correctly. Specify errors appropriately, because
40546 fshelp expects that GRUB_ERRNO is set when fails. Reuse
40547 grub_hfsplus_btree_recptr to get the pointer to a found key.
40548 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
40549 is found.
40550
40551 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
40552 linux.mod.
40553 (_linux_mod_SOURCES): New variable.
40554 (_linux_mod_CFLAGS): Likewise.
40555 (_linux_mod_LDFLAGS): Likewise.
40556 (linux_mod_SOURCES): Likewise.
40557 (linux_mod_CFLAGS): Likewise.
40558 (linux_mod_LDFLAGS): Likewise.
40559
40560 * DISTLIST: Added loader/i386/efi/linux.c,
40561 loader/i386/efi/linux_normal.c and
40562 include/grub/i386/efi/loader.h.
40563
40564 * loader/i386/efi/linux.c: New file.
40565 * loader/i386/efi/linux_normal.c: Likewise.
40566 * include/grub/i386/efi/loader.h: Likewise.
40567
40568 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
40569
40570 * commands/blocklist.c: New file.
40571
40572 * DISTLIST: Added commands/blocklist.c.
40573
40574 * term/efi/console.c (grub_console_highlight_color): Use a lighter
40575 color for the background, and a darker color for the foreground.
40576 (grub_console_checkkey): Return READ_KEY.
40577 (grub_console_cls): Set the background to
40578 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
40579
40580 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
40581
40582 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
40583 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
40584
40585 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
40586 prototype.
40587
40588 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
40589 BG. The spec is wrong again.
40590
40591 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
40592 prototype.
40593 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
40594
40595 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40596 commands/blocklist.c.
40597 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40598
40599 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
40600 (blocklist_mod_SOURCES): New variable.
40601 (blocklist_mod_CFLAGS): Likewise.
40602 (blocklist_mod_LDFLAGS): Likewise.
40603
40604 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
40605
40606 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
40607 duplication.
40608 (lba_mode): Use %eax more intensively to reduce the code size.
40609
40610 2006-05-20 Marco Gerards <marco@gnu.org>
40611
40612 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
40613
40614 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
40615 for `menuentry'.
40616 (script): Accept leading newlines.
40617 (newlines): New rule to describe 0 or more newlines.
40618 (commands): Accept `command' with trailing newline. Fixed the
40619 order in which arguments were passed to `grub_script_add_cmd'.
40620 Accept commands separated by newlines.
40621 (function): Changed to accept newlines.
40622 (menuentry) Rewritten.
40623
40624 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
40625 front of the list, instead of to the end.
40626
40627 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
40628
40629 * util/i386/pc/grub-install.in (bindir): New variable.
40630 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
40631 Shaver <lbgwjl@gmail.com>.
40632
40633 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
40634
40635 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
40636 grub/machine/linux.h
40637 * loader/i386/pc/linux.c: Likewise.
40638
40639 * include/grub/i386/pc/linux.h: Moved to ...
40640 * include/grub/i386/linux.h: ... here.
40641
40642 * include/grub/i386/linux.h (struct linux_kernel_params): New
40643 struct.
40644
40645 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
40646
40647 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
40648 checking.
40649 (grub_video_vbe_blit_glyph): Likewise.
40650 (grub_video_vbe_blit_bitmap): Likewise.
40651 (grub_video_vbe_blit_render_target): Likewise.
40652
40653 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
40654
40655 * configure.ac (--with-platform): Properly quote the square
40656 brackets.
40657
40658 2006-05-08 Marco Gerards <marco@gnu.org>
40659
40660 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
40661 this...
40662 (kernel_elf_HEADERS): ...to this. Updated all users.
40663 (grubof_symlist.c): Renamed from this...
40664 (kernel_elf_symlist.c): ...to this. Updated all users.
40665 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
40666 (grubof_SOURCES): Renamed from this...
40667 (kernel_elf_SOURCES): ...to this.
40668 (grubof_HEADERS): Renamed from this...
40669 (kernel_elf_HEADERS): ...to this.
40670 (grubof_CFLAGS): Renamed from this...
40671 (kernel_elf_CFLAGS): ...to this.
40672 (grubof_ASFLAGS): Renamed from this...
40673 (kernel_elf_ASFLAGS): ...to this.
40674 (grubof_LDFLAGS): Renamed from this...
40675 (kernel_elf_LDFLAGS): ...to this.
40676
40677 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
40678 this...
40679 (kernel_elf_HEADERS): ...to this. Updated all users.
40680 (grubof_symlist.c): Renamed from this...
40681 (kernel_elf_symlist.c): ...to this. Updated all users.
40682 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
40683 (grubof_SOURCES): Renamed from this...
40684 (kernel_elf_SOURCES): ...to this.
40685 (grubof_HEADERS): Renamed from this...
40686 (kernel_elf_HEADERS): ...to this.
40687 (grubof_CFLAGS): Renamed from this...
40688 (kernel_elf_CFLAGS): ...to this.
40689 (grubof_ASFLAGS): Renamed from this...
40690 (kernel_elf_ASFLAGS): ...to this.
40691 (grubof_LDFLAGS): Renamed from this...
40692 (kernel_elf_LDFLAGS): ...to this.
40693
40694 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
40695 `kernel.elf' instead of `grubof'.
40696
40697 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
40698
40699 Add --with-platform to configure. Use pkglibdir instead of
40700 pkgdatadir. This is reported by Roger Leigh.
40701
40702 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
40703 (host_vendor): Likewise.
40704 (host_os): Likewise.
40705 (pkgdatadir): Likewise.
40706 (platform): New variable.
40707 (pkglibdir): Likewise.
40708 Use PKGLIBDIR instead of PKGDATADIR.
40709
40710 * util/i386/pc/grub-install.in (datadir): Removed.
40711 (host_vendor): Likewise.
40712 (host_os): Likewise.
40713 (pkgdatadir): Likewise.
40714 (platform): New variable.
40715 (pkglibdir): Likewise.
40716 Use PKGLIBDIR instead of PKGDATADIR.
40717
40718 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
40719 instead of GRUB_DATADIR.
40720 (main): Likewise.
40721 * util/i386/pc/grub-mkimage.c (usage): Likewise.
40722 (main): Likewise.
40723 * util/i386/efi/grub-mkimage.c (usage): Likewise.
40724 (main): Likewise.
40725
40726 * configure.ac (--with-platform): New option.
40727 Use PLATFORM instead of HOST_VENDOR to specify a platform.
40728
40729 * Makefile.in: Include a makefile based on PLATFORM instead of
40730 HOST_VENDOR.
40731 (pkgdatadir): Not appended by the machine type.
40732 (pkglibdir): Appended by the machine type.
40733 (host_vendor): Removed.
40734 (platform): New variable.
40735 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
40736 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
40737 (uninstall): Likewise.
40738
40739 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
40740
40741 Use the environment context in the menu. Remove the commands
40742 "default" and "timeout", and use variables instead.
40743
40744 * normal/menu.c: Include grub/env.h.
40745 (print_entry): Cast TITLE to silence gcc.
40746 (get_timeout): New function.
40747 (set_timeout): Likewise.
40748 (get_entry_number): Likewise.
40749 (run_menu): Use a default entry, a fallback entry and a timeout
40750 in the environment variables "default", "fallback" and
40751 "timeout". Also, tweak the default entry if it is not within the
40752 current menu entries.
40753 (grub_menu_run): Use a fallback entry in the environment variable
40754 "fallback".
40755
40756 * normal/main.c (read_config_file): Do not initialize
40757 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
40758 NEWMENU->TIMEOUT.
40759 (grub_normal_execute): Use a data slot to store the menu.
40760
40761 * include/grub/normal.h (struct grub_menu): Removed default_entry,
40762 fallback_entry and timeout.
40763 (struct grub_menu_list): Removed.
40764 (grub_menu_list_t): Likewise.
40765 (struct grub_context): Likewise.
40766 (grub_context_t): Likewise.
40767 (grub_context_get): Likewise.
40768 (grub_context_get_current_menu): Likewise.
40769 (grub_context_push_menu): Likewise.
40770 (grub_context_pop_menu): Likewise.
40771 (grub_default_init): Likewise.
40772 (grub_default_fini): Likewise.
40773 (grub_timeout_init): Likewise.
40774 (grub_timeout_fini): Likewise.
40775
40776 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
40777 and timeout.mod.
40778 (normal_mod_SOURCES): Removed normal/context.c.
40779
40780 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
40781 commands/default.c, commands/timeout.c and normal/context.c.
40782 (normal_mod_SOURCES): Removed normal/context.c.
40783
40784 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
40785 commands/timeout.c and normal/context.c.
40786 (normal_mod_SOURCES): Removed normal/context.c.
40787
40788 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
40789 commands/default.c, commands/timeout.c and normal/context.c.
40790 (normal_mod_SOURCES): Removed normal/context.c.
40791
40792 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
40793 timeout.mod.
40794 (default_mod_SOURCES): Removed.
40795 (default_mod_CFLAGS): Likewise.
40796 (default_mod_LDFLAGS): Likewise.
40797 (timeout_mod_SOURCES): Removed.
40798 (timeout_mod_CFLAGS): Likewise.
40799 (timeout_mod_LDFLAGS): Likewise.
40800
40801 * DISTLIST: Removed commands/default.c, commands/timeout.c and
40802 normal/context.c.
40803
40804 * commands/default.c: Removed.
40805 * commands/timeout.c: Likewise.
40806 * normal/context.c: Likewise.
40807
40808 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
40809
40810 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
40811
40812 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
40813
40814 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
40815 "next" to "prev" for readability.
40816 (struct grub_env_sorted_var): New struct.
40817 (grub_env_context): Renamed to ...
40818 (initial_context): ... this.
40819 (grub_env_var_context): Renamed to ...
40820 (current_context): ... this.
40821 (grub_env_find): Look only at CURRENT_CONTEXT.
40822 (grub_env_context_open): Rewritten to copy exported variables from
40823 previous context.
40824 (grub_env_context_close): Rewritten according to the new
40825 scheme. Also, add an assertion to prevent the initial context from
40826 removed.
40827 (grub_env_insert): Removed the code for the sorted list.
40828 (grub_env_remove): Likewise.
40829 (grub_env_export): Simply mark the variable with
40830 GRUB_ENV_VAR_GLOBAL.
40831 (grub_env_set): A cosmetic change for naming consistency.
40832 (grub_env_get): Likewise.
40833 (grub_env_unset): Likewise.
40834 (grub_env_iterate): Rewritten to sort variables within this
40835 function.
40836 (grub_register_variable_hook): Fixed for naming consistency. Call
40837 grub_env_find again, only if NAME is not found at the first time.
40838 (mangle_data_slot_name): New function.
40839 (grub_env_set_data_slot): Likewise.
40840 (grub_env_get_data_slot): Likewise.
40841 (grub_env_unset_data_slot): Likewise.
40842
40843 * include/grub/env.h (grub_env_var_type): New enum.
40844 (GRUB_ENV_VAR_LOCAL): New constant.
40845 (GRUB_ENV_VAR_GLOBAL): Likewise.
40846 (GRUB_ENV_VAR_DATA): Likewise.
40847 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
40848 "type".
40849 (grub_env_set): Replace VAR with NAME for consistency.
40850 (grub_register_variable_hook): Likewise.
40851 (grub_env_export): Specify the name of the argument.
40852 (grub_env_set_data_slot): New prototype.
40853 (grub_env_get_data_slot): Likewise.
40854 (grub_env_unset_data_slot): Likewise.
40855
40856 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
40857
40858 Extend the loader so that GRUB can accept a loader which comes
40859 back to GRUB when a loaded image exits. Also, this change adds
40860 support for a chainloader on EFI.
40861
40862 * term/efi/console.c: Include grub/misc.h.
40863 (grub_console_checkkey): Display a scan code on the top for
40864 debugging. This will be removed once the EFI port gets stable.
40865 Correct the scan code mapping.
40866
40867 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
40868 allocate memory from larger regions, in order to reduce the number
40869 of allocated regions. Otherwise, the MacOSX loader panics.
40870 (filter_memory_map): Avoid less than 1MB for compatibility with
40871 other loaders.
40872 (add_memory_regions): Allocate from the tail of a region, if
40873 possible, to avoid allocating a region near to 1MB, for the MacOSX
40874 loader.
40875
40876 * kern/efi/init.c (grub_efi_set_prefix): Specify
40877 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
40878
40879 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
40880 argument IMAGE_HANDLE and specify it to get a loaded image.
40881 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
40882 grub_efi_get_loaded_image.
40883 (grub_efi_get_filename): Divide the length by the size of
40884 grub_efi_char16_t.
40885 (grub_efi_get_device_path): New function.
40886 (grub_efi_print_device_path): Print End Device Path nodes. Divide
40887 the length by the size of grub_efi_char16_t for a file path device
40888 path node.
40889
40890 * kern/loader.c (grub_loader_noreturn): New variable.
40891 (grub_loader_set): Accept a new argument NORETURN. Set
40892 GRUB_LOADER_NORETURN to NORETURN.
40893 All callers changed.
40894 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
40895 grub_machine_fini.
40896
40897 * include/grub/efi/efi.h (grub_efi_get_device_path): New
40898 prototype.
40899 (grub_efi_get_loaded_image): Take an argument to specify an image
40900 handle.
40901
40902 * include/grub/loader.h (grub_loader_set): Added one more argument
40903 NORETURN.
40904
40905 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
40906 instead of grub_efi_open_protocol.
40907 (grub_efidisk_get_device_name): Likewise.
40908 (grub_efidisk_close): Print a newline.
40909 (grub_efidisk_get_device_handle): Fixed to use
40910 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
40911 GRUB_EFI_DEVICE_PATH_TYPE.
40912
40913 * disk/efi/efidisk.c (device_path_guid): Moved to ...
40914 * kern/efi/efi.c (device_path_guid): ... here.
40915
40916 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
40917 chain.mod.
40918 (kernel_mod_HEADERS): Added efi/disk.h.
40919 (_chain_mod_SOURCES): New variable.
40920 (_chain_mod_CFLAGS): Likewise.
40921 (_chain_mod_LDFLAGS): Likewise.
40922 (chain_mod_SOURCES): Likewise.
40923 (chain_mod_CFLAGS): Likewise.
40924 (chain_mod_LDFLAGS): Likewise.
40925
40926 * DISTLIST: Added include/grub/efi/chainloader.h,
40927 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
40928
40929 * include/grub/efi/chainloader.h: New file.
40930 * loader/efi/chainloader.c: Likewise.
40931 * loader/efi/chainloader_normal.c: Likewise.
40932
40933 2006-04-30 Marco Gerards <marco@gnu.org>
40934
40935 * commands/configfile.c (grub_cmd_source): New function.
40936 (GRUB_MOD_INIT): Register the commands `source' and `.'.
40937 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
40938
40939 2006-04-30 Marco Gerards <marco@gnu.org>
40940
40941 * normal/execute.c (grub_script_execute_cmd): Change the return
40942 type to `grub_err_t'. Correctly return the error.
40943 (grub_script_execute_cmdline): In case a command line is not a
40944 command or a function, try to interpret it as an assignment.
40945
40946 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
40947
40948 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
40949 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
40950 skip a node whose name is obviously invalid as UTF-16,
40951 i.e. contains a NUL character. Stop the iteration when the last
40952 directory entry is found. Instead of using the return value of
40953 grub_hfsplus_btree_iterate_node, store the value in RET and use
40954 it, because the iterator can be stopped by the last directory
40955 entry.
40956
40957 2006-04-30 Marco Gerards <marco@gnu.org>
40958
40959 * include/grub/env.h (grub_env_export): New prototype. Reported
40960 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
40961
40962 2006-04-30 Marco Gerards <marco@gnu.org>
40963
40964 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
40965 size of the extents in a catalog file record.
40966
40967 2006-04-29 Marco Gerards <marco@gnu.org>
40968
40969 * commands/configfile.c (grub_cmd_configfile): Execute the
40970 configfile within its own context.
40971
40972 * include/grub/env.h (grub_env_context_open): New prototype.
40973 (grub_env_context_close): Likewise.
40974
40975 * kern/env.c (grub_env): Removed.
40976 (grub_env_sorted): Likewise.
40977 (grub_env_context): New variable.
40978 (grub_env_var_context): Likewise.
40979 (grub_env_find): Search both the active context and the global
40980 context.
40981 (grub_env_context_open): New function.
40982 (grub_env_context_close): Likewise.
40983 (grub_env_insert): Likewise.
40984 (grub_env_remove): Likewise.
40985 (grub_env_export): Likewise.
40986 (grub_env_set): Changed to use helper functions to avoid code
40987 duplication.
40988 (grub_env_iterate): Rewritten so both the current context and the
40989 global context are being used.
40990
40991 * normal/command.c (export_command): New function.
40992 (grub_command_init): Register the `export' function.
40993
40994 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
40995
40996 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
40997 explicitly to suppress gcc's warnings.
40998 * fs/fat.c (grub_fat_find_dir): Likewise.
40999 (grub_fat_label): Likewise.
41000 * fs/xfs.c (grub_xfs_read_inode): Likewise.
41001 (grub_xfs_mount): Likewise.
41002 (grub_xfs_label): Likewise.
41003 * fs/affs.c (grub_affs_mount): Likewise.
41004 (grub_affs_label): Likewise.
41005 (grub_affs_iterate_dir): Likewise.
41006 * fs/sfs.c (grub_sfs_mount): Likewise.
41007 (grub_sfs_iterate_dir): Likewise.
41008 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
41009 * fs/hfs.c (grub_hfs_mount): Likewise.
41010 (grub_hfs_cmp_catkeys): Likewise.
41011 (grub_hfs_find_dir): Likewise.
41012 (grub_hfs_dir): Likewise.
41013 (grub_hfs_label): Likewise.
41014 * fs/jfs.c (grub_jfs_mount): Likewise.
41015 (grub_jfs_opendir): Likewise.
41016 (grub_jfs_getent): Likewise.
41017 (grub_jfs_lookup_symlink): Likewise.
41018 (grub_jfs_label): Likewise.
41019 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
41020 (grub_hfsplus_iterate_dir): Likewise.
41021 (grub_hfsplus_btree_iterate_node): Made static.
41022
41023 * util/grub-emu.c (prefix): New variable.
41024 (grub_machine_set_prefix): New function.
41025 (main): Do not set the environment variable "prefix" here. Only
41026 set PREFIX, which is used later by grub_machine_set_prefix.
41027
41028 * include/grub/video.h: Do not include grub/symbol.h.
41029 (grub_video_register): Not exported. This symbol is not defined in
41030 the kernel.
41031 (grub_video_unregister): Likewise.
41032 (grub_video_iterate): Likewise.
41033 (grub_video_setup): Likewise.
41034 (grub_video_restore): Likewise.
41035 (grub_video_get_info): Likewise.
41036 (grub_video_get_blit_format): Likewise.
41037 (grub_video_set_palette): Likewise.
41038 (grub_video_get_palette): Likewise.
41039 (grub_video_set_viewport): Likewise.
41040 (grub_video_get_viewport): Likewise.
41041 (grub_video_map_color): Likewise.
41042 (grub_video_map_rgb): Likewise.
41043 (grub_video_map_rgba): Likewise.
41044 (grub_video_fill_rect): Likewise.
41045 (grub_video_blit_glyph): Likewise.
41046 (grub_video_blit_bitmap): Likewise.
41047 (grub_video_blit_render_target): Likewise.
41048 (grub_video_scroll): Likewise.
41049 (grub_video_swap_buffers): Likewise.
41050 (grub_video_create_render_target): Likewise.
41051 (grub_video_delete_render_target): Likewise.
41052 (grub_video_set_active_render_target): Likewise.
41053
41054 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
41055 Undefined.
41056 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
41057
41058 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
41059 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41060 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41061 instead of $(srcdir)/genkernsyms.sh.
41062
41063 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
41064 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41065 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41066 instead of $(srcdir)/genkernsyms.sh.
41067
41068 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
41069 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41070 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41071 instead of $(srcdir)/genkernsyms.sh.
41072
41073 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
41074 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41075 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41076 instead of $(srcdir)/genkernsyms.sh.
41077
41078 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
41079 genkernsyms.sh.
41080
41081 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
41082 genkernsyms.sh.
41083 (gensymlist.sh): New target.
41084 (genkernsyms.sh): Likewise.
41085
41086 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
41087 genkernsyms.sh.in and gensymlist.sh.in.
41088
41089 * genkernsyms.sh: Removed.
41090 * gensymlist.sh: Likewise.
41091
41092 * genkernsyms.sh.in: New file.
41093 * gensymlist.sh.in: Likewise.
41094
41095 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
41096
41097 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
41098 clobber "prefix", since we may have already set it manually.
41099
41100 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
41101
41102 * kern/misc.c (abort): New alias for grub_abort.
41103
41104 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
41105
41106 A new machine-specific function "grub_machine_set_prefix" is
41107 defined. This is called after loading modules, so that a prefix
41108 initialization can use modules. Also, this change adds an
41109 intensive debugging feature for the memory manager via the
41110 configure option "--enable-mm-debug".
41111
41112 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
41113 PART.LEN.
41114
41115 * kern/sparc64/ieee1275/init.c (abort): Removed.
41116 (grub_stop): Likewise.
41117 (grub_exit): New function.
41118 (grub_set_prefix): Renamed to ...
41119 (grub_machine_set_prefix): ... this.
41120 (grub_machine_init): Do not call grub_set_prefix.
41121
41122 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
41123 (grub_machine_set_prefix): ... this.
41124 (grub_machine_init): Do not call grub_set_prefix.
41125
41126 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
41127 (grub_machine_init): Do not set the prefix here.
41128
41129 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
41130
41131 * kern/efi/init.c: Include grub/mm.h.
41132 (grub_efi_set_prefix): New function.
41133
41134 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
41135 (grub_efi_get_filename): New function.
41136 (grub_print_device_path): Renamed to ...
41137 (grub_efi_print_device_path): ... this.
41138
41139 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
41140 [MM_DEBUG] (grub_realloc): Likewise.
41141 [MM_DEBUG] (grub_free): Likewise.
41142 [MM_DEBUG] (grub_memalign): Likewise.
41143 [MM_DEBUG] (grub_mm_debug): New variable.
41144 [MM_DEBUG] (grub_debug_malloc): New function.
41145 [MM_DEBUG] (grub_debug_free): New function.
41146 [MM_DEBUG] (grub_debug_realloc): New function.
41147 [MM_DEBUG] (grub_debug_memalign): New function.
41148
41149 * kern/misc.c (grub_abort): Print a newline to distinguish
41150 the message.
41151
41152 * kern/main.c (grub_main): Call grub_machine_set_prefix and
41153 grub_set_root_dev after loading modules. This is necessary when
41154 setting a prefix depends on modules.
41155
41156 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
41157 (grub_efi_print_device_path): ... this.
41158 (grub_efi_get_filename): New prototype.
41159 (grub_efi_set_prefix): Likewise.
41160
41161 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
41162 and grub/disk.h.
41163 (grub_efidisk_get_device_handle): New prototype.
41164 (grub_efidisk_get_device_name): Likewise.
41165
41166 * include/grub/mm.h: Include config.h.
41167 (MM_DEBUG): Removed.
41168 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
41169 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
41170 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
41171 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
41172 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
41173 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
41174 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
41175 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
41176 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
41177
41178 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
41179
41180 * disk/efi/efidisk.c: Include grub/partition.h.
41181 (iterate_child_devices): New function.
41182 (add_device): First, compare only last device path nodes, so that
41183 devices are sorted by the types.
41184 (grub_efidisk_get_device_handle): New function.
41185 (grub_efidisk_get_device_name): Likewise.
41186
41187 * configure.ac (--enable-mm-debug): New option to enable the
41188 memory manager debugging feature. This makes the binary much
41189 bigger, so is disabled by default.
41190
41191 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
41192
41193 Use grub_abort instead of grub_stop, and grub_exit must be
41194 define in each architecture now. Also, this change adds support
41195 for EFI disks.
41196
41197 * util/i386/pc/grub-probefs.c: Include grub/term.h.
41198 (grub_getkey): New function.
41199 (grub_term_get_current): Likewise.
41200
41201 * util/i386/pc/grub-setup.c: Include grub/term.h.
41202 (grub_getkey): New function.
41203 (grub_term_get_current): Likewise.
41204
41205 * util/misc.c (grub_stop): Renamed to ...
41206 (grub_exit): ... this.
41207
41208 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
41209 (grub_exit): ... this.
41210 (grub_machine_init): Use grub_abort instead of abort.
41211 (grub_stop): Removed.
41212
41213 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
41214 abort.
41215
41216 * kern/i386/pc/startup.S (grub_exit): New function.
41217 (cold_reboot): New label.
41218
41219 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
41220 (grub_efi_init): Call grub_efidisk_init.
41221 (grub_efi_fini): Call grub_efidisk_fini.
41222
41223 * kern/efi/efi.c: Include grub/mm.h.
41224 (grub_efi_console_control_guid): Renamed to ...
41225 (console_control_guid): ... this.
41226 (grub_efi_loaded_image_guid): Renamed to ...
41227 (loaded_image_guid): ... this.
41228 (grub_efi_locate_handle): New function.
41229 (grub_efi_open_protocol): Likewise.
41230 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
41231 GRUB_EFI_CONSOLE_CONTROL_GUID.
41232 (grub_efi_exit): Removed.
41233 (grub_stop): Likewise.
41234 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
41235 (grub_exit): New function.
41236 (grub_print_device_path): Likewise.
41237
41238 * kern/rescue.c (grub_rescue_cmd_exit): New function.
41239 (grub_enter_rescue_mode): Register "exit".
41240
41241 * kern/misc.c (grub_real_dprintf): A cosmetic change.
41242 (grub_abort): New function.
41243
41244 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
41245
41246 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
41247
41248 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
41249
41250 * include/grub/efi/efi.h (grub_efi_exit): Removed.
41251 (grub_print_device_path): New prototype.
41252 (grub_efi_locate_handle): Likewise.
41253 (grub_efi_open_protocol): Likewise.
41254
41255 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
41256 * disk/efi/efidisk.c: Likewise.
41257
41258 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
41259
41260 * include/grub/efi/console_control.h
41261 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
41262
41263 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
41264 last 8 bytes as an array.
41265 (GRUB_EFI_DISK_IO_GUID): New macro.
41266 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
41267 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
41268 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
41269 grub_uint8_t.
41270 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
41271 (struct grub_efi_device_path): Rename the member "sub_type" to
41272 "subtype".
41273 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
41274 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
41275 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
41276 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
41277 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
41278 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
41279 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
41280 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
41281 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
41282 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
41283 (struct grub_efi_pci_device_path): New structure.
41284 (grub_efi_pci_device_path_t): New type.
41285 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
41286 (struct grub_efi_pccard_device_path): New structure.
41287 (grub_efi_pccard_device_path_t): New type.
41288 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
41289 (struct grub_efi_memory_mapped_device_path): New structure.
41290 (grub_efi_memory_mapped_device_path_t): New type.
41291 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
41292 (struct grub_efi_vendor_device_path): New structure.
41293 (grub_efi_vendor_device_path_t): New type.
41294 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
41295 (struct grub_efi_controller_device_path): New structure.
41296 (grub_efi_controller_device_path_t): New type.
41297 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
41298 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
41299 (struct grub_efi_acpi_device_path): New structure.
41300 (grub_efi_acpi_device_path_t): New type.
41301 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
41302 (struct grub_efi_expanded_acpi_device_path): New structure.
41303 (grub_efi_expanded_acpi_device_path_t): New type.
41304 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
41305 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
41306 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
41307 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
41308 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
41309 (struct grub_efi_atapi_device_path): New structure.
41310 (grub_efi_atapi_device_path_t): New type.
41311 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
41312 (struct grub_efi_fibre_channel_device_path): New structure.
41313 (grub_efi_fibre_channel_device_path_t): New type.
41314 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
41315 (struct grub_efi_1394_device_path): New structure.
41316 (grub_efi_1394_device_path_t): New type.
41317 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
41318 (struct grub_efi_usb_device_path): New structure.
41319 (grub_efi_usb_device_path_t): New type.
41320 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
41321 (struct grub_efi_usb_class_device_path): New structure.
41322 (grub_efi_usb_class_device_path_t): New type.
41323 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
41324 (struct grub_efi_i2o_device_path): New structure.
41325 (grub_efi_i2o_device_path_t): New type.
41326 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
41327 (struct grub_efi_mac_address_device_path): New structure.
41328 (grub_efi_mac_address_device_path_t): New type.
41329 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
41330 (struct grub_efi_ipv4_device_path): New structure.
41331 (grub_efi_ipv4_device_path_t): New type.
41332 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
41333 (struct grub_efi_ipv6_device_path): New structure.
41334 (grub_efi_ipv6_device_path_t): New type.
41335 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
41336 (struct grub_efi_infiniband_device_path): New structure.
41337 (grub_efi_infiniband_device_path_t): New type.
41338 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
41339 (struct grub_efi_uart_device_path): New structure.
41340 (grub_efi_uart_device_path_t): New type.
41341 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
41342 (struct grub_efi_vendor_messaging_device_path): New structure.
41343 (grub_efi_vendor_messaging_device_path_t): New type.
41344 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
41345 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
41346 (struct grub_efi_hard_drive_device_path): New structure.
41347 (grub_efi_hard_drive_device_path_t): New type.
41348 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
41349 (struct grub_efi_cdrom_device_path): New structure.
41350 (grub_efi_cdrom_device_path_t): New type.
41351 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
41352 (struct grub_efi_vendor_media_device_path): New structure.
41353 (grub_efi_vendor_media_device_path_t): New type.
41354 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
41355 (struct grub_efi_file_path_device_path): New structure.
41356 (grub_efi_file_path_device_path_t): New type.
41357 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
41358 (struct grub_efi_protocol_device_path): New structure.
41359 (grub_efi_protocol_device_path_t): New type.
41360 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
41361 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
41362 (struct grub_efi_bios_device_path): New structure.
41363 (grub_efi_bios_device_path_t): New type.
41364 (struct grub_efi_disk_io): New structure.
41365 (grub_efi_disk_io_t): New type.
41366 (struct grub_efi_block_io_media): New structure.
41367 (grub_efi_block_io_media_t): New type.
41368 (struct grub_efi_block_io): New structure.
41369 (grub_efi_block_io_t): New type.
41370
41371 * include/grub/misc.h (grub_stop): Removed.
41372 (grub_exit): New prototype.
41373 (grub_abort): Likewise.
41374
41375 * include/grub/disk.h (enum grub_disk_dev_id): Added
41376 GRUB_DISK_DEVICE_EFIDISK_ID.
41377
41378 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
41379 disk/efi/efidisk.c.
41380 (kernel_syms.lst): Remove the target if an error occurs.
41381
41382 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
41383
41384 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
41385 as it was simply too buggy.
41386
41387 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
41388
41389 * kern/misc.c (grub_lltoa): New function.
41390 (grub_vsprintf): Added support for the long long suffix,
41391 i.e. "ll".
41392
41393 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
41394
41395 * Makefile.in (LDFLAGS): Add variable.
41396 (LD): Remove variable.
41397 * configure.ac: Add -m32 to LDFLAGS.
41398 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
41399 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
41400 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
41401 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
41402 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
41403 variables.
41404 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
41405 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
41406 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
41407
41408 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
41409
41410 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
41411 length for unknown glyph.
41412
41413 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
41414
41415 Add support for pre-loaded modules into the EFI port.
41416
41417 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
41418 completely. Accept one more argument DIR. The caller has changed.
41419
41420 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
41421
41422 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
41423 (grub_efi_loaded_image_guid): New variable.
41424 (grub_efi_get_loaded_image): New function.
41425 (grub_arch_modules_addr): Likewise.
41426
41427 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
41428 prototype.
41429
41430 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
41431 (struct grub_efi_loaded_image): New structure.
41432 (grub_efi_loaded_image_t): New type.
41433
41434 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
41435
41436 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
41437 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
41438 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
41439
41440 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
41441
41442 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
41443
41444 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
41445
41446 * DISTLIST: Added include/grub/efi/console.h,
41447 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
41448 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
41449
41450 * include/grub/efi/console.h: New file.
41451 * include/grub/efi/time.h: Likewise.
41452 * include/grub/i386/efi/kernel.h: Likewise.
41453 * kern/efi/init.c: Likewise.
41454 * kern/efi/mm.c: Likewise.
41455 * term/efi/console.c: Likewise.
41456
41457 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
41458 (grub_stop): Removed.
41459 (grub_get_rtc): Likewise.
41460 (grub_machine_init): Simply call grub_efi_init.
41461 (grub_machine_fini): Call grub_efi_fini.
41462
41463 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
41464 (grub_efi_output_string): Removed.
41465 (grub_efi_stall): New function.
41466 (grub_stop): Likewise.
41467 (grub_get_rtc): Likewise.
41468
41469 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
41470 (grub_efi_stall): New prototype.
41471 (grub_efi_allocate_pages): Likewise.
41472 (grub_efi_free_pages): Likewise.
41473 (grub_efi_get_memory_map): Likewise.
41474 (grub_efi_mm_init): Likewise.
41475 (grub_efi_mm_fini): Likewise.
41476 (grub_efi_init): Likewise.
41477 (grub_efi_fini): Likewise.
41478
41479 * include/grub/i386/efi/time.h: Do not include
41480 grub/symbol.h. Include grub/efi/time.h.
41481 (GRUB_TICKS_PER_SECOND): Removed.
41482 (grub_get_rtc): Likewise.
41483
41484 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
41485 Added padding. The EFI spec is buggy.
41486 (GRUB_EFI_BLACK): New macro.
41487 (GRUB_EFI_BLUE): Likewise.
41488 (GRUB_EFI_GREEN): Likewise.
41489 (GRUB_EFI_CYAN): Likewise.
41490 (GRUB_EFI_RED): Likewise.
41491 (GRUB_EFI_MAGENTA): Likewise.
41492 (GRUB_EFI_BROWN): Likewise.
41493 (GRUB_EFI_LIGHTGRAY): Likewise.
41494 (GRUB_EFI_BRIGHT): Likewise.
41495 (GRUB_EFI_DARKGRAY): Likewise.
41496 (GRUB_EFI_LIGHTBLUE): Likewise.
41497 (GRUB_EFI_LIGHTGREEN): Likewise.
41498 (GRUB_EFI_LIGHTCYAN): Likewise.
41499 (GRUB_EFI_LIGHTRED): Likewise.
41500 (GRUB_EFI_LIGHTMAGENTA): Likewise.
41501 (GRUB_EFI_YELLOW): Likewise.
41502 (GRUB_EFI_WHITE): Likewise.
41503 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
41504 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
41505 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
41506 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
41507 (GRUB_EFI_BACKGROUND_RED): Likewise.
41508 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
41509 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
41510 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
41511 (GRUB_EFI_TEXT_ATTR): Likewise.
41512
41513 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
41514 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
41515 (kernel_mod_HEADERS): Added efi/time.h.
41516
41517 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
41518
41519 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
41520 include/grub/efi/api.h, include/grub/efi/console_control.h,
41521 include/grub/efi/efi.h, include/grub/efi/pe32.h,
41522 include/grub/i386/efi/time.h, kern/efi/efi.c,
41523 kern/i386/efi/init.c, kern/i386/efi/startup.S,
41524 and util/i386/efi/grub-mkimage.c.
41525
41526 * Makefile.in (RMKFILES): Added i386-efi.rmk.
41527
41528 * genmk.rb (PModule#rule): Do not export symbols if
41529 #{prefix}_EXPORTS is set to "no".
41530
41531 * conf/i386-efi.mk: New file.
41532 * conf/i386-efi.rmk: Likewise.
41533 * include/grub/efi/api.h: Likewise.
41534 * include/grub/efi/console_control.h: Likewise.
41535 * include/grub/efi/efi.h: Likewise.
41536 * include/grub/efi/pe32.h: Likewise.
41537 * include/grub/i386/efi/time.h: Likewise.
41538 * kern/efi/efi.c: Likewise.
41539 * kern/i386/efi/init.c: Likewise.
41540 * kern/i386/efi/startup.S: Likewise.
41541 * util/i386/efi/grub-mkimage.c: Likewise.
41542
41543 2006-04-17 Marco Gerards <marco@gnu.org>
41544
41545 * include/grub/script.h: Include <grub/parser.h> and
41546 "grub_script.tab.h".
41547 (struct grub_lexer_param): New struct.
41548 (struct grub_parser_param): Likewise.
41549 (grub_script_create_arglist): Pass the state in an argument.
41550 (grub_script_add_arglist): Likewise.
41551 (grub_script_create_cmdline): Likewise.
41552 (grub_script_create_cmdblock): Likewise.
41553 (grub_script_create_cmdif): Likewise.
41554 (grub_script_create_cmdmenu): Likewise.
41555 (grub_script_add_cmd): Likewise.
41556 (grub_script_arg_add): Likewise.
41557 (grub_script_lexer_ref): Likewise.
41558 (grub_script_lexer_deref): Likewise.
41559 (grub_script_lexer_record_start): Likewise.
41560 (grub_script_lexer_record_stop): Likewise.
41561 (grub_script_mem_record): Likewise.
41562 (grub_script_mem_record_stop): Likewise.
41563 (grub_script_malloc): Likewise.
41564 (grub_script_yylex): Likewise.
41565 (grub_script_yyparse): Likewise.
41566 (grub_script_yyerror): Likewise.
41567 (grub_script_yylex): Likewise.
41568 (grub_script_lexer_init): Return the state.
41569
41570 * normal/lexer.c (grub_script_lexer_state): Removed variable.
41571 (grub_script_lexer_done): Likewise.
41572 (grub_script_lexer_getline): Likewise.
41573 (grub_script_lexer_refs): Likewise.
41574 (script): Likewise.
41575 (newscript): Likewise.
41576 (record): Likewise.
41577 (recording): Likewise.
41578 (recordpos): Likewise.
41579 (recordlen): Likewise.
41580 (grub_script_lexer_init): Return the state instead of setting
41581 global variables.
41582 (grub_script_lexer_ref): Use the newly added argument for state
41583 instead of globals.
41584 (grub_script_lexer_deref): Likewise.
41585 (grub_script_lexer_record_start): Likewise.
41586 (grub_script_lexer_record_stop): Likewise.
41587 (recordchar): Likewise.
41588 (nextchar): Likewise.
41589 (grub_script_yylex2): Likewise.
41590 (grub_script_yylex): Likewise.
41591 (grub_script_yyerror): Likewise.
41592
41593 * normal/parser.y (func_mem): Removed variable.
41594 (menu_entry): Likewise.
41595 (err): Likewise.
41596 (%lex-param): New parser option.
41597 (%parse-param): Likewise.
41598 (script): Always return the AST.
41599 (argument): Pass the state around.
41600 (arguments): Likewise.
41601 (grubcmd): Likewise.
41602 (commands): Likewise.
41603 (function): Likewise.
41604 (menuentry): Likewise.
41605 (if_statement): Likewise.
41606 (if): Likewise.
41607
41608 * normal/script.c (grub_script_memused): Removed variable.
41609 (grub_script_parsed): Likewise.
41610 (grub_script_malloc): Added a state argument. Use that instead of
41611 global variables.
41612 (grub_script_mem_record): Likewise.
41613 (grub_script_mem_record_stop): Likewise.
41614 (grub_script_arg_add): Likewise.
41615 (grub_script_add_arglist): Likewise.
41616 (grub_script_create_cmdline): Likewise.
41617 (grub_script_create_cmdif): Likewise.
41618 (grub_script_create_cmdmenu): Likewise.
41619 (grub_script_add_cmd): Likewise.
41620 (grub_script_parse): Setup the state before calling the parser.
41621
41622 2006-04-16 Marco Gerards <marco@gnu.org>
41623
41624 * normal/command.c (grub_command_init): Remove the title command.
41625
41626 * normal/lexer.c (grub_script_yylex): Renamed from this...
41627 (grub_script_yylex2): ... to this.
41628 (grub_script_yylex): New function. Temporary
41629 introduced to filter some tokens.
41630 (grub_script_yyerror): Print a newline.
41631
41632 * normal/main.c (read_config_file): Output information about the
41633 lines that contain errors. Wait for a key after all lines have
41634 been processed. Don't return an empty menu.
41635
41636 * normal/parser.y (func_mem): Don't initialize.
41637 (menu_entry): Likewise.
41638 (err): New variable.
41639 (script): Don't return anything when an error was encountered.
41640 (ws, returns): Removed rules.
41641 (argument): Disabled concatenated variable support.
41642 (arguments): Remove explicit separators.
41643 (grubcmd): Likewise.
41644 (function): Likewise.
41645 (menuentry): Likewise.
41646 (if): Likewise.
41647 (commands): Likewise. Add error handling.
41648
41649 * normal/script.c (grub_script_create_cmdline): If
41650 `grub_script_parsed' is 0, assume the parser encountered an error.
41651
41652 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
41653
41654 * configure.ac: Add support for EFI. Fix the typo
41655 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
41656
41657 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
41658
41659 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
41660 foreign multibyte characters should be shown correctly.
41661
41662 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
41663
41664 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
41665 calculation.
41666 (read_config_file): Made it to close file before returning.
41667
41668 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
41669
41670 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
41671 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
41672 video/i386/pc/vbefill.c.
41673
41674 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
41675 video/i386/pc/vbefill.c.
41676
41677 * include/grub/video.h (grub_video_blit_format): New enum.
41678 (grub_video_mode_info): Added new member blit_format.
41679 (grub_video_get_blit_format): New function prototype.
41680
41681 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
41682 function prototype.
41683 (grub_video_vbe_map_rgb): Likewise.
41684 (grub_video_vbe_unmap_color): Likewise.
41685
41686 * include/grub/i386/pc/vbeblit.h: New file.
41687
41688 * include/grub/i386/pc/vbefill.h: New file.
41689
41690 * video/video.c (grub_video_get_blit_format): New function.
41691 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
41692 (grub_video_vbe_map_rgb): Likewise.
41693 (grub_video_vbe_unmap_color): Likewise.
41694
41695 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
41696 optimized fills.
41697 (grub_video_vbe_blit_render_target): Changed to use more optimized
41698 blits.
41699 (grub_video_vbe_setup): Added detection for optimized settings.
41700 (grub_video_vbe_create_render_target): Likewise.
41701
41702 * video/i386/pc/vbeblit.c: New file.
41703
41704 * video/i386/pc/vbefill.c: New file.
41705
41706 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
41707
41708 * font/manager.c (grub_font_get_glyph): Removed font fixup from
41709 here...
41710
41711 * util/unifont2pff.rb: ... and moved it to here. Improved argument
41712 parsing to support both hex and dec ranges. If filename was missing
41713 show usage information.
41714
41715 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
41716
41717 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
41718 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
41719
41720 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
41721 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
41722 (video_mod_SOURCES): Added.
41723 (video_mod_CFLAGS): Likewise.
41724 (video_mod_LDFLAGS): Likewise.
41725 (gfxterm_mod_SOURCES): Likewise.
41726 (gfxterm_mod_CFLAGS): Likewise.
41727 (gfxterm_mod_LDFLAGS): Likewise.
41728 (videotest_mod_SOURCES): Likewise.
41729 (videotest_mod_CFLAGS): Likewise.
41730 (videotest_mod_LDFLAGS): Likewise.
41731 (vesafb_mod_SOURCES): Removed.
41732 (vesafb_mod_CFLAGS): Likewise.
41733 (vesafb_mod_LDFLAGS): Likewise.
41734 (vga_mod_SOURCES): Likewise.
41735 (vga_mod_CFLAGS): Likewise.
41736 (vga_mod_LDFLAGS): Likewise.
41737
41738 * commands/videotest.c: New file.
41739
41740 * font/manager.c (fill_with_default_glyph): Modified to use
41741 grub_font_glyph.
41742 (grub_font_get_glyph): Likewise.
41743 (fontmanager): Renamed from this...
41744 (font_manager): ... to this.
41745
41746 * include/grub/font.h (grub_font_glyph): Added new structure.
41747 (grub_font_get_glyph): Modified to use grub_font_glyph.
41748
41749 * include/grub/misc.h (grub_abs): Added as inline function.
41750
41751 * include/grub/video.h: New file.
41752
41753 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
41754 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
41755 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
41756 (grub_vbe_get_controller_info): Renamed from this...
41757 (grub_vbe_bios_get_controller_info): ... to this.
41758 (grub_vbe_get_mode_info): Renamed from this...
41759 (grub_vbe_bios_get_mode_info): ... to this.
41760 (grub_vbe_set_mode): Renamed from this...
41761 (grub_vbe_bios_set_mode): ... to this.
41762 (grub_vbe_get_mode): Renamed from this...
41763 (grub_vbe_bios_get_mode): ... to this.
41764 (grub_vbe_set_memory_window): Renamed from this...
41765 (grub_vbe_bios_set_memory_window): ... to this.
41766 (grub_vbe_get_memory_window): Renamed from this...
41767 (grub_vbe_bios_get_memory_window): ... to this.
41768 (grub_vbe_set_scanline_length): Renamed from this...
41769 (grub_vbe_set_scanline_length): ... to this.
41770 (grub_vbe_get_scanline_length): Renamed from this...
41771 (grub_vbe_bios_get_scanline_length): ... to this.
41772 (grub_vbe_set_display_start): Renamed from this...
41773 (grub_vbe_bios_set_display_start): ... to this.
41774 (grub_vbe_get_display_start): Renamed from this...
41775 (grub_vbe_bios_get_display_start): ... to this.
41776 (grub_vbe_set_palette_data): Renamed from this...
41777 (grub_vbe_bios_set_palette_data): ... to this.
41778 (grub_vbe_set_pixel_rgb): Removed.
41779 (grub_vbe_set_pixel_index): Likewise.
41780
41781 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
41782 from this...
41783 (grub_vbe_bios_get_controller_info): ... to this.
41784 (grub_vbe_get_mode_info): Renamed from this...
41785 (grub_vbe_bios_get_mode_info): ... to this.
41786 (grub_vbe_set_mode): Renamed from this...
41787 (grub_vbe_bios_set_mode): ... to this.
41788 (grub_vbe_get_mode): Renamed from this...
41789 (grub_vbe_bios_get_mode): ... to this.
41790 (grub_vbe_set_memory_window): Renamed from this...
41791 (grub_vbe_bios_set_memory_window): ... to this.
41792 (grub_vbe_get_memory_window): Renamed from this...
41793 (grub_vbe_bios_get_memory_window): ... to this.
41794 (grub_vbe_set_scanline_length): Renamed from this...
41795 (grub_vbe_set_scanline_length): ... to this.
41796 (grub_vbe_get_scanline_length): Renamed from this...
41797 (grub_vbe_bios_get_scanline_length): ... to this.
41798 (grub_vbe_set_display_start): Renamed from this...
41799 (grub_vbe_bios_set_display_start): ... to this.
41800 (grub_vbe_get_display_start): Renamed from this...
41801 (grub_vbe_bios_get_display_start): ... to this.
41802 (grub_vbe_set_palette_data): Renamed from this...
41803 (grub_vbe_bios_set_palette_data): ... to this.
41804 (grub_vbe_bios_get_controller_info): Fixed problem with registers
41805 getting corrupted after calling it. Added more pushes and pops.
41806 (grub_vbe_bios_set_mode): Likewise.
41807 (grub_vbe_bios_get_mode): Likewise.
41808 (grub_vbe_bios_get_memory_window): Likewise.
41809 (grub_vbe_bios_set_scanline_length): Likewise.
41810 (grub_vbe_bios_get_scanline_length): Likewise.
41811 (grub_vbe_bios_get_display_start): Likewise.
41812 (grub_vbe_bios_set_palette_data): Likewise.
41813
41814 * normal/cmdline.c (cl_set_pos): Refresh the screen.
41815 (cl_insert): Likewise.
41816 (cl_delete): Likewise.
41817
41818 * term/gfxterm.c: New file.
41819
41820 * term/i386/pc/vesafb.c: Removed file.
41821
41822 * video/video.c: New file.
41823
41824 * video/i386/pc/vbe.c (real2pm): Added new function.
41825 (grub_video_vbe_draw_pixel): Likewise.
41826 (grub_video_vbe_get_video_ptr): Likewise.
41827 (grub_video_vbe_get_pixel): Likewise
41828 (grub_video_vbe_init): Likewise.
41829 (grub_video_vbe_fini): Likewise.
41830 (grub_video_vbe_setup): Likewise.
41831 (grub_video_vbe_get_info): Likewise.
41832 (grub_video_vbe_set_palette): Likewise.
41833 (grub_video_vbe_get_palette): Likewise.
41834 (grub_video_vbe_set_viewport): Likewise.
41835 (grub_video_vbe_get_viewport): Likewise.
41836 (grub_video_vbe_map_color): Likewise.
41837 (grub_video_vbe_map_rgb): Likewise.
41838 (grub_video_vbe_map_rgba): Likewise.
41839 (grub_video_vbe_unmap_color): Likewise.
41840 (grub_video_vbe_fill_rect): Likewise.
41841 (grub_video_vbe_blit_glyph): Likewise.
41842 (grub_video_vbe_blit_bitmap): Likewise.
41843 (grub_video_vbe_blit_render_target): Likewise.
41844 (grub_video_vbe_scroll): Likewise.
41845 (grub_video_vbe_swap_buffers): Likewise.
41846 (grub_video_vbe_create_render_target): Likewise.
41847 (grub_video_vbe_delete_render_target): Likewise.
41848 (grub_video_vbe_set_active_render_target): Likewise.
41849 (grub_vbe_set_pixel_rgb): Remove function.
41850 (grub_vbe_set_pixel_index): Likewise.
41851 (index_color_mode): Remove static variable.
41852 (active_mode): Likewise.
41853 (framebuffer): Likewise.
41854 (bytes_per_scan_line): Likewise.
41855 (grub_video_vbe_adapter): Added new static variable.
41856 (framebuffer): Likewise.
41857 (render_target): Likewise.
41858 (initial_mode): Likewise.
41859 (mode_in_use): Likewise.
41860 (mode_list): Likewise.
41861
41862 2006-03-10 Marco Gerards <marco@gnu.org>
41863
41864 * configure.ac (AC_INIT): Bumped to 1.93.
41865
41866 * DISTLIST: Added `include/grub/hfs.h'.
41867
41868 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
41869
41870 * boot/i386/pc/boot.S (general_error): Before looping, try INT
41871 18H, which might help the BIOS falling back to next boot media.
41872
41873 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
41874
41875 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
41876 Poe Chen <poe.poechen@gmail.com>.
41877
41878 2006-01-17 Marco Gerards <marco@gnu.org>
41879
41880 * include/grub/normal.h: Include <grub/script.h>.
41881 (grub_command_list): Removed struct.
41882 (grub_command_list_t): Removed type.
41883 (grub_menu_entry): Remove members `num' and `command_list'. Add
41884 members `commands' and `sourcecode'.
41885 * include/grub/script.h: Add inclusion guards.
41886 (grub_script_cmd_menuentry): New struct.
41887 (grub_script_execute_menuentry): New prototype.
41888 (grub_script_lexer_record_start): Likewise.
41889 (grub_script_lexer_record_stop): Likewise.
41890 * normal/execute.c (grub_script_execute_menuentry): New function.
41891 * normal/lexer.c (record, recording, recordpos, recordlen): New
41892 variables.
41893 (grub_script_lexer_record_start): New function.
41894 (grub_script_lexer_record_stop): Likewise.
41895 (recordchar): Likewise.
41896 (nextchar): Likewise.
41897 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
41898 2048 as the buffer size. Add the tokens `menuentry' and `@'.
41899 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
41900 (current_menu): New variable.
41901 (free_menu): Mainly rewritten.
41902 (grub_normal_menu_addentry): New function.
41903 (read_config_file): Rewritten.
41904 * normal/menu.c (run_menu_entry): Mainly rewritten.
41905 * normal/menu_entry.c (make_screen): Rewritten the code to insert
41906 the menu entry.
41907 (run): Mainly rewritten.
41908 * normal/parser.y (menu_entry): New variable.
41909 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
41910 (menuentry): New rule.
41911 (command): Add `menuentry'.
41912 (if_statement): Allow additional returns before `fi'.
41913 * normal/script.c (grub_script_create_cmdmenu): New function.
41914
41915 2006-01-03 Marco Gerards <marco@gnu.org>
41916
41917 * INSTALL: GNU Bison is required.
41918 * configure.ac: Rewritten the test to detect Bison.
41919 * Makefile.in (YACC): New variable. Reported by Xun Sun
41920 <xun.sun.cn@gmail.com>.
41921
41922 2006-01-03 Marco Gerards <marco@gnu.org>
41923
41924 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
41925 the HFS+ filesystem to filesystem blocks.
41926 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
41927 GCC warning is silenced.
41928
41929 2006-01-03 Marco Gerards <marco@gnu.org>
41930
41931 * partmap/apple.c (apple_partition_map_iterate): Convert the data
41932 read from disk from big endian to host byte order.
41933
41934 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
41935
41936 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
41937 documentation.
41938 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
41939 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
41940 embedded HFS+ filesystem.
41941 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
41942 (grub_hfs_sblock): Move from here...
41943 * include/grub/hfs.h: To here... New file.
41944 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
41945 documentation.
41946 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
41947 New macros.
41948 (grub_hfsplus_volheader): Change type of member `magic' to
41949 `grub_uint16_t'.
41950 (grub_hfsplus_data): Add new member `embedded_offset'.
41951 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
41952 returned block.
41953 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
41954 Calculate the offset.
41955
41956 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
41957
41958 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
41959 Removed.
41960 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
41961
41962 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
41963
41964 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
41965 ENV->NAME is NULL after allocating ENV->VALUE.
41966
41967 2005-12-25 Marco Gerards <marco@gnu.org>
41968
41969 * kern/env.c (grub_env_set): Rewritten the error handling code.
41970
41971 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
41972
41973 * geninit.sh: Made more robust, and more portable.
41974
41975 2005-12-25 Marco Gerards <marco@gnu.org>
41976
41977 Add support for Apple HFS+ filesystems.
41978
41979 * fs/hfsplus.c: New file.
41980
41981 * DISTLIST: Added `fs/hfsplus.c'.
41982
41983 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
41984 (hfsplus_mod_SOURCES): New variable.
41985 (hfsplus_mod_CFLAGS): Likewise.
41986 (hfsplus_mod_LDFLAGS): Likewise.
41987 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
41988 (grub_setup_SOURCES): Likewise.
41989 (grub_mkdevicemap_SOURCES): Likewise.
41990 (grub_emu_SOURCES): Likewise.
41991 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41992
41993 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
41994
41995 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
41996
41997 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
41998
41999 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
42000 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
42001 include/grub/parser.h, include/grub/script.h, kern/parser.c,
42002 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
42003 normal/lexer.c, normal/parser.y, normal/script.c, and
42004 partmap/gpt.c.
42005 Removed kern/sparc64/cache.c.
42006
42007 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
42008 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
42009 grub_emu_init.c.
42010
42011 * configure.ac (AC_INIT): Bumped to 1.92.
42012
42013 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
42014
42015 * kern/err.c (grub_error_push): Added new function to support error
42016 stacks.
42017 (grub_error_pop): Likewise.
42018 (grub_error_stack_items): New local variable to support error stacks.
42019 (grub_error_stack_pos): Likewise.
42020 (grub_error_stack_assert): Likewise.
42021 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
42022 stack depth.
42023 (grub_print_error): Added support to print errors from error stack.
42024
42025 * include/grub/err.h (grub_error_push): Added function prototype.
42026 (grub_error_pop): Likewise.
42027
42028 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
42029
42030 * configure.ac: Accept `powerpc64' as host_cpu.
42031 (amd64): Rename to `biarch32'.
42032
42033 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
42034 non-cacheline-aligned addresses.
42035
42036 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
42037 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
42038 if `size' is non-zero.
42039
42040 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
42041
42042 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
42043 and `cd' to make sure the filename is not prefixed with a
42044 directory name.
42045 (pkgdata_MODULES): Add `gpt.mod'.
42046 (gpt_mod_SOURCES): New variable.
42047 (gpt_mod_CFLAGS): Likewise.
42048 (gpt_mod_LDFLAGS): Likewise.
42049
42050 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
42051
42052 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
42053 New macro.
42054
42055 * partmap/gpt.c: New file.
42056
42057 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
42058 GPT partition map is detected.
42059
42060 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
42061
42062 * commands/i386/pc/play.c: New file.
42063 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
42064 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
42065 macros.
42066
42067 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
42068
42069 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
42070 ((unused))' to silence gcc warning.
42071
42072 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
42073
42074 * configure.ac: Correct `AC_PROG_YACC' test.
42075
42076 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42077
42078 * util/powerpc/ieee1275/grub-install.in: Run the mount point
42079 check before installing files.
42080
42081 2005-11-22 Mike Small <smallm@panix.com>
42082
42083 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
42084 number regex so multidigit numbers are recognized correctly.
42085
42086 2005-11-22 Mike Small <smallm@panix.com>
42087
42088 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
42089 debugging message before attempting to claim memory.
42090 (grub_rescue_cmd_initrd): Add a claim debugging message and try
42091 multiple addresses in case of failure.
42092
42093 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42094
42095 * term/tparm.c (get_space): Remove empty `if' statement.
42096
42097 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
42098
42099 * kern/parser.c (check_varstate): Rename `state' to 's'.
42100
42101 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42102
42103 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
42104 variable definitions to the beginning of each function. Sort stack
42105 variables by size.
42106 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
42107 `buf' argument to `char *'.
42108
42109 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42110
42111 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
42112 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
42113 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
42114 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
42115 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
42116 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
42117 configfile.mod, search.mod, gzio.mod and test.mod.
42118 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
42119 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
42120 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
42121 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
42122 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
42123 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
42124 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
42125 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
42126 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
42127 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
42128 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42129 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42130 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
42131 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
42132 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
42133 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
42134 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42135 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
42136 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
42137 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
42138 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
42139 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
42140 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
42141
42142 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
42143 `grep --include'.
42144 (pkgdata_MODULES): Add test.mod.
42145
42146 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42147
42148 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
42149 appending to variables with "+=".
42150 (PModule): Use full pathname to generate *.lst filenames.
42151
42152 * Makefile.in: Fixed list rules moved from genmk.rb.
42153 (.DELETE_ON_ERROR): New special target.
42154 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
42155
42156 * conf/i386-pc.rmk: Include conf/common.mk.
42157 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
42158 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
42159 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
42160 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
42161 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
42162 configfile.mod, search.mod, gzio.mod and test.mod.
42163 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
42164 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
42165 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
42166 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
42167 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
42168 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
42169 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
42170 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
42171 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
42172 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
42173 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42174 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42175 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
42176 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
42177 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
42178 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
42179 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42180 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
42181 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
42182 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
42183 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
42184 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
42185 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
42186 here...
42187 * conf/common.rmk: ... to here. New file.
42188
42189 * conf/common.mk: New file.
42190
42191 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
42192
42193 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
42194 (grub_script.tab.c): ... here.
42195
42196 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
42197 (grub_script.tab.c): ... here.
42198
42199 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
42200 (grub_script.tab.c): ... here.
42201
42202 * normal/command.c (grub_command_find): Fixed a memory leak of
42203 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
42204
42205 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42206
42207 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
42208 "@" which marks the start of a comment on ARM.
42209 (VARIABLE): Likewise.
42210
42211 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42212
42213 Add support for Linux/ADFS partition tables.
42214
42215 * partmap/acorn.c: New file.
42216
42217 * include/grub/acorn_filecore.h: Likewise.
42218
42219 * DISTLIST: Added `partmap/acorn.c' and
42220 `include/grub/acorn_filecore.h'.
42221
42222 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42223 `partmap/acorn.c'.
42224 (pkgdata_MODULES): Add `acorn.mod'.
42225 (acorn_mod_SOURCES): New variable.
42226 (acorn_mod_CFLAGS): Likewise.
42227
42228 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
42229 `partmap/acorn.c'.
42230 (pkgdata_MODULES): Add `acorn.mod'.
42231 (acorn_mod_SOURCES): New variable.
42232 (acorn_mod_CFLAGS): Likewise.
42233
42234 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
42235 (pkgdata_MODULES): Add `acorn.mod'.
42236 (acorn_mod_SOURCES): New variable.
42237 (acorn_mod_CFLAGS): Likewise.
42238 (acorn_mod_LDFLAGS): Likewise.
42239
42240 * include/types.h (grub_disk_addr_t): New typedef.
42241
42242 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
42243
42244 * geninit.sh: New file.
42245
42246 * geninitheader.sh: Likewise.
42247
42248 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
42249 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
42250 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
42251 * commands/configfile.c (grub_configfile_init)
42252 (grub_configfile_fini): Likewise.
42253 * commands/default.c (grub_default_init, grub_default_fini):
42254 Likewise.
42255 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
42256 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
42257 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
42258 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
42259 Likewise.
42260 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
42261 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
42262 Likewise.
42263 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
42264 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
42265 Likewise.
42266 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
42267 Likewise.
42268 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
42269 Likewise.
42270 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
42271 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
42272 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
42273 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
42274 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
42275 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
42276 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
42277 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
42278 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
42279 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
42280 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
42281 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
42282 * partmap/amiga.c (grub_amiga_partition_map_init)
42283 (grub_amiga_partition_map_fini): Likewise.
42284 * partmap/apple.c (grub_apple_partition_map_init)
42285 (grub_apple_partition_map_fini): Likewise.
42286 * partmap/pc.c (grub_pc_partition_map_init)
42287 (grub_pc_partition_map_fini): Likewise.
42288 * partmap/sun.c (grub_sun_partition_map_init,
42289 grub_sun_partition_map_fini): Likewise.
42290 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
42291 Likewise.
42292
42293 * util/grub-emu.c: Include <grub_modules_init.h>.
42294 (main): Don't initialize and de-initialize any modules directly,
42295 use `grub_init_all' and `grub_fini_all' instead.
42296
42297 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
42298 `grub_vesafb_mod_init'.
42299 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
42300 all users.
42301 * term/i386/pc/vga.c (grub_vga_init): Renamed to
42302 `grub_vga_mod_init'. Updated all users.
42303 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
42304
42305 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
42306 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
42307 rules.
42308
42309 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
42310 Generate a function to initialize the module in utilities.
42311 Updated all callers.
42312 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
42313 initialize the module in utilities. Updated all callers.
42314
42315 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
42316
42317 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
42318 escape sequence and a literal ^L to clear the screen.
42319
42320 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
42321 when returning from Open Firmware.
42322
42323 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
42324
42325 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
42326 (grub_ofconsole_height): Likewise.
42327 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
42328 manually insert a '\n'.
42329 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
42330 `grub_ofconsole_height'. Return early if these are already set.
42331
42332 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
42333
42334 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
42335 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
42336 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
42337 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
42338 and `normal/script.c'.
42339 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
42340 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42341 (test_mod_SOURCES): New variable.
42342 (test_mod_CFLAGS): Likewise.
42343 (test_mod_LDFLAGS): Likewise.
42344 (pkgdata_MODULES): Add `test.mod'.
42345 (grub_script.tab.c): New rule.
42346 (grub_script.tab.h): Likewise.
42347
42348 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
42349
42350 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42351 `commands/test.c', `normal/execute.c', `normal/lexer.c',
42352 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42353 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
42354 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42355 (test_mod_SOURCES): New variable.
42356 (test_mod_CFLAGS): Likewise.
42357 (pkgdata_MODULES): Add `test.mod'.
42358 (grub_script.tab.c): New rule.
42359 (grub_script.tab.h): Likewise.
42360
42361 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
42362
42363 Add initial scripting support.
42364
42365 * commands/test.c: New file.
42366 * include/grub/script.h: Likewise.
42367 * normal/execute.c: Likewise.
42368 * normal/function.c: Likewise.
42369 * normal/lexer.c: Likewise.
42370 * normal/parser.y: Likewise.
42371 * normal/script.c: Likewise.
42372
42373 * configure.ac: Add `AC_PROG_YACC' test.
42374
42375 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
42376 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
42377 `normal/function.c' and `normal/script.c'.
42378 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
42379 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42380 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
42381 variables.
42382 (pkgdata_MODULES): Add `test.mod'.
42383 (grub_script.tab.c): New rule.
42384 (grub_script.tab.h): Likewise.
42385
42386 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
42387
42388 * include/grub/normal.h (grub_test_init): New prototype.
42389 (grub_test_fini): Likewise.
42390
42391 * normal/command.c: Include <grub/script.h>.
42392 (grub_command_execute): Rewritten.
42393
42394 * util/grub-emu.c (main): Call `grub_test_init' and
42395 `grub_test_fini'.
42396
42397 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
42398
42399 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
42400 to 0.
42401 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
42402 there are no pending characters.
42403
42404 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
42405
42406 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
42407 `grub_strndup' to drop device arguments. Replace unnecessary
42408 `grub_strndup' with `grub_strdup'.
42409
42410 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
42411
42412 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
42413 `debug' environment variable has been set.
42414
42415 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
42416
42417 * Makefile.in (install-local): Use $(DATA).
42418 (uninstall): Likewise.
42419 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
42420 (sbin_UTILITIES): ... to here.
42421 (sbin_SCRIPTS): New variable.
42422 (grub_install_SOURCES): New variable.
42423 * util/powerpc/ieee1275/grub-install.in: New file.
42424 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
42425 variable.
42426 (add_segments): Call `grub_util_get_path'.
42427
42428 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
42429
42430 From Timothy Baldwin:
42431 * commands/ls.c (grub_ls_list_files): Close FILE with
42432 grub_file_close.
42433 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
42434
42435 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
42436
42437 * include/grub/parser.h: New file.
42438
42439 * kern/parser.c: Likewise.
42440
42441 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
42442 (grub_setup_SOURCES): Likewise.
42443 (grub_probefs_SOURCES): Likewise.
42444 (grub_emu_SOURCES): Likewise.
42445 (kernel_img_HEADERS): Add `parser.h'.
42446
42447 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
42448 (grub_emu_SOURCES): Add `kern/parser.c'.
42449 (grubof_SOURCES): Likewise.
42450
42451 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
42452 (grubof_SOURCES): Add `kern/parser.c'.
42453
42454 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
42455
42456 * kern/misc.c (grub_split_cmdline): Removed function.
42457
42458 * kern/rescue.c: Include <grub/parser.h>.
42459 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
42460 of `grub_split_cmdline'.
42461
42462 * normal/command.c: Include <grub/parser.h>.
42463 (grub_command_execute): Use `grub_parser_split_cmdline' instead
42464 of `grub_split_cmdline'.
42465
42466 * normal/completion.c: Include <grub/parser.h>.
42467 (cmdline_state): New variable.
42468 (iterate_dir): End the filename with a quote depending on the
42469 command line state.
42470 (get_state): new function.
42471 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
42472 split the arguments and determine the current argument. When the
42473 argument string is not quoted, escape all spaces.
42474
42475 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
42476
42477 * normal/sparc64/setjmp.S: New file.
42478
42479 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
42480
42481 * include/grub/sparc64/libgcc.h: New file.
42482 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
42483 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
42484 normal/sparc64/setjmp.c.
42485
42486 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
42487
42488 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
42489 * kern/sparc64/cache.S: New file.
42490 * kern/sparc64/cache.c: Removed.
42491 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
42492 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
42493 -mtune=ultrasparc.
42494 (COMMON_LDFLAGS): Add -melf64_sparc.
42495 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
42496 (grubof_SOURCES): Use cache.S instead of cache.c.
42497 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
42498 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
42499 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
42500 commented though.
42501 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
42502 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
42503 (linux_mod_CFLAGS): Commented out.
42504 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
42505 out because module isn't built.
42506 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
42507 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
42508 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
42509 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
42510 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
42511 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
42512 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
42513 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
42514 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
42515 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
42516 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42517 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42518 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
42519 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
42520
42521 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
42522
42523 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
42524 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
42525 longer, because HFS should not be used on PC.
42526
42527 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42528
42529 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
42530 consistently within the loop.
42531
42532 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
42533
42534 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
42535 directory can not be read.
42536
42537 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
42538
42539 * configure.ac (AC_INIT): Increase the version number to 1.91.
42540
42541 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
42542 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
42543 term/i386/pc/serial.c.
42544
42545 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
42546
42547 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
42548 file size must be permitted.
42549
42550 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
42551 between %ah and %al.
42552
42553 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
42554
42555 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
42556 grub_uint64_t.
42557 Call the hook with a NUL-terminated filename.
42558 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
42559 grub_cpu_to_be32.
42560
42561 * kern/term.c (cursor_state): New variable.
42562 (grub_term_set_current): Reset the cursor state on a new
42563 terminal.
42564 (grub_setcursor): Rewritten to use CURSOR_STATE.
42565 (grub_getcursor): New function.
42566
42567 * include/grub/term.h (grub_getcursor): New prototype.
42568
42569 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
42570 integers on ARM. Reported by Timothy Baldwin
42571 <T.E.Baldwin99@members.leeds.ac.uk>.
42572
42573 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
42574
42575 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
42576 allocated.
42577 (grub_sfs_dir): Likewise.
42578
42579 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
42580
42581 Add support for the SFS filesystem.
42582
42583 * fs/sfs.c: New file.
42584
42585 * DISTLIST: Added `fs/sfs.c'.
42586
42587 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
42588 (grub_probefs_SOURCES): Likewise.
42589 (grub_emu_SOURCES): Likewise.
42590 (pkgdata_MODULES): Add `sfs.mod'.
42591 (sfs_mod_SOURCES): New variable.
42592 (sfs_mod_CFLAGS): Likewise.
42593 (sfs_mod_LDFLAGS): Likewise.
42594
42595 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
42596 (pkgdata_MODULES): Add `sfs.mod'.
42597 (sfs_mod_SOURCES): New variable.
42598 (sfs_mod_CFLAGS): Likewise.
42599
42600 * util/grub-emu.c (main): Call `grub_sfs_init' and
42601 `grub_sfs_fini'.
42602
42603 * include/grub/fs.h (grub_sfs_init): New prototype.
42604 (grub_sfs_fini): Likewise.
42605
42606 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
42607
42608 Add support for the AFFS filesystem.
42609
42610 * fs/affs.c: New file.
42611
42612 * DISTLIST: Added `fs/affs.c'.
42613
42614 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
42615 (grub_probefs_SOURCES): Likewise.
42616 (grub_emu_SOURCES): Likewise.
42617 (pkgdata_MODULES): Add `affs.mod'.
42618 (affs_mod_SOURCES): New variable.
42619 (affs_mod_CFLAGS): Likewise.
42620 (affs_mod_LDFLAGS): Likewise.
42621
42622 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
42623 (pkgdata_MODULES): Add `affs.mod'.
42624 (affs_mod_SOURCES): New variable.
42625 (affs_mod_CFLAGS): Likewise.
42626
42627 * util/grub-emu.c (main): Call `grub_affs_init' and
42628 `grub_affs_fini'.
42629
42630 * include/grub/fs.h (grub_affs_init): New prototype.
42631 (grub_affs_fini): Likewise.
42632
42633 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
42634
42635 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
42636
42637 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
42638
42639 * configure.ac: Accept `x86_64' as host_cpu. In that case add
42640 `-m32' to CFLAGS.
42641
42642 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
42643 linking.
42644
42645 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
42646 (COMMON_LDFLAGS): New variable.
42647 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
42648 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
42649 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
42650 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
42651 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
42652 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
42653 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
42654 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
42655 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
42656 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
42657 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
42658 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
42659 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
42660 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
42661 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
42662 variables.
42663 (normal_mod_ASFLAGS): Add `-m32'.
42664
42665 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
42666 (grub_host_size_t, grub_host_ssize_t): New types.
42667 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
42668 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
42669 `GRUB_HOST_SIZEOF_VOID_P'.
42670
42671 * include/grub/kernel.h (struct grub_module_header): Type of
42672 member offset changed to `grub_host_off_t'. Type of member size
42673 changed to `grub_host_size_t'.
42674 (struct grub_module_info): Type of member offset changed to
42675 `grub_host_off_t'. Type of member size changed to
42676 `grub_host_size_t'.
42677
42678 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
42679
42680 Make GRUB's kernel compliant to Multiboot Specification.
42681
42682 * kern/i386/pc/startup.S (multiboot_header): New label.
42683 (multiboot_entry): Likewise.
42684 (multiboot_trampoline): Likewise.
42685
42686 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
42687 Increased to 0x4A0.
42688
42689 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
42690 put parentheses after a question mark.
42691 [!GRUB_UTIL] (my_mod): New variable.
42692
42693 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
42694
42695 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
42696
42697 Adds support for the XFS filesystem. Btrees are not supported
42698 yet.
42699
42700 * fs/xfs.c: New file.
42701
42702 * DISTLIST: Added `fs/xfs.c'.
42703
42704 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
42705 (grub_probefs_SOURCES): Likewise.
42706 (grub_emu_SOURCES): Likewise.
42707 (pkgdata_MODULES): Add `xfs.mod'.
42708 (xfs_mod_SOURCES): New variable.
42709 (xfs_mod_CFLAGS): Likewise.
42710
42711 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
42712 (pkgdata_MODULES): Add `xfs.mod'.
42713 (xfs_mod_SOURCES): New variable.
42714 (xfs_mod_CFLAGS): Likewise.
42715
42716 * util/grub-emu.c (main): Call `grub_xfs_init' and
42717 `grub_xfs_fini'.
42718
42719 * include/grub/fs.h (grub_xfs_init): New prototype.
42720 (grub_xfs_fini): Likewise.
42721
42722
42723 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
42724
42725 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
42726 color modes, allow greater than 16 colors to be configured as
42727 a default palette.
42728
42729 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
42730
42731 * normal/completion.c (complete_arguments): Add the qualifier
42732 const into OPTIONS.
42733
42734 From Omniflux <omniflux+lists@omniflux.com>:
42735 * include/grub/terminfo.h: New file.
42736 * include/grub/tparm.h: Likewise.
42737 * include/grub/i386/pc/serial.h: Likewise.
42738 * term/terminfo.c: Likewise.
42739 * term/tparm.c: Likewise.
42740 * term/i386/pc/serial.c: Likewise.
42741 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
42742 serial.mod.
42743 (terminfo_mod_SOURCES): New variable.
42744 (terminfo_mod_CFLAGS): Likewise.
42745 (serial_mod_SOURCES): Likewise.
42746 (serial_mod_CFLAGS): Likewise.
42747
42748 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
42749
42750 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
42751 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
42752 and kern/powerpc/ieee1275/cmain.c, respectively.
42753
42754 * boot/powerpc/ieee1275/crt0.S: Moved to ...
42755 * kern/powerpc/ieee1275/crt0.S: ... here.
42756
42757 * boot/powerpc/ieee1275/cmain.c: Moved to ...
42758 * kern/powerpc/ieee1275/cmain.c: ... here.
42759
42760 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
42761 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
42762 instead of boot/powerpc/ieee1275/crt0.S and
42763 boot/powerpc/ieee1275/cmain.c, respectively.
42764
42765 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
42766 sectors. It was not used anyway.
42767
42768 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
42769
42770 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
42771 `unused parameter' warning.
42772
42773 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
42774
42775 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
42776 function.
42777 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
42778 getcharwidth.
42779
42780 2005-08-28 Marco Gerards <metgerards@student.han.nl>
42781
42782 * include/grub/normal.h (enum grub_completion_type): Added
42783 `GRUB_COMPLETION_TYPE_ARGUMENT'.
42784
42785 * normal/cmdline.c (print_completion): Handle
42786 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
42787 * normal/menu_entry.c (store_completion): Likewise.
42788
42789 * normal/completion.c (complete_arguments): New function.
42790 (grub_normal_do_completion): Call `complete_arguments' when the
42791 current words start with a dash.
42792
42793 2005-08-27 Marco Gerards <metgerards@student.han.nl>
42794
42795 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
42796 `gzio.mod' instead of `io.mod').
42797
42798 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
42799
42800 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
42801 (DISTDIRS): Added io and video.
42802 Rewrite the search routine to make an output consistently.
42803
42804 * DISTLIST: Added conf/sparc64-ieee1275.mk,
42805 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
42806 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
42807 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
42808 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
42809 util/powerpc/ieee1275/misc.c.
42810
42811 * include/grub/gzio.h: New file.
42812 * io/gzio.c: Likewise.
42813
42814 * kern/file.c (grub_file_close): Call grub_device_close only if
42815 FILE->DEVICE is not NULL.
42816
42817 * include/grub/mm.h [!NULL] (NULL): New macro.
42818
42819 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
42820
42821 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
42822 (pkgdata_MODULES): Added gzio.mod.
42823 (gzio_mod_SOURCES): New variable.
42824 (gzio_mod_CFLAGS): Likewise.
42825
42826 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
42827 (pkgdata_MODULES): Added gzio.mod.
42828 (gzio_mod_SOURCES): New variable.
42829 (gzio_mod_CFLAGS): Likewise.
42830
42831 * commands/cat.c: Include grub/gzio.h.
42832 (grub_cmd_cat): Use grub_gzfile_open instead of
42833 grub_file_open.
42834
42835 * commands/cmp.c: Include grub/gzio.h.
42836 (grub_cmd_cmp): Use grub_gzfile_open instead of
42837 grub_file_open.
42838
42839 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
42840 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
42841 grub_file_open.
42842 (grub_rescue_cmd_module): Likewise.
42843
42844 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
42845
42846 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
42847 kern/sparc64/ieee1275/init.c because it contains _start.
42848 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
42849
42850 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
42851
42852 * configure.ac: Add support for sparc64 host with ieee1275
42853 firmware.
42854 * configure: Generated from configure.ac.
42855 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
42856 instead of int.
42857 (grub_ofdisk_read): Likewise.
42858 (grub_ofdisk_open): Use %p to print pointer values, and cast the
42859 pointers as (void *) to remove a warning.
42860 (grub_ofdisk_close): Likewise.
42861 (grub_ofdisk_read): Likewise.
42862 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
42863 returns, so make it return void to remove a warning.
42864 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
42865 Corresponding prototype change.
42866 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
42867 values, and cast the pointers as (void *) to remove a warning.
42868 (grub_mm_dump): Likewise.
42869 * conf/sparc64-ieee1275.mk: New file.
42870 * conf/sparc64-ieee1275.rmk: Likewise.
42871 * include/grub/sparc64/setjmp.h: Likewise.
42872 * include/grub/sparc64/types.h: Likewise.
42873 * include/grub/sparc64/ieee1275/console.h: Likewise.
42874 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
42875 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
42876 * include/grub/sparc64/ieee1275/time.h: Likewise.
42877 * kern/sparc64/cache.c: Likewise.
42878 * kern/sparc64/dl.c: Likewise.
42879 * kern/sparc64/ieee1275/init.c: Likewise.
42880 * kern/sparc64/ieee1275/openfw.c: Likewise.
42881
42882 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
42883
42884 * util/console.c (grub_ncurses_putchar): If C is greater than
42885 0x7f, set C to a question mark.
42886 (grub_ncurses_getcharwidth): New function.
42887 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
42888 getcharwidth.
42889
42890 * normal/menu.c (print_entry): Made aware of Unicode. First,
42891 convert TITLE to UCS-4, and predict the cursor position by
42892 grub_getcharwidth.
42893
42894 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
42895 const to SRC.
42896 * kern/misc.c (grub_utf16_to_utf8): Likewise.
42897
42898 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
42899
42900 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
42901 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
42902 grub_strcat.
42903
42904 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
42905 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
42906 grub_strcpy and grub_strlen. Take it into account that a space
42907 character is inserted as a delimiter.
42908
42909 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
42910
42911 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
42912 invalid magic in the error.
42913
42914 * commands/search.c: New file.
42915
42916 * util/grub-emu.c (main): Call grub_search_init and
42917 grub_search_fini.
42918
42919 * kern/rescue.c (grub_rescue_print_disks): Removed.
42920 (grub_rescue_print_devices): New function.
42921 (grub_rescue_cmd_ls): Use grub_device_iterate with
42922 grub_rescue_print_devices instead of grub_disk_dev_iterate with
42923 grub_rescue_print_disks.
42924
42925 * kern/partition.c (grub_partition_iterate): Return the result of
42926 PARTMAP->ITERATE instead of GRUB_ERRNO.
42927
42928 * kern/device.c: Include grub/partition.h.
42929 (grub_device_iterate): New function.
42930
42931 * include/grub/partition.h (grub_partition_iterate): Return int
42932 instead of grub_err_t.
42933
42934 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
42935 prototype.
42936 [GRUB_UTIL] (grub_search_fini): Likewise.
42937
42938 * include/grub/device.h (grub_device_iterate): New prototype.
42939
42940 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
42941 commands/search.c.
42942 (pkgdata_MODULES): Added search.mod.
42943 (search_mod_SOURCES): New variable.
42944 (search_mod_CFLAGS): Likewise.
42945
42946 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
42947 (pkgdata_MODULES): Added search.mod.
42948 (search_mod_SOURCES): New variable.
42949 (search_mod_CFLAGS): Likewise.
42950
42951 * commands/ls.c (grub_ls_list_disks): Renamed to ...
42952 (grub_ls_list_devices): ... this, and use grub_device_iterate.
42953 All callers changed.
42954
42955 * DISTLIST: Added commands/search.c.
42956
42957 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
42958
42959 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
42960 conversion.
42961 (grub_getcharwidth): New function.
42962
42963 * kern/misc.c (grub_utf8_to_ucs4): New function.
42964
42965 * include/grub/term.h (struct grub_term): Added a new member
42966 "getcharwidth".
42967 (grub_getcharwidth): New prototype.
42968
42969 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
42970
42971 * term/i386/pc/console.c (map_char): New function. Segregated from
42972 grub_console_putchar.
42973 (grub_console_putchar): Use map_char.
42974 (grub_console_getcharwidth): New function.
42975 (grub_console_term): Specified grub_console_getcharwidth as
42976 getcharwidth.
42977
42978 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
42979 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
42980
42981 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
42982 GRUB_ERRNO.
42983 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
42984 on grub_strtoul completely.
42985 (write_char): Declare local variables in the beginning of the
42986 function.
42987 (grub_vesafb_getcharwidth): New function.
42988 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
42989 getcharwidth.
42990
42991 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
42992
42993 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
42994 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
42995 commands/i386/pc/vbetest.c.
42996
42997 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
42998 call grub_vbe_get_controller_info again, because the returned
42999 information is volatile.
43000 (grub_vbe_set_video_mode): Mostly rewritten.
43001 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
43002 grub_vbe_status_t correctly.
43003 (grub_vbe_get_video_mode_info): Likewise.
43004 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
43005 several if statements.
43006
43007 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
43008 * commands/i386/pc/vbeinfo.c: ... this.
43009
43010 * commands/i386/pc/vbe_test.c: Renamed to ...
43011 * commands/i386/pc/vbetest.c: ... this.
43012
43013 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
43014 ...
43015 (grub_cmd_vbeinfo): ... this. Save video modes before
43016 iterating. Skip a video mode, if it is not available, not enough
43017 information is given or it is monochrome. Show the memory
43018 model. Leave the interpretation of MODEVAR to grub_strtoul
43019 completely.
43020 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
43021 (GRUB_MOD_FINI): Likewise.
43022
43023 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
43024 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
43025 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
43026 duplicated grub_env_get. Leave the interpretation of MODEVAR to
43027 grub_strtoul completely.
43028 (real2pm): Removed.
43029 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
43030 (GRUB_MOD_FINI): Likewise.
43031
43032 * normal/misc.c: Include grub/mm.h.
43033
43034 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
43035 vbe_list_modes with vbetest.mod and vbeinfo.mod.
43036 (vbe_list_modes_mod_SOURCES): Removed.
43037 (vbe_list_modes_mod_CFLAGS): Likewise.
43038 (vbe_test_mod_SOURCES): Likewise.
43039 (vbe_test_mod_CFLAGS): Likewise.
43040 (vbeinfo_mod_SOURCES): New variable.
43041 (vbeinfo_mod_CFLAGS): Likewise.
43042 (vbetest_mod_SOURCES): Likewise.
43043 (vbetest_mod_CFLAGS): Likewise.
43044
43045 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
43046
43047 * normal/misc.c: New file.
43048
43049 * DISTLIST: Added normal/misc.c.
43050
43051 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
43052 DISK to HOOK. Call HOOK with DISK.
43053 * partmap/apple.c (apple_partition_map_iterate): Likewise.
43054 * partmap/pc.c (pc_partition_map_iterate): Likewise.
43055 * partmap/sun.c (sun_partition_map_iterate): Likewise.
43056
43057 * normal/menu_entry.c (struct screen): Added a new member
43058 "completion_shown".
43059 (completion_buffer): New global variable.
43060 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
43061 (store_completion): New function.
43062 (complete): Likewise.
43063 (clear_completions): Likewise.
43064 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
43065 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
43066 a tab, call complete.
43067
43068 * normal/completion.c (disk_dev): Removed.
43069 (print_simple_completion): Likewise.
43070 (print_partition_completion): Likewise.
43071 (print_func): New global variable.
43072 (add_completion): Do not take the arguments WHAT or PRINT any
43073 longer. Added a new argument TYPE. Instead of printing directly,
43074 call PRINT_FUNC if not NULL.
43075 All callers changed.
43076 (complete_device): Use a local variable DEV instead of
43077 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
43078 (grub_normal_do_completion): Take a new argument HOOK. Do not
43079 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
43080 empty string, return NULL instead.
43081 All callers changed.
43082
43083 * normal/cmdline.c (print_completion): New function.
43084
43085 * kern/partition.c (grub_partition_iterate): Add an argument DISK
43086 to HOOK.
43087 All callers changed.
43088
43089 * kern/disk.c (grub_print_partinfo): Removed.
43090
43091 * include/grub/partition.h (struct grub_partition_map): Add a new
43092 argument DISK into HOOK of ITERATE.
43093 (grub_partition_iterate): Add a new argument DISK to HOOK.
43094
43095 * include/grub/normal.h (enum grub_completion_type): New enum.
43096 (grub_completion_type_t): New type.
43097 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
43098 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
43099 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
43100 (GRUB_COMPLETION_TYPE_FILE): Likewise.
43101 (grub_normal_do_completion): Added a new argument HOOK.
43102 (grub_normal_print_device_info): New prototype.
43103
43104 * include/grub/disk.h (grub_print_partinfo): Removed.
43105
43106 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
43107 (normal_mod_SOURCES): Likewise.
43108 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43109 (normal_mod_SOURCES): Likewise.
43110
43111 * commands/ls.c (grub_ls_list_disks): Use
43112 grub_normal_print_device_info instead of grub_print_partinfo. Free
43113 PNAME.
43114 (grub_ls_list_files): Use grub_normal_print_device_info instead of
43115 duplicating the code.
43116
43117 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
43118
43119 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
43120 follow GCS more precisely.
43121 * commands/i386/pc/vbe_test.c: Likewise.
43122 * include/grub/i386/pc/vbe.h: Likewise.
43123 * term/i386/pc/vesafb.c: Likewise.
43124 * video/i386/pc/vbe.c: Likewise.
43125
43126 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
43127
43128 * DISTLIST: Added term/i386/pc/vesafb.c
43129 DISTLIST: Added video/i386/pc/vbe.c
43130 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
43131 DISTLIST: Added commands/i386/pc/vbe_test.c.
43132 * commands/i386/pc/vbe_list_modes.c: New file.
43133 * commands/i386/pc/vbe_test.c: Likewise.
43134 * term/i386/pc/vesafb.c: Likewise.
43135 * video/i386/pc/vbe.c: Likewise.
43136 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
43137 (grub_vbe_probe) Added prototype.
43138 (grub_vbe_set_video_mode) Likewise.
43139 (grub_vbe_get_video_mode) Likewise.
43140 (grub_vbe_get_video_mode_info) Likewise.
43141 (grub_vbe_set_pixel_rgb) Likewise.
43142 (grub_vbe_set_pixel_index) Likewise.
43143 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
43144 (pkgdata_MODULES): Added vesafb.mod.
43145 (pkgdata_MODULES): Added vbe_list_modes.mod.
43146 (pkgdata_MODULES): Added vbe_test.mod.
43147 (vbe_mod_SOURCES): Added.
43148 (vbe_mod_CFLAGS): Likewise.
43149 (vesafb_mod_SOURCES): Likewise.
43150 (vesafb_mod_CFLAGS): Likewise.
43151 (vbe_list_modes_mod_SOURCES): Likewise.
43152 (vbe_list_modes_mod_CFLAGS): Likewise.
43153 (vbe_test_mod_SOURCES): Likewise.
43154 (vbe_test_mod_CFLAGS): Likewise.
43155
43156 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
43157
43158 * normal/command.c (grub_command_execute): If INTERACTIVE is
43159 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
43160 CMDLINE. Disable the pager if INTERACTIVE is true.
43161 All callers are changed.
43162
43163 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
43164 before reading a config file.
43165 * normal/main.c (read_config_file): Even if a command is not
43166 found, register it if it is within an entry.
43167
43168 * util/grub-emu.c: Include sys/types.h and unistd.h.
43169 (options): Added --hold.
43170 (struct arguments): Added a new member "hold".
43171 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
43172 missing.
43173 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
43174 cleared by a debugger, if it is not zero.
43175
43176 * include/grub/normal.h (grub_command_execute): Add an argument
43177 INTERACTIVE.
43178
43179 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
43180
43181 * DISTLIST: Added include/grub/i386/pc/vbe.h.
43182
43183 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
43184
43185 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
43186 program with another one, because the old one didn't detect a bug
43187 in gcc-3.4. Always use regparm 2, because the new test is still
43188 not enough for gcc-4.0. Someone must investigate a simple test
43189 case which detects a bug in gcc-4.0.
43190
43191 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
43192
43193 * DISTLIST: Added normal/completion.c.
43194
43195 * normal/completion.c: New file.
43196
43197 * term/i386/pc/console.c (grub_console_getwh): New function.
43198 (grub_console_term): Assign grub_console_getwh to getwh.
43199
43200 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
43201 function is defined in normal/completion.c as
43202 grub_normal_do_completion.
43203 (grub_cmdline_get): Use grub_normal_do_completion instead of
43204 grub_tab_complete.
43205
43206 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
43207 returns non-zero, otherwise return 0.
43208 (grub_partition_iterate): First, probe the partition map. Then,
43209 call ITERATE only for this partition map.
43210
43211 * kern/misc.c (grub_strncmp): Rewritten.
43212
43213 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
43214 returns non-zero. Otherwise return 0.
43215
43216 * include/grub/partition.h (grub_partition_map_iterate): Return
43217 int instead of void.
43218
43219 * include/grub/normal.h (grub_normal_do_completion): New prototype.
43220
43221 * include/grub/misc.h (grub_strncmp): Change the type of N to
43222 grub_size_t.
43223
43224 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
43225 of void.
43226
43227 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
43228 unsigned explicitly before comparing it with I.
43229
43230 * kern/main.c (grub_env_write_root): Add the attribute unused into
43231 VAR.
43232
43233 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43234 normal/completion.c.
43235 (normal_mod_SOURCES): Likewise.
43236 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43237 (normal_mod_SOURCES): Likewise.
43238
43239 * normal/command.c (grub_iterate_commands): If ITERATE returns
43240 non-zero, return one immediately.
43241
43242 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
43243
43244 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
43245 * kern/i386/pc/startup.S: Updated Global Descriptor table's
43246 descriptions.
43247 (grub_vbe_get_controller_info): New function.
43248 (grub_vbe_get_mode_info): Likewise.
43249 (grub_vbe_set_mode): Likewise.
43250 (grub_vbe_get_mode): Likewise.
43251 (grub_vbe_set_memory_window): Likewise.
43252 (grub_vbe_get_memory_window): Likewise.
43253 (grub_vbe_set_scanline_length): Likewise.
43254 (grub_vbe_get_scanline_length): Likewise.
43255 (grub_vbe_set_display_start): Likewise.
43256 (grub_vbe_get_display_start): Likewise.
43257 (grub_vbe_set_palette_data): Likewise.
43258 * include/grub/i386/pc/vbe.h: New file.
43259
43260 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43261
43262 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
43263 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
43264 * DISTLIST: Likewise.
43265 * kern/ieee1275/of.c: Moved to ...
43266 * kern/ieee1275/ieee1275.c: ... here.
43267
43268 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43269
43270 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
43271 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
43272 Pass 0 as `end' parameter to grub_strtoul().
43273
43274 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43275
43276 * include/grub/powerpc/ieee1275/console.h: Do not include
43277 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
43278 ifdef.
43279 (grub_console_cur_color): Remove i386-specific prototype.
43280 (grub_console_real_putchar): Likewise.
43281 (grub_console_checkkey): Likewise.
43282 (grub_console_getkey): Likewise.
43283 (grub_console_getxy): Likewise.
43284 (grub_console_gotoxy): Likewise.
43285 (grub_console_cls): Likewise.
43286 (grub_console_setcursor): Likewise.
43287 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
43288 Include <grub/machine/console.h>.
43289 * term/ieee1275/ofconsole.c: Likewise.
43290
43291 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
43292
43293 * Makefile.in (LIBLZO): New variable.
43294
43295 * configure.ac: Check for LZO version 2.
43296
43297 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
43298 lzo/lzo1x.h instead of lzo1x.h.
43299
43300 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
43301 of -llzo.
43302
43303 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
43304 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
43305
43306 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
43307 copying the data from PARTITION to P.
43308
43309 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
43310
43311 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
43312 negative, unload the module.
43313
43314 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
43315 map is "pc_partition_map" but not "pc".
43316 (usage): Fix the description. The options are --boot-image and
43317 --core-image but not --boot-file or --core-file.
43318 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
43319 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
43320 DEFAULT_DIRECTORY.
43321
43322 * util/i386/pc/grub-install.in: Do not specify --boot-file or
43323 --core-file. Specify INSTALL_DEVICE as an argument.
43324
43325 * util/console.c: Include config.h.
43326 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
43327 [HAVE_NCURSES_H]: Include ncurses.h.
43328 [HAVE_CURSES_H]: Include curses.h.
43329 [!A_NORMAL] (A_NORMAL): Defined as zero.
43330 [!A_STANDOUT] (A_STANDOUT): Likewise.
43331
43332 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
43333 -lncurses.
43334 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
43335
43336 * configure.ac: Check for curses libraries and headers.
43337
43338 * Makefile.in (LIBCURSES): New variable.
43339
43340 * genmk.rb (Script::rule): Set the executable bits.
43341
43342 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
43343 name of the PC partition map is "pc_partition_map" but not "pc".
43344
43345 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
43346
43347 * util/i386/pc/grub-install.in (grub_probefs): New variable.
43348 (modules): Likewise.
43349 (usage): Added descriptions for --modules and --grub-probefs.
43350 Handle --modules and --grub-probefs. Save the arguments in MODULES
43351 and GRUB_PROBEFS, respectively.
43352 Auto-detect a filesystem module against GRUBDIR. If the result is
43353 empty and modules are not specified explicitly, abort the
43354 installation. Add the result to MODULES.
43355
43356 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
43357 disk/powerpc/ieee1275/ofdisk.c,
43358 include/grub/powerpc/ieee1275/init.h and
43359 term/powerpc/ieee1275/ofconsole.c.
43360 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
43361 term/ieee1275/ofconsole.c.
43362
43363 * include/grub/powerpc/ieee1275/console.h: Resurrected.
43364
43365 * COPYING: Upgraded to the latest version. Only the address of the
43366 FSF office has changed.
43367
43368 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
43369
43370 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
43371 kern/ieee1275.c with kern/ieee1275/of.c.
43372
43373 * kern/ieee1275.c: Moved to ...
43374 * kern/ieee1275/of.c: ... here.
43375
43376 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
43377
43378 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
43379 readability.
43380
43381 * config.guess: Updated to the latest version from gnulib.
43382 * config.sub: Likewise.
43383 * install.sh: Likewise.
43384 * mkinstalldirs: Likewise.
43385
43386 * include/grub/console.h: Removed. This file is arch-specific. Do
43387 not put this in include/grub.
43388
43389 * include/grub/i386/pc/console.h: Resurrected.
43390
43391 * util/console.c: Include grub/machine/console.h instead of
43392 grub/console.h.
43393 * util/grub-emu.c: Likewise.
43394
43395 2005-08-04 Marco Gerards <metgerards@student.han.nl>
43396
43397 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
43398 hardcoded value.
43399
43400 From Vincent Pelletier <subdino2004@yahoo.fr>
43401 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
43402 Redefined to use grub_getwh.
43403 (grub_term): New member named getwh.
43404 (grub_getwh): New prototype.
43405 * kern/term.c (grub_getwh): New function.
43406 * term/i386/pc/console.c (grub_console_getwh): New function.
43407 (grub_console_term): New member `getwh'.
43408 * term/i386/pc/vga.c (grub_vga_getwh): New function.
43409 (grub_vga_term): New member `getwh'.
43410 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
43411 grub_ssize_t.
43412 (grub_ofconsole_getw): New function.
43413 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
43414 (grub_ofconsole_term): New field named getwh and new initial
43415 value.
43416
43417 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
43418
43419 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
43420 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
43421 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
43422 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
43423 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
43424 of <grub/machine/ieee1275.h>.
43425 * commands/ieee1275/reboot.c: Likewise.
43426 * boot/powerpc/ieee1275/ieee1275.c: Move ...
43427 * kern/ieee1275.c: ... to here. All users updated. Change all
43428 parameter structs to use new type `grub_ieee1275_cell_t'.
43429 * term/powerpc/ieee1275/ofconsole.c: Move ...
43430 * term/ieee1275/ofconsole.c: ... to here. All users updated.
43431 * disk/powerpc/ieee1275/ofdisk.c: Move ...
43432 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
43433 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
43434 to return int.
43435 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
43436 Remove unused prototypes. All users updated.
43437 * include/grub/powerpc/ieee1275/console.h: Removed.
43438 * include/grub/powerpc/ieee1275/ieee1275.h: Define
43439 `grub_ieee1275_cell_t'.
43440 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
43441 Cast comparisons with -1 to the correct type.
43442 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
43443 type to match `grub_ieee1275_entry_fn'.
43444
43445 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
43446
43447 * DISTLIST: Added util/i386/pc/grub-probefs.c.
43448
43449 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
43450 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
43451 partmap/sun.c.
43452 (grub_probefs_SOURCES): New variable.
43453
43454 * util/i386/pc/grub-probefs.c: New file.
43455
43456 * util/i386/pc/grub-setup.c (main): Call
43457 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
43458 grub_hfs_init and grub_jfs_init to initialize the system. Call
43459 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
43460 grub_pc_partition_map_fini to finish the system.
43461
43462 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
43463
43464 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
43465 function.
43466 (grub_multiboot_load_elf32): Likewise.
43467 (grub_multiboot_is_elf64): Likewise.
43468 (grub_multiboot_load_elf64): Likewise.
43469 (grub_multiboot_load_elf): Likewise.
43470 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
43471 an ELF32 or ELF64 file.
43472 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
43473
43474 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
43475 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
43476 NULL before calling FS->LABEL.
43477 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
43478 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
43479 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
43480 before calling FS->LABEL.
43481
43482 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
43483
43484 * util/i386/pc/grub-install.in (datadir): New variable.
43485 (libdir): Removed.
43486 (pkgdatadir): New variable.
43487 (pkglibdir): Removed.
43488
43489 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
43490
43491 * DISTLIST: Added util/i386/pc/grub-install.in.
43492
43493 * util/i386/pc/grub-install.in: New file.
43494
43495 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
43496 (grub_install_SOURCES): Likewise.
43497
43498 * genmk.rb: Added support for scripts.
43499 (Script): New class.
43500 (scripts): New variable.
43501
43502 * Makefile.in (install-local): Install sbin_SCRIPTS by
43503 INSTALL_SCRIPT.
43504 (uninstall): Remove sbin_SCRIPTS.
43505
43506 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
43507 device, try to get a GRUB device by
43508 grub_util_biosdisk_get_grub_dev.
43509 Free DEST_DEV.
43510
43511 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
43512 description for --device-map.
43513
43514 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
43515
43516 Change the semantics of variable hooks. They now return strings
43517 instead of error values.
43518
43519 * util/i386/pc/grub-setup.c: Include grub/env.h.
43520 (setup): Use grub_device_set_root instead of grub_env_set.
43521
43522 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
43523 grub_env_get instead of grub_device_set_root and
43524 grub_device_get_root, respectively.
43525
43526 * kern/main.c (grub_env_write_root): New function.
43527 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
43528 grub_env_set instead of grub_device_set_root.
43529
43530 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
43531 many variables.
43532 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
43533 rather than calling ENV->WRITE_HOOK afterwards.
43534 (grub_env_get): Return the result of ENV->READ_HOOK rather than
43535 passing a pointer of a pointer.
43536 (grub_register_variable_hook): Change the types of "read_hook" and
43537 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
43538 respectively.
43539 Allocate the default empty string on the heap, because this string
43540 may be freed later.
43541
43542 * kern/device.c: Include grub/env.h.
43543 (grub_device_set_root): Removed.
43544 (grub_device_get_root): Likewise.
43545 (grub_device_open): Use grub_env_get instead of
43546 grub_device_get_root.
43547
43548 * include/grub/env.h (grub_env_read_hook_t): New type.
43549 (grub_env_write_hook_t): Likewise.
43550 (grub_env_var): Change the types of "read_hook" and "write_hook"
43551 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
43552 (grub_register_variable_hook): Likewise.
43553
43554 * include/grub/device.h (grub_device_set_root): Removed.
43555 (grub_device_set_root): Likewise.
43556
43557 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
43558 make sure that DIRNAME terminates with '/', so that
43559 grub_fat_find_dir will fail if PATH is not a directory.
43560
43561 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
43562 from DIRNAME.
43563 Use the qualifier auto for print_files and print_files_long.
43564 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
43565 as a regular file.
43566 Put a newline only if there is no error.
43567 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
43568 used.
43569
43570 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
43571
43572 * kern/partition.c (grub_partition_probe): Initialize PART to
43573 NULL. Otherwise, when no partition map is registered, this returns
43574 a garbage.
43575
43576 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
43577
43578 * partmap/apple.c (apple_partition_map_iterate): Check if POS
43579 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
43580 valid.
43581
43582 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
43583
43584 * commands/ls.c (grub_ls_list_disks): Print the filesystem
43585 information on each device, if it does not have partitions. Print
43586 "Device" instead of "Disk", because this function is not specific
43587 to disk devices.
43588
43589 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
43590 static to ensure that it is put on the memory rather than a
43591 register.
43592
43593 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
43594
43595 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
43596 (grub_cat_init): Likewise.
43597 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
43598 (options): Likewise.
43599 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
43600 (grub_configfile_init): Likewise.
43601 * font/manager.c (GRUB_MOD_INIT): Likewise.
43602 * commands/help.c (GRUB_MOD_INIT): Likewise.
43603 (grub_help_init): Likewise.
43604 * normal/command.c (grub_command_init): Likewise.
43605 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
43606 * disk/loopback.c (grub_loop_init): Likewise.
43607 (GRUB_MOD_INIT): Likewise.
43608 * commands/ls.c (grub_ls_init): Likewise.
43609 (GRUB_MOD_INIT): Likewise.
43610 (options): Likewise.
43611 * commands/boot.c (grub_boot_init): Likewise.
43612 (GRUB_MOD_INIT): Likewise.
43613 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
43614 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
43615 (GRUB_MOD_INIT): Likewise.
43616 * commands/cmp.c (grub_cmp_init): Likewise.
43617 (GRUB_MOD_INIT): Likewise.
43618
43619 * normal/arg.c: Use <> instead of "" to include header files.
43620 (SHORT_ARG_HELP): New macro.
43621 (SHORT_ARG_USAGE): Likewise.
43622 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
43623 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
43624 descriptions.
43625 (find_short): Check if C is 'h' or 'u' explicitly.
43626 (grub_arg_show_help): Use space characters instead of tabs. Treat
43627 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
43628 are shown with --help and --usage only if they are not used for
43629 the command itself.
43630 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
43631 'h' and 'u'.
43632
43633 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
43634 const into "longarg". Change the type of "shortarg" to int.
43635
43636 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
43637
43638 * boot/i386/pc/boot.S (boot_drive_check): New label.
43639
43640 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
43641 macro.
43642
43643 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
43644 which do not pass a boot drive correctly. Copied from GRUB Legacy.
43645
43646 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
43647
43648 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
43649 When turning off Gate A20, skip the check and return immediately,
43650 because this is not fatal usually.
43651
43652 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
43653
43654 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
43655 be 0x7C00 instead of 0x8000.
43656
43657 * boot/i386/pc/pxeboot.S: Rewritten.
43658
43659 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
43660 EXT_C.
43661 (gate_a20_check_state): Read a byte from 0x108000. Invert the
43662 result.
43663
43664 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
43665
43666 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
43667 robustness. This routine now supports a BIOS call and System
43668 Control Port A to modify the gate A20.
43669
43670 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
43671 Increased to 0x440.
43672
43673 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
43674
43675 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
43676 device path and resulting ihandle.
43677 (grub_ofdisk_close): dprintf the ihandle being closed.
43678 (grub_ofdisk_read): dprintf function parameters.
43679 * kern/mm.c (grub_mm_init_region): Likewise.
43680 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
43681 (grub_linux_boot): dprintf the Linux entry point, initrd address and
43682 size, and boot arguments.
43683 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
43684 before loading into memory.
43685 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
43686 before loading into memory.
43687
43688 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
43689
43690 * kern/mm.c: Added much documentation.
43691 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
43692 8, set to 5 instead of 8.
43693
43694 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
43695
43696 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
43697
43698 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
43699 (grub_mkdevicemap_SOURCES): New variable.
43700
43701 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
43702 lib/device.c of GRUB Legacy.
43703
43704 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
43705
43706 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
43707 instead of PATH is NULL.
43708
43709 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
43710
43711 * commands/cmp.c (BUFFER_SIZE): New macro.
43712 (grub_cmd_cmp): Close the right file at the right time. Compare
43713 only data just read. Don't report files of different size as
43714 identical. Dynamically allocate buffers. Move variable
43715 declarations at the beginning of function.
43716
43717 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
43718
43719 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
43720 reverse.
43721
43722 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
43723
43724 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
43725 when backspace is pressed at beginning of line.
43726
43727 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
43728
43729 * DISTLIST: Added genfslist.sh.
43730
43731 * normal/main.c (fs_module_list): New variable.
43732 (autoload_fs_module): New function.
43733 (read_fs_list): Likewise.
43734 (grub_normal_execute): Call read_fs_list.
43735
43736 * kern/fs.c (grub_fs_autoload_hook): New variable.
43737 (grub_fs_probe): Added support for auto-loading.
43738
43739 * include/grub/normal.h (struct grub_fs_module_list): New struct.
43740 (grub_fs_module_list_t): New type.
43741
43742 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
43743 (grub_fs_autoload_hook): New prototype.
43744
43745 * genfslist.sh: New file.
43746
43747 * genmk.rb: Added a rule to generate a filesystem list.
43748
43749 2005-06-30 Marco Gerards <metgerards@student.han.nl>
43750
43751 * configure.ac: Fix the test for cross-compiling.
43752
43753 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
43754 define GRUB_UTIL anymore.
43755
43756 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
43757 so this function works on other systems than just big endian.
43758 (load_modules): Likewise.
43759 (add_segments): Likewise.
43760
43761 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
43762
43763 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
43764 contains `l' modifier, get a long from va_arg().
43765
43766 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
43767
43768 * kern/mm.c (grub_free): If the next free block which is being
43769 merged is the first free block, set the first block to the block
43770 being freed.
43771 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
43772
43773 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
43774
43775 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
43776 `grub_ieee1275_chosen'.
43777
43778 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
43779
43780 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
43781 (grub_ieee1275_chosen): New variable.
43782 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
43783 `chosen'.
43784 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
43785 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
43786 Rename first argument to `phandle' for consistency.
43787 (grub_ieee1275_get_property_length): Likewise.
43788 (grub_ieee1275_next_property): Likewise. Change type of first argument
43789 to grub_ieee1275_phandle_t.
43790 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
43791 Move export next to declaration.
43792 (grub_ieee1275_chosen): New variable.
43793 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
43794 Correct cosmetic typo.
43795 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
43796 `grub_ieee1275_chosen'.
43797 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
43798 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
43799 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
43800 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
43801 `grub_ieee1275_chosen'.
43802
43803 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
43804
43805 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
43806 /chosen/bootargs.
43807 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
43808 /chosen/bootargs as "variable=value" pairs.
43809
43810 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
43811
43812 * include/grub/misc.h (grub_dprintf): New macro.
43813 (grub_real_dprintf): New prototype.
43814 (grub_strword): Likewise.
43815 (grub_iswordseparator): Likewise.
43816 * kern/misc.c (grub_real_dprintf): New function.
43817 (grub_strword): Likewise.
43818 (grub_iswordseparator): Likewise.
43819
43820 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
43821
43822 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
43823 (roundup): Remove macro.
43824 (grub_ieee1275_flags): Make static.
43825 (grub_ieee1275_realmode): Remove.
43826 (grub_ieee1275_test_flag): New function.
43827 (grub_ieee1275_set_flag): Likewise.
43828 (find_options): Rename to `grub_ieee1275_find_options'; update
43829 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
43830 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
43831 (cmain): New prototype.
43832 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
43833 `grub_ieee1275_flags' directly.
43834 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
43835 machine/biosdisk.h.
43836 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
43837 Don't include grub/machine/init.h.
43838 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
43839 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
43840 Remove prototype.
43841 (grub_ieee1275_realmode): Likewise.
43842 (grub_ieee1275_flag): New enum.
43843 (grub_ieee1275_test_flag): New prototype.
43844 (grub_ieee1275_set_flag): New prototype.
43845 * include/grub/powerpc/ieee1275/init.h: Remove file.
43846 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
43847 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
43848 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
43849 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
43850 comment.
43851 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
43852 `grub_ieee1275_test_flag'.
43853 (grub_ieee1275_encode_devname): Likewise.
43854
43855 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
43856
43857 * include/grub/powerpc/ieee1275/ieee1275.h
43858 (grub_ieee1275_encode_devname): New prototype.
43859 (grub_ieee1275_get_filename): Likewise.
43860 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
43861 function.
43862 (grub_set_prefix): Likewise.
43863 (grub_machine_init): Call grub_set_prefix.
43864 * kern/powerpc/ieee1275/openfw.c: Fix typos.
43865 (grub_parse_type): New enum.
43866 (grub_ieee1275_get_devargs): New function.
43867 (grub_ieee1275_get_devname): Likewise.
43868 (grub_ieee1275_parse_args): Likewise.
43869 (grub_ieee1275_get_filename): Likewise.
43870 (grub_ieee1275_encode_devname): Likewise.
43871
43872 2005-03-30 Marco Gerards <metgerards@student.han.nl>
43873
43874 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
43875 `grub_loader_unset'.
43876
43877 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
43878
43879 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
43880 instead of grub_ieee1275_interpret.
43881 (grub_halt_init): New function.
43882 (grub_halt_fini): Likewise.
43883 (GRUB_MOD_INIT): Correct message grammar.
43884 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
43885 instead of grub_ieee1275_interpret.
43886 (grub_reboot_init): New function.
43887 (grub_reboot_fini): Likewise.
43888 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
43889 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
43890 util/i386/pc/misc.c with commands/ieee1275/halt.c,
43891 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
43892 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
43893 function.
43894 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
43895 Add prototype.
43896 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
43897 prototype.
43898 (grub_halt): Likewise.
43899 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
43900 (cmain): Remove __attribute__((unused)).
43901 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
43902 (grub_heap_len): Likewise.
43903 (grub_machine_fini): New function.
43904 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
43905 (grub_halt): Likewise.
43906 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
43907 function.
43908 * util/powerpc/ieee1275/misc.c: New file.
43909
43910 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
43911
43912 * DISTLIST: New file.
43913 * gendistlist.sh: Likewise.
43914
43915 * Makefile.in (COMMON_DISTFILES): Removed.
43916 (BOOT_DISTFILES): Likewise.
43917 (CONF_DISTFILES): Likewise.
43918 (DISK_DISTFILES): Likewise.
43919 (FS_DISTFILES): Likewise.
43920 (INCLUDE_DISTFILES): Likewise.
43921 (KERN_DISTFILES): Likewise.
43922 (LOADER_DISTFILES): Likewise.
43923 (TERM_DISTFILES): Likewise.
43924 (UTIL_DISTFILES): Likewise.
43925 (DISTFILES): Likewise.
43926 (uninstall): Uninstall files in $(pkgdata_DATA).
43927 (DISTLIST): New target.
43928 (distdir): Use the contents of the file DISTLIST to get a list of
43929 distributed files.
43930
43931 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
43932
43933 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
43934 descriptor. This is ported from GRUB Legacy.
43935
43936 * gencmdlist.sh: Added an extra semicolon to make it work with
43937 old sed versions. Reported by Robert Bihlmeyer
43938 <robbe@orcus.priv.at>.
43939
43940 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
43941
43942 Automatic loading of commands is supported.
43943
43944 * normal/main.c (read_command_list): New function.
43945 (grub_normal_execute): Call read_command_list.
43946
43947 * normal/command.c (grub_register_command): Return zero or CMD.
43948 Allocate CMD->NAME from the heap.
43949 Initialize CMD->MODULE_NAME to zero.
43950 Find the same name as well. If the same command is found and it is
43951 a dummy command, overwrite members. If it is not a dummy command,
43952 return zero.
43953 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
43954 (grub_command_find): If a dummy command is found, load a module
43955 and retry to find a command only once.
43956
43957 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
43958 make sure that each command is loaded.
43959
43960 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
43961 macro.
43962 (struct grub_command): Remove const from the member `name'.
43963 Add a new member `module_name'.
43964 (grub_register_command): Return grub_command_t.
43965
43966 * commands/help.c (grub_cmd_help): Call grub_command_find to make
43967 sure that each command is loaded.
43968
43969 * genmk.rb (PModule::rule): Specify a module name without the
43970 suffix ".mod" to gencmdlist.sh.
43971
43972 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
43973
43974 * gencmdlist.sh: New file.
43975
43976 * genmk.rb (PModule::rule): Generate a rule for a command list.
43977 Clean command.lst.
43978 Generate command.lst from $(COMMANDFILES).
43979
43980 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
43981 (DATA): Added $(pkgdata_DATA).
43982 (install-local): Install files in $(pkgdata_DATA).
43983
43984 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
43985
43986 * term/i386/pc/vga.c (debug_command): Removed.
43987 (GRUB_MOD_INIT): Do not register the command "debug".
43988
43989 From Hollis Blanchard:
43990 * commands/configfile.c: New file.
43991 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
43992 commands/configfile.c.
43993 (pkgdata_MODULES): Added configfile.mod.
43994 (configfile_mod_SOURCES): New variable.
43995 (configfile_mod_CFLAGS): Likewise.
43996 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43997 commands/configfile.c.
43998 (pkgdata_MODULES): Added configfile.mod.
43999 (configfile_mod_SOURCES): New variable.
44000 (configfile_mod_CFLAGS): Likewise.
44001 * util/grub-emu.c (main): Call grub_configfile_init and
44002 grub_configfile_fini.
44003 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
44004 prototype.
44005 [GRUB_UTIL] (grub_configfile_fini): Likewise.
44006
44007 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
44008
44009 * normal/arg.c (grub_arg_show_help): Do not show the bug report
44010 address.
44011
44012 * commands/help.c (grub_cmd_help): Do not print newlines after
44013 the last command in print_command_help.
44014
44015 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
44016
44017 * commands/default.h: New file.
44018 * commands/timeout.h: Likewise.
44019 * normal/context.c: Likewise.
44020
44021 * util/misc.c: Do not include sys/times.h.
44022 Include sys/time.h and grub/machine/time.h.
44023 (grub_get_rtc): Rewritten with gettimeofday.
44024
44025 * util/grub-emu.c (main): Call grub_default_init and
44026 grub_timeout_init before grub_normal_init, and call
44027 grub_timeout_fini and grub_default_fini after grub_main.
44028
44029 * util/console.c (grub_ncurses_checkkey): Return the read
44030 character or -1.
44031
44032 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
44033 timeouts.
44034
44035 * normal/main.c (read_config_file): Push MENU. If this fails,
44036 print an error and wait for a user input.
44037 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
44038 If a menu is empty or an error occurs, pop MENU.
44039 (grub_normal_execute): Pop and free MENU after grub_menu_run
44040 returns.
44041
44042 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
44043
44044 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
44045 include time.h.
44046 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
44047 without GRUB_UTIL.
44048 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
44049 time.h.
44050 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
44051 without GRUB_UTIL.
44052
44053 * include/grub/normal.h (struct grub_menu_list): New struct.
44054 (grub_menu_list_t): New type.
44055 (struct grub_context): New struct.
44056 (grub_context_t): New type.
44057 (grub_register_command): Got rid of EXPORT_FUNC.
44058 (grub_unregister_command): Likewise.
44059 (grub_context_get): New prototype.
44060 (grub_context_get_current_menu): Likewise.
44061 (grub_context_push_menu): Likewise.
44062 (grub_context_pop_menu): Likewise.
44063 [GRUB_UTIL] (grub_default_init): Likewise.
44064 [GRUB_UTIL] (grub_default_fini): Likewise.
44065 [GRUB_UTIL] (grub_timeout_init): Likewise.
44066 [GRUB_UTIL] (grub_timeout_fini): Likewise.
44067
44068 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
44069 commands/timeout.c and normal/context.c.
44070 (pkgdata_MODULES): Added default.mod and timeout.mod.
44071 (normal_mod_SOURCES): Added normal/context.c.
44072 (default_mod_SOURCES): New variable.
44073 (default_mod_CFLAGS): Likewise.
44074 (timeout_mod_SOURCES): Likewise.
44075 (timeout_mod_CFLAGS): Likewise.
44076 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
44077 conf/i386-pc.rmk.
44078 (pkgdata_MODULES): Added default.mod and timeout.mod.
44079 (normal_mod_SOURCES): Added normal/context.c.
44080 (default_mod_SOURCES): New variable.
44081 (default_mod_CFLAGS): Likewise.
44082 (timeout_mod_SOURCES): Likewise.
44083 (timeout_mod_CFLAGS): Likewise.
44084
44085 * Makefile.in (all-local): Added $(MKFILES).
44086
44087 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
44088
44089 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
44090 (grub_emu_SOURCES): Likewise.
44091 (pkgdata_MODULES): Add `sun.mod'.
44092 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
44093 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44094 `partmap/sun.c'.
44095 (pkgdata_MODULES): Add `sun.mod'.
44096 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
44097 * include/grub/partition.h (grub_sun_partition_map_init): New
44098 prototype.
44099 (grub_sun_partition_map_fini): Likewise.
44100 * partmap/sun.c: New file.
44101 * util/grub-emu.c (main): Initialize and de-initialize the sun
44102 partitionmap support.
44103
44104 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
44105
44106 This implements an Emacs-like menu entry editor.
44107
44108 * normal/menu_entry.c: New file.
44109
44110 * util/console.c (grub_ncurses_putchar): Translate some Unicode
44111 characters to ASCII.
44112 (saved_char): New variable.
44113 (grub_ncurses_checkkey): Rewritten completely.
44114 (grub_ncurses_getkey): Likewise.
44115 (grub_ncurses_init): Call raw instead of cbreak.
44116
44117 * normal/menu.c (print_entry): Do not put a space.
44118 (init_page): Renamed to ...
44119 (grub_menu_init_page): ... this. All callers changed.
44120 (edit_menu_entry): Removed.
44121 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
44122
44123 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
44124
44125 * kern/misc.c (grub_vprintf): Call grub_refresh.
44126
44127 * normal/menu.c (DISP_LEFT): Renamed to ...
44128 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
44129 * normal/menu.c (DISP_UP): Renamed to ...
44130 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
44131 * normal/menu.c (DISP_RIGHT): Renamed to ...
44132 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
44133 * normal/menu.c (DISP_DOWN): Renamed to ...
44134 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
44135 * normal/menu.c (DISP_HLINE): Renamed to ...
44136 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
44137 * normal/menu.c (DISP_VLINE): Renamed to ...
44138 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
44139 * normal/menu.c (DISP_UL): Renamed to ...
44140 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
44141 * normal/menu.c (DISP_UR): Renamed to ...
44142 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
44143 * normal/menu.c (DISP_LL): Renamed to ...
44144 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
44145 * normal/menu.c (DISP_LR): Renamed to ...
44146 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
44147 * normal/menu.c (TERM_WIDTH): Renamed to ...
44148 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
44149 * normal/menu.c (TERM_HEIGHT): Renamed to ...
44150 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
44151 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
44152 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
44153 * normal/menu.c (TERM_MARGIN): Renamed to ...
44154 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
44155 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
44156 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
44157 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
44158 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
44159 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
44160 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
44161 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
44162 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
44163 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
44164 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
44165 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
44166 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
44167 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
44168 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
44169 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
44170 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
44171 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
44172 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
44173 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
44174 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
44175 All callers changed.
44176
44177 * include/grub/normal.h: New prototype.
44178
44179 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44180 normal/menu_entry.c.
44181 (normal_mod_SOURCES): Likewise.
44182 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44183 (normal_mod_SOURCES): Likewise.
44184
44185 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
44186
44187 * include/grub/normal.h (grub_halt_init): New prototype.
44188 (grub_halt_fini): Likewise.
44189 (grub_reboot_init): Likewise.
44190 (grub_reboot_fini): Likewise.
44191
44192 * util/grub-emu.c: Include signal.h.
44193 (main_env): New global variable.
44194 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
44195 catch C-c.
44196 (grub_machine_fini): New function.
44197 (main): Call grub_halt_init and grub_reboot_init before
44198 grub_main, and grub_reboot_fini and grub_halt_fini after it.
44199 Call setjmp with MAIN_ENV to go back afterwards.
44200 Call grub_machine_fini right before return.
44201
44202 * include/grub/util/misc.h: Include setjmp.h.
44203 (main_env): New prototype.
44204
44205 * include/grub/kernel.h (grub_machine_fini): New prototype.
44206 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
44207 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
44208
44209 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
44210 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
44211 * term/i386/pc/console.c (grub_console_fini): Likewise.
44212
44213 * util/i386/pc/misc.c: New file.
44214
44215 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44216 util/i386/pc/misc.c, commands/i386/pc/halt.c and
44217 commands/i386/pc/reboot.c.
44218
44219 2005-02-14 Guillem Jover <guillem@hadrons.org>
44220
44221 * include/grub/dl.h (grub_dl_check_header): New prototype.
44222 (grub_arch_dl_check_header): Change return type to grub_err_t,
44223 remove size parameter and export function. Update all callers.
44224 * kern/dl.c (grub_dl_check_header): New function.
44225 (grub_dl_load_core): Use `grub_dl_check_header' instead of
44226 `grub_arch_dl_check_header'. Check ELF type. Check if sections
44227 are inside the core.
44228 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
44229 independent ELF header checks.
44230 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
44231 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
44232 `grub_dl_check_header' instead of explicit checks. Check for the
44233 ELF type.
44234 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
44235 `grub_dl_check_header' instead of explicit checks. Remove arch
44236 specific ELF header checks.
44237
44238 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
44239 argument SIZE.
44240
44241 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
44242
44243 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
44244 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
44245
44246 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
44247
44248 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
44249 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
44250 (part_map_iterate): Clear `grub_errno' and return 0 if
44251 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
44252 * partmap/amiga.c (amiga_partition_map_iterate): Return
44253 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
44254 * partmap/apple.c (apple_partition_map_iterate): Likewise.
44255
44256 2005-02-01 Guillem Jover <guillem@hadrons.org>
44257
44258 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
44259 help info.
44260
44261 2005-01-31 Marco Gerards <metgerards@student.han.nl>
44262
44263 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
44264 Removed prototype.
44265 (grub_rescue_cmd_linux): New prototype.
44266 (grub_rescue_cmd_initrd): Likewise.
44267 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
44268 `bi_rec'.
44269 (grub_linux_release_mem): Release the memory for the initrd.
44270 (grub_load_linux): Renamed from this...
44271 (grub_rescue_cmd_linux): ...To this. Changed all callers.
44272 Changed `entry' not to be static. Loop over memory regions to
44273 find another one when the default fails.
44274 (grub_rescue_cmd_initrd): New function.
44275 (grub_linux_init): Remove function.
44276 (grub_linux_fini): Likewise.
44277 (GRUB_MOD_INIT): Register `initrd'.
44278 (GRUB_MOD_FINI): Unregister `initrd'.
44279 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
44280 Function removed.
44281 (grub_linux_normal_fini): Likewise.
44282 (GRUB_MOD_INIT): Register `initrd'.
44283 (GRUB_MOD_FINI): Unregister `initrd'.
44284
44285 2005-01-31 Marco Gerards <metgerards@student.han.nl>
44286
44287 * commands/help.c: New file.
44288 * normal/arg.c (show_help): Renamed to...
44289 (grub_arg_show_help): ... this.
44290 * commands/i386/pc/halt.c: New file.
44291 * commands/i386/pc/reboot.c: Likewise.
44292 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
44293 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
44294 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
44295 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
44296 variables.
44297 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44298 `commands/help.c'.
44299 (pkgdata_MODULES): Add `help.mod'.
44300 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
44301 * grub/i386/pc/init.h (grub_reboot): New prototype.
44302 (grub_halt): Likewise.
44303 * include/grub/normal.h (grub_arg_show_help): New prototype.
44304 (grub_help_init): Likewise.
44305 (grub_help_fini): Likewise.
44306 * util/grub-emu.c (main): Initialize and deinitialize the help
44307 command.
44308
44309 * normal/cmdline.c (grub_cmdline_get): Doc fix.
44310
44311 * normal/command.c (grub_command_init): Fixed the description of
44312 the `set' and `unset' commands.
44313
44314 2005-01-31 Marco Gerards <metgerards@student.han.nl>
44315
44316 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
44317 function.
44318 * commands/ieee1275/halt.c: New file.
44319 * commands/ieee1275/reboot.c: Likewise.
44320 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
44321 `__attribute__ ((unused))'. Some GCS related fixed.
44322 (grub_suspend_init) [GRUB_UTIL]: Function removed.
44323 (grub_suspend_fini): Likewise.
44324 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
44325 and `halt.mod'.
44326 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
44327 (halt_mod_CFLAGS): New variables.
44328 * include/grub/powerpc/ieee1275/ieee1275.h
44329 (grub_ieee1275_interpret): New prototype.
44330
44331 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
44332
44333 * include/grub/misc.h (memmove): New prototype.
44334 (memcpy): Likewise.
44335
44336 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
44337
44338 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
44339 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
44340
44341 2005-01-22 Marco Gerards <metgerards@student.han.nl>
44342
44343 * kern/misc.c (grub_strndup): Function rewritten.
44344
44345 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
44346
44347 * normal/menu.c (TERM_WIDTH): Macro redefined.
44348 (TERM_TOP_BORDER_Y): Likewise.
44349 (draw_border): Replaced while-loop by a for-loop. Make the number
44350 of lines consistent with the number of lines displayed in
44351 print_entries. Added a margin below the rectangle.
44352 (print_entry): Make the entry fit in the rectangle.
44353 (print_entries): Display the scroll arrows next to the right
44354 border.
44355
44356 2005-01-21 Marco Gerards <metgerards@student.han.nl>
44357
44358 * fs/minix.c (grub_minix_find_file): Reserve more space for
44359 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
44360 `grub_strncpy' to copy `path' into it.
44361
44362 2005-01-21 Marco Gerards <metgerards@student.han.nl>
44363
44364 Add the loopback device, a device via which files can be accessed
44365 as devices.
44366
44367 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
44368 (pkgdata_MODULES): Add loopback.mod.
44369 (loopback_mod_SOURCES): New variable.
44370 (loopback_mod_CFLAGS): Likewise.
44371 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44372 `disk/loopback.c'.
44373 (pkgdata_MODULES): Add loopback.mod.
44374 (loopback_mod_SOURCES): New variable.
44375 (loopback_mod_CFLAGS): Likewise.
44376 * disk/loopback.c: new file.
44377 * include/grub/normal.h (grub_loop_init): New prototype.
44378 (grub_loop_fini): New prototype.
44379 * util/grub-emu.c (main): Initialize and de-initialize loopback
44380 support.
44381 * include/grub/disk.h (grub_disk_dev_id): Add
44382 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
44383
44384 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
44385
44386 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
44387 function.
44388 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
44389 (suspend_mod_SOURCES): New variable.
44390 (suspend_mod_CFLAGS): Likewise.
44391 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
44392 New prototype.
44393 * commands/ieee1275/suspend.c: New file.
44394
44395 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44396
44397 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
44398 ((unused))' to `__attribute__ ((used))'.
44399 (GRUB_MOD_FINI): Likewise.
44400 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
44401 * genmk.rb (PModule): Assign space to common symbols when linking
44402 modules.
44403
44404 2005-01-20 Marco Gerards <metgerards@student.han.nl>
44405
44406 * include/grub/mm.h (grub_mm_init_region): Change the type of the
44407 `unsigned' arguments to `grub_size_t'.
44408 (grub_malloc): Likewise.
44409 (grub_realloc): Likewise.
44410 (grub_memalign): Likewise.
44411 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
44412 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
44413 * util/misc.c (grub_malloc): Likewise.
44414 (grub_realloc): Likewise.
44415 * kern/mm.c (get_header_from_pointer): Change the casts to
44416 `unsigned' into a cast to `grub_size_t'.
44417
44418 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
44419 point to `currnode' when `currnode' is changed.
44420
44421 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
44422 Schottelius <nico-linux@schottelius.org>.
44423
44424 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
44425
44426 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
44427 (note_path): Remove variable.
44428 (GRUB_IEEE1275_NOTE_NAME): New macro.
44429 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
44430 (grub_ieee1275_note_hdr): New structure.
44431 (grub_ieee1275_note_desc): Likewise.
44432 (grub_ieee1275_note): Likewise.
44433 (load_note): Remove `dir' argument. All callers updated. Remove
44434 `note_img' and `path'. Do not load a file from `note_path'.
44435 Initialize a struct grub_ieee1275_note and write that to `out'.
44436 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
44437
44438 2005-01-05 Marco Gerards <metgerards@student.han.nl>
44439
44440 * util/misc.c (grub_util_read_image): Revert last change. It
44441 called `grub_util_read_at', which seeks from the beginning of the
44442 file.
44443
44444 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
44445
44446 * TODO: Add note about endianness in grub-mkimage.
44447 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
44448 section.
44449 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
44450 (grub_mkimage_SOURCES): New target.
44451 * include/grub/kernel.h (grub_start_addr): Remove variable.
44452 (grub_end_addr): Likewise.
44453 (grub_total_module_size): Likewise.
44454 (grub_kernel_image_size): Likewise.
44455 (GRUB_MODULE_MAGIC): New constant.
44456 (grub_module_info): New structure.
44457 (grub_arch_modules_addr): New prototype.
44458 (grub_get_end_addr): Remove prototype.
44459 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
44460 * include/grub/powerpc/ieee1275/kernel.h: New file.
44461 * include/grub/util/misc.h (grub_util_get_fp_size): New
44462 prototype.
44463 (grub_util_read_at): Likewise.
44464 (grub_util_write_image_at): Likewise.
44465 * kern/main.c (grub_get_end_addr): Remove function.
44466 (grub_load_modules): Call grub_arch_modules_addr instead of using
44467 grub_end_addr. Look for a grub_module_info struct in memory. Use
44468 the grub_module_info fields instead of calling grub_get_end_addr
44469 as loop conditions. Move grub_add_unused_region code here.
44470 (grub_add_unused_region): Remove function.
44471 * kern/i386/pc/init.c: Include grub/cache.h.
44472 (grub_machine_init): Remove call to grub_get_end_addr. Remove
44473 one call to add_mem_region.
44474 (grub_arch_modules_addr): New function.
44475 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
44476 (grub_total_module_size): Likewise.
44477 Include grub/machine/kernel.h.
44478 (grub_arch_modules_addr): New function.
44479 * util/grub-emu.c (grub_end_addr): Remove variable.
44480 (grub_total_module_size): Likewise.
44481 (grub_arch_modules_addr): New function.
44482 * util/misc.c: Include unistd.h.
44483 (grub_util_get_fp_size): New function.
44484 (grub_util_read_at): Likewise.
44485 (grub_util_write_image_at): Likewise.
44486 (grub_util_read_image): Call grub_util_read_at.
44487 (grub_util_write_image): Call grub_util_write_image_at.
44488 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
44489 additional memory in kernel_img for a struct grub_module_info.
44490 Fill in that grub_module_info.
44491 * util/powerpc/ieee1275/grub-mkimage.c: New file.
44492
44493 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
44494
44495 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
44496 New function.
44497 * include/grub/powerpc/ieee1275/ieee1275.h
44498 (grub_ieee1275_milliseconds): New prototype.
44499 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
44500 Change to 1000.
44501 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
44502 grub_ieee1275_milliseconds.
44503
44504 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
44505
44506 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
44507 variable.
44508 (find_options): New function.
44509 (cmain): Call find_options.
44510 * include/grub/powerpc/ieee1275/ieee1275.h
44511 (grub_ieee1275_realmode): New extern variable.
44512 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
44513 grub_map if grub_ieee1275_realmode is false.
44514
44515 2004-12-29 Marco Gerards <metgerards@student.han.nl>
44516
44517 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
44518 lines are inserted and make it work like readline. Reported by
44519 Vincent Pelletier <subdino2004@yahoo.fr>.
44520
44521 2004-12-28 Marco Gerards <metgerards@student.han.nl>
44522
44523 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
44524
44525 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
44526 `kern/powerpc/cache.S'.
44527
44528 2004-12-27 Marco Gerards <metgerards@student.han.nl>
44529
44530 * genmk.rb: Handle the `Program' class in the main loop. Written
44531 by Johan Rydberg <jrydberg@gnu.org>.
44532 (Program): New class.
44533 (programs): New variable.
44534 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
44535 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
44536 instead of "grub/kernel.h". Include <grub/machine/init.h>.
44537 (help_arch): Function removed.
44538 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
44539 `powerpc/libgcc.h' and `loader.h'.
44540 (pkgdata_PROGRAMS): New variable.
44541 (sbin_UTILITIES): Variable removed.
44542 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
44543 (grubof_SOURCES): Variable re-defined so it only includes the
44544 core functionality.
44545 (grubof_CFLAGS): Remove `-DGRUBOF'.
44546 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
44547 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
44548 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
44549 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
44550 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
44551 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
44552 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
44553 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
44554 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
44555 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
44556 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
44557 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
44558 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
44559 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
44560 (pc_mod_CFLAGS): New variables.
44561 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
44562 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
44563 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
44564 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
44565 Moved from here...
44566 * include/grub/i386/pc/init.h (grub_os_area_addr)
44567 (rub_os_area_size): ... to here.
44568 * include/grub/powerpc/ieee1275/ieee1275.h
44569 (grub_ieee1275_entry_fn): Export symbol.
44570 * include/grub/powerpc/ieee1275/init.h: New file.
44571 * include/grub/powerpc/libgcc.h: Likewise.
44572 * include/grub/cache.h: Likewise.
44573 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
44574 <hollis@penguinppc.org>.
44575 * kern/dl.c: Include <grub/cache.h>.
44576 (grub_dl_flush_cache): New function.
44577 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
44578 for this module.
44579 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
44580 (grub_console_init): Removed prototypes.
44581 (grub_machine_init): Don't initialize the modules anymore.
44582 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
44583 static.
44584 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
44585 Macro undef removed.
44586 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
44587 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
44588 relocation `R_PPC_REL32'. Return an error when the relocation is
44589 unknown.
44590 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
44591 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
44592 * util/misc.c (grub_arch_sync_caches): Likewise.
44593
44594 2004-12-19 Marco Gerards <metgerards@student.han.nl>
44595
44596 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
44597 `symlist.c', add `grubof_symlist.c'.
44598 (symlist.c): Variable removed.
44599 (grubof_HEADERS): Variable added.
44600 (grubof_symlist.c): New target.
44601 (kernel_syms.lst): Use `grubof_HEADERS' instead of
44602 `kernel_img_HEADERS'.
44603 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
44604 * kern/powerpc/dl.c: New file.
44605 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
44606 Function removed.
44607 (grub_arch_dl_relocate_symbols): Likewise.
44608 (grub_register_exported_symbols): Likewise.
44609
44610 2004-12-13 Marco Gerards <metgerards@student.han.nl>
44611
44612 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
44613 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
44614 to fail instead. Reported by Vincent Pelletier
44615 <subdino2004@yahoo.fr>.
44616
44617 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
44618 it is not allocated. Reported by Vincent Pelletier
44619 <subdino2004@yahoo.fr>.
44620
44621 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
44622 output so the output looks better.
44623
44624 2004-12-04 Marco Gerards <metgerards@student.han.nl>
44625
44626 Modulize the partition map support and add support for the amiga
44627 partition map.
44628
44629 * commands/ls.c: Include <grub/partition.h> instead of
44630 <grub/machine/partition.h>.
44631 * kern/disk.c: Likewise.
44632 * kern/rescue.c: Likewise.
44633 * loader/i386/pc/chainloader.c: Likewise.
44634 * normal/cmdline.c: Likewise.
44635 * kern/powerpc/ieee1275/init.c: Likewise.
44636 (grub_machine_init): Call `grub_pc_partition_map_init',
44637 `grub_amiga_partition_map_init' and
44638 `grub_apple_partition_map_init'.
44639 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
44640 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
44641 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
44642 `partition.h' and `pc_partition.h'.
44643 (grub_setup_SOURCES): Remove
44644 `disk/i386/pc/partition.c'. Add `kern/partition.c',
44645 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
44646 (grub_emu_SOURCES): Likewise.
44647 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
44648 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
44649 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
44650 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
44651 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
44652 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
44653 (grubof_SOURCES): Likewise.
44654 * disk/i386/pc/partition.c: File removed.
44655 * disk/powerpc/ieee1275/partition.c: Likewise.
44656 * include/grub/powerpc/ieee1275/partition.h: Likewise.
44657 * include/grub/i386/pc/partition.h: Likewise.
44658 * kern/partition.c: New file.
44659 * partmap/amiga.c: Likewise.
44660 * partmap/apple.c: Likewise.
44661 * partmap/pc.c: Likewise.
44662 * include/grub/partition.h: Likewise..
44663 * include/grub/pc_partition.h: Likewise.
44664 * util/grub-emu.c: Include <grub/partition.h> instead of
44665 <grub/machine/partition.h>.
44666 (main): Call `grub_pc_partition_map_init',
44667 `grub_amiga_partition_map_init' and
44668 `grub_apple_partition_map_init' and deinitialize afterwards.
44669 * util/i386/pc/biosdisk.c: Include `#include
44670 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
44671 `<grub/machine/partition.h>'.
44672 * util/i386/pc/grub-setup.c: Likewise.
44673 * util/i386/pc/biosdisk.c: Likewise.
44674 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
44675 partition information in case of a PC partition.
44676 * util/i386/pc/grub-setup.c: Include `#include
44677 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
44678 `<grub/machine/partition.h>'.
44679 (setup): Only access the PC specific partition information in case
44680 of a PC partition.
44681
44682 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
44683
44684 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
44685 (grub_longjmp): Likewise.
44686 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
44687 20.
44688 * normal/powerpc/setjmp.S: New file.
44689 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
44690 `normal/powerpc/setjmp.S'.
44691 (grubof_CFLAGS): Add `-DGRUBOF'.
44692 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
44693 [GRUB_UTIL && !GRUBOF].
44694
44695 2004-11-16 Marco Gerards <metgerards@student.han.nl>
44696
44697 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
44698 property named `name'. Correctly handle the error returned by
44699 `grub_ieee1275_finddevice' if a device can not be opened.
44700
44701 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
44702
44703 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
44704 `actual' for negativity.
44705 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
44706 kern/fshelp.c.
44707
44708 2004-11-01 Marco Gerards <metgerards@student.han.nl>
44709
44710 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
44711 (PAGE_OFFSET): New macro.
44712 (CRTC_ADDR_PORT): Likewise.
44713 (CRTC_DATA_PORT): Likewise.
44714 (START_ADDR_HIGH_REGISTER): Likewise.
44715 (START_ADDR_LOW_REGISTER): Likewise.
44716 (GRAPHICS_ADDR_PORT): Likewise.
44717 (GRAPHICS_DATA_PORT): Likewise.
44718 (READ_MAP_REGISTER): Likewise.
44719 (INPUT_STATUS1_REGISTER): Likewise.
44720 (INPUT_STATUS1_VERTR_BIT): Likewise.
44721 (page): New variable.
44722 (wait_vretrace): New function.
44723 (set_read_map): Likewise.
44724 (set_start_address): Likewise.
44725 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
44726 the right page.
44727 (check_vga_mem): Take the page into account.
44728 (write_char): Likewise.
44729 (write_cursor): Likewise.
44730 (scroll_up): Likewise. Copy the page to the page that is not
44731 shown and switch between both pages.
44732 (grub_vga_putchar): Fix off by one error.
44733 (grub_vga_cls): Wait for the vertical retrace. Take the page into
44734 account.
44735
44736 2004-11-01 Marco Gerards <metgerards@student.han.nl>
44737
44738 Add support for iso9660 (including rockridge).
44739
44740 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
44741 (iso9660_mod_SOURCES): New variable.
44742 (iso9660_mod_CFLAGS): Likewise.
44743 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
44744 * include/grub/fs.h (grub_iso9660_init): New prototype.
44745 * util/grub-emu.c (main): Call `grub_iso9660_init'.
44746 * fs/iso9660.c: New file.
44747
44748 * include/grub/misc.h (grub_strncat): New prototype.
44749 * kern/misc.c (grub_strncat): New function.
44750
44751 * fs/hfs.c (grub_hfs_mount): Translate the error
44752 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
44753 * fs/jfs.c (grub_jfs_mount): Likewise.
44754 * fs/ufs.c (grub_ufs_mount): Likewise.
44755
44756 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
44757
44758 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
44759 which initialized BAT registers.
44760 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
44761 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
44762 Move from here...
44763 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
44764 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
44765 ... to here.
44766 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
44767 (grub_mapclaim): Likewise.
44768 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
44769 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
44770 hand.
44771
44772 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
44773
44774 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
44775 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
44776 -ffreestanding and -msoft-float.
44777
44778 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
44779
44780 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
44781 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
44782 set in grub_ieee1275_flags.
44783
44784 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
44785
44786 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
44787 prototype.
44788 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
44789 grub_console_init first.
44790 Change the memory range used for grub_ieee1275_claim and
44791 grub_mm_init_region.
44792 Print an error message if the claim fails.
44793 Include <grub/misc.h>.
44794
44795 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
44796
44797 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
44798 Call grub_children_iterate for device nodes of type `scsi',
44799 `ide', or `ata'.
44800 (grub_ofdisk_open): Remove manual device alias resolution.
44801 Fix memory leak when device cannot be opened.
44802 * include/grub/powerpc/ieee1275/ieee1275.h
44803 (grub_children_iterate): New prototype.
44804 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
44805 New function.
44806 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
44807 Return -1 if args.size was -1.
44808
44809 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
44810
44811 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
44812 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
44813 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
44814 Open Firmware's memory for it; claim memory from _start to _end.
44815 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
44816 (_end): New extern.
44817 (_start): Zero BSS from __bss_start to _end.
44818 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
44819 New extern.
44820 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
44821
44822 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
44823
44824 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
44825 -1 if args.base was -1.
44826
44827 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
44828
44829 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
44830 escape sequence instead of a literal ^L. Also call
44831 grub_ofconsole_gotoxy.
44832
44833 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
44834
44835 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
44836 void * arguments to grub_addr_t. All callers updated. Also make
44837 the `result' argument optional.
44838 (grub_ieee1275_release): change void * arguments to grub_addr_t.
44839 All callers updated.
44840
44841 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
44842
44843 * commands/ls.c (grub_ls_list_files): Use the string following the
44844 initial ')', if present, as the filesystem path.
44845 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
44846
44847 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
44848
44849 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
44850
44851 Make the source code of the menu interface more readable.
44852
44853 * normal/menu.c: Include grub/mm.h.
44854 (TERM_WIDTH): New macro.
44855 (TERM_HEIGHT): Likewise.
44856 (TERM_INFO_HEIGHT): Likewise.
44857 (TERM_MARGIN): Likewise.
44858 (TERM_SCROLL_WIDTH): Likewise.
44859 (TERM_TOP_BORDER_Y): Likewise.
44860 (TERM_LEFT_BORDER_X): Likewise.
44861 (TERM_BORDER_WIDTH): Likewise.
44862 (TERM_MESSAGE_HEIGHT): Likewise.
44863 (TERM_BORDER_HEIGHT): Likewise.
44864 (TERM_NUM_ENTRIES): Likewise.
44865 (TERM_FIRST_ENTRY_Y): Likewise.
44866 (TERM_ENTRY_WIDTH): Likewise.
44867 (TERM_CURSOR_X): Likewise.
44868 (draw_border): Use macros instead of magic numbers.
44869 (print_entry): Likewise.
44870 (print_entries): Likewise.
44871 (run_menu): Likewise. Also, handle the key 'e'.
44872 (run_menu_entry): Ignore empty command lines.
44873 (print_message): Added a new argument EDIT. If EDIT is true,
44874 print a different message.
44875 (init_page): Likewise.
44876 (edit_menu_entry): New function. Not implemented yet.
44877
44878 2004-09-17 Marco Gerards <metgerards@student.han.nl>
44879
44880 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
44881 can be loaded from normal mode.
44882
44883 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
44884 `multiboot.mod'.
44885 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
44886 (multiboot_mod_CFLAGS): New variables.
44887 * loader/i386/pc/linux_normal.c: New file.
44888 * loader/i386/pc/multiboot_normal.c: Likewise.
44889
44890 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
44891 attribute `unused'.
44892
44893 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
44894 `fdiro' to read the mode information from instead of `diro'.
44895
44896 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
44897 looking up a symlink.
44898
44899 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
44900 macro.
44901 * normal/command.c (grub_command_execute): Don't parse the
44902 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
44903 flags of the command.
44904
44905 * normal/menu.c (grub_menu_run): Fix typo.
44906
44907 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
44908
44909 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
44910
44911 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
44912 `y + 1' instead of `y - 1'.
44913
44914 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
44915
44916 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
44917
44918 From Hollis Blanchard <hollis@penguinppc.org>:
44919 * kern/misc.c (memmove): New alias for grub_memmove.
44920 (memcmp): New alias for grub_memcmp.
44921 (memset): New alias for grub_memset.
44922 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
44923 Change "int handle" to "grub_ieee1275_phandle_t handle".
44924 * include/grub/powerpc/ieee1275/ieee1275.h
44925 (grub_ieee1275_get_property): Likewise.
44926
44927 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
44928
44929 Added normal mode command `chainloader' as module chain.mod, which
44930 depends on normal.mod and _chain.mod.
44931
44932 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
44933 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
44934 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
44935 Deleted prototype.
44936 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
44937 but arguments parsing moved to ...
44938 (grub_chainloader_cmd): ... here. New function.
44939 * include/grub/i386/pc/chainloader.h: New file.
44940 * loader/i386/pc/chainloader_normal.c: Likewise.
44941
44942 2004-09-11 Marco Gerards <metgerards@student.han.nl>
44943
44944 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
44945 (grub_mkimage_LDFLAGS): Likewise.
44946 (grub_emu_SOURCES): Likewise.
44947 (kernel_img_HEADERS): Added fshelp.h.
44948 * fs/ext2.c: Include <grub/fshelp.h>.
44949 (FILETYPE_REG): New macro.
44950 (FILETYPE_INO_REG): Likewise.
44951 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
44952 Changed all users.
44953 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
44954 all users.
44955 (grub_fshelp_node): New struct.
44956 (grub_ext2_data): Added member `diropen'. Changed member `inode'
44957 to a pointer.
44958 (grub_ext2_get_file_block): Removed function.
44959 (grub_ext2_read_block): New function.
44960 (grub_ext2_read_file): Replaced parameter `data' by `node'.
44961 This function was written.
44962 (grub_ext2_mount): Read the root inode. Create a diropen struct.
44963 (grub_ext2_find_file): Removed function.
44964 (grub_ext2_read_symlink): New function.
44965 (grub_ext2_iterate_dir): Likewise.
44966 (grub_ext2_open): Rewritten.
44967 (grub_ext2_dir): Rewritten.
44968 * include/grub/fshelp.h: New file.
44969 * fs/fshelp.c: Likewise.
44970
44971 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
44972
44973 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
44974 (print_message): Add a missing newline.
44975 (run_menu): Added timeout support.
44976 (run_menu_entry): New local function.
44977 (grub_menu_run): Added support for booting.
44978
44979 * kern/loader.c (grub_loader_is_loaded): New function.
44980
44981 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
44982 (grub_get_rtc): Exported.
44983
44984 * include/grub/i386/pc/time.h: Include grub/symbol.h.
44985 (grub_get_rtc): Exported.
44986
44987 * include/grub/normal.h (struct grub_command_list): Remove
44988 constant from the member `command'.
44989
44990 * include/grub/loader.h (grub_loader_is_loaded): Declared.
44991
44992 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
44993
44994 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
44995
44996 2004-08-28 Marco Gerards <metgerards@student.han.nl>
44997
44998 Add support for the JFS filesystem.
44999
45000 * fs/jfs.c: New file.
45001 * include/grub/fs.h (grub_jfs_init): New prototype.
45002 (grub_jfs_fini): New prototype.
45003 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
45004 (grub_emu_SOURCES): Likewise.
45005 (pkgdata_MODULES): Add jfs.mod.
45006 (jfs_mod_SOURCES): New variable.
45007 (jfs_mod_CFLAGS): Likewise.
45008 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
45009 (grubof_SOURCES): Likewise.
45010 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
45011
45012 * fs/fat.c (grub_fat_find_dir): Convert the filename little
45013 endian to the host endian.
45014 (grub_fat_utf16_to_utf8): Move function from there...
45015 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
45016 the endianness of the source string anymore.
45017 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
45018
45019 2004-08-24 Marco Gerards <metgerards@student.han.nl>
45020
45021 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
45022 (grub_boot_fini) [GRUB_UTIL]: Likewise.
45023 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
45024 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
45025
45026 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
45027 (grub_hfs_iterate_dir): Make the function static. Add prototypes
45028 for `node_found' and `it_dir'.
45029 (grub_hfs_dir): Add prototype for `dir_hook'.
45030
45031 * fs/minix.c (grub_minix_get_file_block): Add prototype for
45032 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
45033 and `indir32' to silence a gcc warning.
45034
45035 * include/grub/fs.h (grub_hfs_init): New prototype.
45036 (grub_hfs_fini): Likewise.
45037
45038
45039 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
45040
45041 Each disk device has its own id now. This is useful to make use
45042 of multiple disk devices.
45043
45044 * include/grub/disk.h (grub_disk_dev_id): New enum.
45045 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
45046 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
45047
45048 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
45049 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
45050
45051 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
45052 GRUB_DISK_DEVICE_OFDISK_ID as an id.
45053
45054 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
45055 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
45056
45057 * include/grub/disk.h (struct grub_disk_dev): Added a new member
45058 "id" which is used by the cache manager.
45059
45060 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
45061 of just "GRUB".
45062
45063 2004-08-18 Marco Gerards <metgerards@student.han.nl>
45064
45065 * fs/hfs.c: New file.
45066 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
45067 (grub_emu_SOURCES): Likewise.
45068 (pkgdata_MODULES): Add hfs.mod.
45069 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
45070 (grubof_SOURCES): Likewise.
45071 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
45072
45073 * include/grub/misc.h (grub_strncasecmp): Add prototype.
45074 * kern/misc.c (grub_strncasecmp): Add function.
45075
45076 2004-08-14 Marco Gerards <metgerards@student.han.nl>
45077
45078 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
45079 with parentheses.
45080
45081 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
45082 (grub_ext2_dir): In case the directory entry type is unknown, read
45083 it from the inode.
45084
45085 2004-08-02 Peter Bruin <pjbruin@dds.nl>
45086
45087 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
45088 grub_load_linux instead of grub_rescue_cmd_linux as second
45089 argument of grub_rescue_register_command.
45090
45091 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
45092
45093 2004-07-27 Marco Gerards <metgerards@student.han.nl>
45094
45095 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
45096 function.
45097 * commands/boot.c: Remove the check for `GRUB_UTIL'.
45098 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
45099 `loader/powerpc/ieee1275/linux.c',
45100 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
45101 * include/grub/powerpc/ieee1275/ieee1275.h
45102 (grub_ieee1275_release): New prototype.
45103 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
45104 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
45105 normal, boot, linux and linux_normal.
45106 * loader/powerpc/ieee1275/linux.c: New file.
45107 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
45108
45109 2004-07-12 Marco Gerards <metgerards@student.han.nl>
45110
45111 * normal/arg.c (grub_arg_parse): Correct error handling after
45112 reallocating the argumentlist (check if `argl' is not null instead
45113 of checking if `args' is not null).
45114 * kern/mm.c (grub_realloc): Return the same pointer when using the
45115 same region, instead of returning the header address.
45116
45117 2004-07-11 Marco Gerards <metgerards@student.han.nl>
45118
45119 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
45120 one block instead of two when looking for the initial partition.
45121 (grub_partition_probe): Initialize the local variable `p' with 0.
45122 Use base 10 for the grub_strtoul call.
45123 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
45124 need for one local variable.
45125 (grub_strtoul): Don't add the new value to `num', instead of that
45126 just assign it.
45127
45128 2004-07-11 Marco Gerards <metgerards@student.han.nl>
45129
45130 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
45131 (pxeboot_img_SOURCES): New variable.
45132 (pxeboot_img_ASFLAGS): Likewise.
45133 (pxeboot_img_LDFLAGS): Likewise.
45134 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
45135 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
45136 <lode_leroy@hotmail.com>.
45137
45138 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45139
45140 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
45141 there was no input.
45142
45143 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45144
45145 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
45146 the history buffer logic.
45147
45148 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45149
45150 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
45151 (FILETYPE_INO_SYMLINK): New macros.
45152 (grub_ext2_find_file): Check if the node is a directory using the
45153 inode stat information instead of using the filetype in the
45154 dirent. Exclude the first character of an absolute symlink.
45155 (grub_ext2_dir): Mask out the filetype part of the mode member of
45156 the inode.
45157
45158 2004-05-24 Marco Gerards <metgerards@student.han.nl>
45159
45160 Add support for UFS version 1 and 2. Add support for the minix
45161 filesystem version 1 and 2, both the variants with 14 and 30 long
45162 filenames.
45163
45164 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
45165 fs/minix.c.
45166 (grub_emu_SOURCES): Likewise.
45167 (pkgdata_MODULES): Add ufs.mod and minix.mod.
45168 (ufs_mod_SOURCES): New variable.
45169 (ufs_mod_CFLAGS): Likewise.
45170 (minix_mod_SOURCES): Likewise.
45171 (minix_mod_CFLAGS): Likewise.
45172 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
45173 fs/minix.c.
45174 (grubof_SOURCES): Likewise.
45175 * fs/ufs.c: New file.
45176 * fs/minix.c: New file.
45177 * include/grub/fs.h (grub_ufs_init): New prototype.
45178 (grub_ufs_fini): Likewise.
45179 (grub_minix_init): Likewise.
45180 (grub_minix_fini): Likewise.
45181 * util/grub-emu.c (main): Initialize and deinitialize UFS and
45182 minix fs.
45183
45184 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
45185
45186 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
45187 commands/ls.c, commands/terminal.c, commands/boot.c,
45188 commands/cmp.c and commands/cat.c.
45189 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
45190
45191 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
45192 "env.h"
45193
45194 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
45195
45196 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
45197 and grub_, respectively. Because the conversion is trivial and
45198 mechanical, I omit the details here. Please refer to the CVS
45199 if you need more information.
45200
45201 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
45202
45203 * include/pupa: Renamed to ...
45204 * include/grub: ... this.
45205 * util/i386/pc/pupa-mkimage.c: Renamed to ...
45206 * util/i386/pc/grub-mkimage.c: ... this.
45207 * util/i386/pc/pupa-setup.c: Renamed to ...
45208 * util/i386/pc/grub-setup.c: ... this.
45209 * util/pupa-emu.c: Renamed to ...
45210 * util/grub-emu.c: ... this.
45211
45212 2004-03-29 Marco Gerards <metgerards@student.han.nl>
45213
45214 Add support for the newworld apple macintosh (PPC). This has been
45215 tested on the powerbook 2000 only. It only adds support for
45216 generic ieee1275 functions, console and disk support. This should
45217 be easy to port to other architectures with support for Open
45218 Firmware.
45219
45220 * configure.ac: Accept the powerpc as host_cpu. In the case of
45221 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
45222 specific tests are only executed while building for the i386.
45223 Inverse test for crosscompile.
45224 * genmk.rb (Utility): Allow assembler files.
45225 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
45226 * conf/powerpc-ieee1275.rmk: New file.
45227 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
45228 * disk/powerpc/ieee1275/partition.c: Likewise.
45229 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
45230 * include/pupa/powerpc/ieee1275/console.h: Likewise.
45231 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
45232 * include/pupa/powerpc/ieee1275/time.h: Likewise.
45233 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
45234 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
45235 * include/pupa/powerpc/ieee1275/loader.h
45236 * include/pupa/powerpc/setjmp.h: Likewise.
45237 * include/pupa/powerpc/types.h: Likewise.
45238 * kern/powerpc/ieee1275/init.c: Likewise.
45239 * kern/powerpc/ieee1275/openfw.c: Likewise.
45240 * term/powerpc/ieee1275/ofconsole.c: Likewise.
45241
45242 These files were written by Johan Rydberg
45243 (jrydberg@night.trouble.net) and I only modified them slightly.
45244
45245 * boot/powerpc/ieee1275/cmain.c: New file.
45246 * boot/powerpc/ieee1275/crt0.S: Likewise.
45247 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
45248 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
45249
45250 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
45251
45252 * Makefile.in: Update copyright.
45253 * genmodsrc.sh: Likewise.
45254 * gensymlist.sh: Likewise.
45255 * term/i386/pc/vga.c: Indent correctly.
45256
45257 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
45258 bugreporting address.
45259 * util/i386/pc/pupa-setup.c (usage): Likewise,
45260 (main): Call pupa_ext2_init and pupa_ext2_fini.
45261
45262 * fs/fat.c (log2): Renamed to ...
45263 (fat_log2): ... this.
45264 All callers changed.
45265 * kern/misc.c (memcpy): Alias to pupa_memmove.
45266 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
45267 lvalue cast.
45268 * util/console.c (pupa_ncurses_fini): Return 0.
45269
45270 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
45271 Move fail label here.
45272 [__GNU__]: Don't warn when using stat.
45273 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
45274 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
45275 long int. Use strtol instead of strtoul.
45276
45277 2004-03-14 Marco Gerards <metgerards@student.han.nl>
45278
45279 * commands/boot.c: New file.
45280 * commands/cat.c: Likewise.
45281 * commands/cmp.c: Likewise.
45282 * commands/ls.c: Likewise.
45283 * commands/terminal.c: Likewise.
45284 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
45285 (pupa_register_command): Changed interface to match the new
45286 argument parser.
45287 (pupa_command_execute): Changed (almost rewritten) so it uses
45288 pupa_split_command. Added support for setting variables using the
45289 syntax `foo=bar'.
45290 (rescue_command): Changed to work with the new argument parser.
45291 (terminal_command): Moved from here to commands/terminal.c.
45292 (set_command): New function.
45293 (unset_command): New function.
45294 (insmod_command): New function.
45295 (rmmod_command): New function.
45296 (lsmod_command): New function.
45297 (pupa_command_init): Don't initialize the command terminal
45298 anymore. Initialize the commands set, unset, insmod, rmmod and
45299 lsmod.
45300 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
45301 (kernel_img_HEADERS): Add arg.h and env.h.
45302 (pupa_mkimage_LDFLAGS): Add kern/env.c.
45303 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
45304 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
45305 normal/arg.c.
45306 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
45307 terminal.mod.
45308 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
45309 (boot_mod_SOURCES): New variable.
45310 (terminal_mod_SOURCES): Likewise.
45311 (ls_mod_SOURCES): Likewise.
45312 (cmp_mod_SOURCES): Likewise.
45313 (cat_mod_SOURCES): Likewise.
45314
45315 * normal/arg.c: New file.
45316 * kern/env.c: Likewise.
45317 * include/pupa/arg.h: Likewise.
45318 * include/pupa/env.h: Likewise.
45319 * font/manager.c (font_command): Changed to match argument parsing
45320 interface changes.
45321 (PUPA_MOD_INIT): Likewise.
45322 * hello/hello.c (pupa_cmd_hello): Likewise.
45323 (PUPA_MOD_INIT): Likewise.
45324 * include/pupa/disk.h: Include <pupa/device.h>.
45325 (pupa_print_partinfo): New prototype.
45326 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
45327 (pupa_dl_get_prefix): Likewise.
45328 * include/pupa/misc.h: Include <pupa/err.h>.
45329 (pupa_isgraph): New prototype.
45330 (pupa_isdigit): Likewise.
45331 (pupa_split_cmdline): Likewise.
45332 * include/pupa/normal.h: Include <pupa/arg.h>.
45333 (pupa_command): Changed the prototype of the member `func' to
45334 match the argument parsing interface. Added member `options'.
45335 (pupa_register_command): Updated to match function.
45336 (pupa_arg_parse): New prototype.
45337 (pupa_hello_init) [PUPA_UTIL]: New prototype.
45338 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
45339 (pupa_ls_init) [PUPA_UTIL]: Likewise.
45340 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
45341 (pupa_cat_init) [PUPA_UTIL]: Likewise.
45342 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
45343 (pupa_boot_init) [PUPA_UTIL]: Likewise.
45344 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
45345 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
45346 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
45347 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
45348 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
45349 * kern/disk.c: Include <pupa/file.h>.
45350 (pupa_print_partinfo): New function.
45351 * kern/dl.c: Include <pupa/env.h>.
45352 (pupa_dl_dir): Variable removed.
45353 (pupa_dl_load): Use the environment variable `prefix' instead of
45354 the variable pupa_dl_dir.
45355 (pupa_dl_set_prefix): Function removed.
45356 (pupa_dl_get_prefix): Likewise.
45357 * kern/i386/pc/init.c: Include <pupa/env.h>.
45358 (pupa_machine_init): Use the environment variable `prefix' instead of
45359 using pupa_dl_set_prefix to set the prefix.
45360 * kern/main.c: Include <pupa/env.h>.
45361 (pupa_set_root_dev): Use the environment variable `prefix' instead of
45362 using pupa_dl_get_prefix to get the prefix.
45363 * kern/misc.c: Include <pupa/env.h>.
45364 (pupa_isdigit): New function.
45365 (pupa_isgraph): Likewise.
45366 (pupa_ftoa): Likewise.
45367 (pupa_vsprintf): Added support for printing values of the type
45368 `double'. Make it possible to format variable output when using
45369 formatting like `%1.2%f'.
45370 (pupa_split_cmdline): New function.
45371 * kern/rescue.c: Include <pupa/env.h>.
45372 (next_word): Removed function.
45373 (pupa_rescue_cmd_prefix): Likewise.
45374 (pupa_rescue_cmd_set): New function.
45375 (pupa_rescue_cmd_unset): New function.
45376 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
45377 split the command line instead of splitting it here. Added
45378 support for setting variables using the syntax `foo=bar'. Don't
45379 initialize the prefix command anymore. Initialized the set and
45380 unset commands.
45381 * normal/cmdline.c: Include <pupa/env.h>.
45382 (pupa_tab_complete): Added prototypes for print_simple_completion,
45383 print_partition_completion, add_completion, iterate_commands,
45384 iterate_dev, iterate_part and iterate_dir. Moved code to print
45385 partition information from here to kern/disk.c.
45386 (pupa_cmdline_run): Don't check if the function exists anymore.
45387 * normal/main.c: Include <pupa/env.h>.
45388 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
45389 instead of using pupa_dl_get_prefix to get the prefix.
45390 * term/i386/pc/vga.c: Include <pupa/arg.h>.
45391 (check_vga_mem): Cast pointers to `void *' to silence a gcc
45392 warning.
45393 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
45394 (pupa_vga_setcolor): Declare unused variables with `__attribute__
45395 ((unused))' to silence a gcc warning.
45396 (pupa_vga_setcolor): Likewise.
45397 (debug_command): Changed to match argument parsing
45398 interface changes.
45399 * util/pupa-emu.c: Include <pupa/env.h>.
45400 (options): Added 0's for unused fields to silence a gcc warning.
45401 (argp): Likewise.
45402 (main): Use the environment variable `prefix' instead of using
45403 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
45404 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
45405 and terminal.
45406
45407 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
45408 * util/misc.c: Include <malloc.h>.
45409 (pupa_malloc): Rewritten so errors are correctly reported.
45410 (pupa_realloc): Likewise.
45411 (pupa_memalign): Likewise.
45412 (pupa_mm_init_region): Declare unused variables with
45413 `__attribute__ ((unused))' to silence a gcc warning.
45414 * normal/i386/setjmp.S: Remove tab at the end of the file to
45415 silence a gcc warning.
45416 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
45417 variables with `__attribute__ ((unused))' to silence a gcc
45418 warning.
45419 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
45420 local variable i unsigned to silence a gcc warning.
45421
45422 * kern/term.c: Include <pupa/misc.h>.
45423 (pupa_more_lines): New variable.
45424 (pupa_more): Likewise.
45425 (pupa_putcode): When the pager is active pause at the end of every
45426 screen.
45427 (pupa_set_more): New function.
45428 * include/pupa/term.h (pupa_set_more): New prototype.
45429
45430
45431 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
45432
45433 Now this project is GRUB 2 rather than PUPA. The location of
45434 the CVS repository was moved to GRUB's.
45435
45436 * configure.ac: Use bug-grub as the reporting address.
45437 Use GRUB instead of PUPA.
45438 Change the version number to 1.90.
45439
45440 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
45441
45442 * genkernsyms.sh: Updated copyright information.
45443 * genmk.rb: Likewise.
45444 * genmodsrc.sh: Likewise.
45445 * gensymlist.sh: Likewise.
45446 * boot/i386/pc/boot.S: Likewise.
45447 * boot/i386/pc/diskboot.S: Likewise.
45448 * disk/i386/pc/biosdisk.c: Likewise.
45449 * disk/i386/pc/partition.c: Likewise.
45450 * font/manager.c: Likewise.
45451 * fs/ext2.c: Likewise.
45452 * fs/fat.c: Likewise.
45453 * include/pupa/boot.h: Likewise.
45454 * include/pupa/device.h: Likewise.
45455 * include/pupa/disk.h: Likewise.
45456 * include/pupa/dl.h: Likewise.
45457 * include/pupa/elf.h: Likewise.
45458 * include/pupa/err.h: Likewise.
45459 * include/pupa/file.h: Likewise.
45460 * include/pupa/font.h: Likewise.
45461 * include/pupa/fs.h: Likewise.
45462 * include/pupa/kernel.h: Likewise.
45463 * include/pupa/loader.h: Likewise.
45464 * include/pupa/misc.h: Likewise.
45465 * include/pupa/mm.h: Likewise.
45466 * include/pupa/net.h: Likewise.
45467 * include/pupa/normal.h: Likewise.
45468 * include/pupa/rescue.h: Likewise.
45469 * include/pupa/setjmp.h: Likewise.
45470 * include/pupa/symbol.h: Likewise.
45471 * include/pupa/term.h: Likewise.
45472 * include/pupa/types.h: Likewise.
45473 * include/pupa/i386/setjmp.h: Likewise.
45474 * include/pupa/i386/types.h: Likewise.
45475 * include/pupa/i386/pc/biosdisk.h: Likewise.
45476 * include/pupa/i386/pc/boot.h: Likewise.
45477 * include/pupa/i386/pc/console.h: Likewise.
45478 * include/pupa/i386/pc/init.h: Likewise.
45479 * include/pupa/i386/pc/kernel.h: Likewise.
45480 * include/pupa/i386/pc/linux.h: Likewise.
45481 * include/pupa/i386/pc/loader.h: Likewise.
45482 * include/pupa/i386/pc/memory.h: Likewise.
45483 * include/pupa/i386/pc/multiboot.h: Likewise.
45484 * include/pupa/i386/pc/partition.h: Likewise.
45485 * include/pupa/i386/pc/time.h: Likewise.
45486 * include/pupa/i386/pc/vga.h: Likewise.
45487 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
45488 * include/pupa/util/getroot.h: Likewise.
45489 * include/pupa/util/misc.h: Likewise.
45490 * include/pupa/util/resolve.h: Likewise.
45491 * kern/device.c: Likewise.
45492 * kern/disk.c: Likewise.
45493 * kern/dl.c: Likewise.
45494 * kern/err.c: Likewise.
45495 * kern/file.c: Likewise.
45496 * kern/fs.c: Likewise.
45497 * kern/loader.c: Likewise.
45498 * kern/main.c: Likewise.
45499 * kern/misc.c: Likewise.
45500 * kern/mm.c: Likewise.
45501 * kern/rescue.c: Likewise.
45502 * kern/term.c: Likewise.
45503 * kern/i386/dl.c: Likewise.
45504 * kern/i386/pc/init.c: Likewise.
45505 * kern/i386/pc/lzo1x.S: Likewise.
45506 * kern/i386/pc/startup.S: Likewise.
45507 * loader/i386/pc/chainloader.c: Likewise.
45508 * loader/i386/pc/linux.c: Likewise.
45509 * loader/i386/pc/multiboot.c: Likewise.
45510 * normal/cmdline.c: Likewise.
45511 * normal/command.c: Likewise.
45512 * normal/main.c: Likewise.
45513 * normal/menu.c: Likewise.
45514 * normal/i386/setjmp.S: Likewise.
45515 * term/i386/pc/console.c: Likewise.
45516 * term/i386/pc/vga.c: Likewise.
45517 * util/console.c: Likewise.
45518 * util/genmoddep.c: Likewise.
45519 * util/misc.c: Likewise.
45520 * util/pupa-emu.c: Likewise.
45521 * util/resolve.c: Likewise.
45522 * util/unifont2pff.rb: Likewise.
45523 * util/i386/pc/biosdisk.c: Likewise.
45524 * util/i386/pc/getroot.c: Likewise.
45525 * util/i386/pc/pupa-mkimage.c: Likewise.
45526 * util/i386/pc/pupa-setup.c: Likewise.
45527
45528 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
45529
45530 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
45531 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
45532 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
45533 reading and reset it after reading.
45534 (pupa_ext2_close): Return PUPA_ERR_NONE.
45535
45536 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
45537 Correct value.
45538 (struct linux_kernel_header): Add kernel_version and
45539 initrd_addr_max.
45540 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
45541 pupa_file_read succeeds.
45542 (pupa_rescue_cmd_initrd): Implement.
45543
45544 2003-12-03 Marco Gerards <metgerards@student.han.nl>
45545
45546 * fs/ext2.c (pupa_ext2_label): New function.
45547 (pupa_ext2_fs): Added label.
45548 * fs/fat.c (pupa_fat_label): New function.
45549 (pupa_fat_fs): Added label.
45550 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
45551
45552 * kern/misc.c (pupa_strndup): New function.
45553 * include/pupa/misc.h (pupa_strndup): New prototype.
45554
45555 * include/pupa/normal.h: Include <pupa/err.h>.
45556 (pupa_set_history): New prototype.
45557 (pupa_iterate_commands): New prototype.
45558 * normal/cmdline.c: Include <pupa/machine/partition.h>,
45559 <pupa/disk.h>, <pupa/file.h>.
45560 (hist_size): New variable.
45561 (hist_lines): Likewise.
45562 (hist_end): Likewise.
45563 (hist_used): Likewise.
45564 (pupa_set_history): New function.
45565 (pupa_history_get): Likewise.
45566 (pupa_history_add): Likewise.
45567 (pupa_history_replace): Likewise.
45568 (pupa_tab_complete): Likewise.
45569 (pupa_cmdline_run): Added tab completion and history buffer. Tab
45570 completion shows partitionnames while completing partitions, this
45571 feature was suggested by Jeff Bailey.
45572 * normal/command.c (pupa_iterate_commands): New function.
45573 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
45574 (pupa_normal_init): Initialize history buffer.
45575 (PUPA_MOD_INIT): Likewise.
45576 (pupa_normal_fini): Free the history buffer.
45577 (PUPA_MOD_FINI): Likewise.
45578
45579 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
45580 key.
45581
45582 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
45583 * configure.ac [i386]: Check for regparam bug.
45584 (NESTED_FUNC_ATTR) [! i386]: Defined.
45585
45586 2003-11-17 Marco Gerards <metgerards@student.han.nl>
45587
45588 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
45589 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
45590 (pupa_emu_SOURCES): New variable.
45591 (pupa_emu_LDFLAGS): Likewise.
45592 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
45593 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
45594 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
45595 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
45596 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
45597 (pupa_jmp_buf): New typedef.
45598 (pupa_setjmp) [PUPA_UTIL]: New macro.
45599 (pupa_longjmp) [PUPA_UTIL]: Likewise.
45600 * include/pupa/term.h (struct pupa_term): New member `refresh'.
45601 (pupa_refresh): New prototype.
45602 * include/pupa/util/getroot.h: New file.
45603 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
45604 it.
45605 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
45606 (pupa_rescue_cmd_cat): Likewise.
45607 (pupa_rescue_cmd_ls): Likewise.
45608 (pupa_rescue_cmd_testload): Likewise.
45609 (pupa_rescue_cmd_lsmod): Likewise.
45610 * normal/cmdline.c (pupa_cmdline_get): Likewise.
45611 * normal/menu.c (run_menu): Likewise.
45612 * kern/term.c (pupa_cls): Likewise.
45613 (pupa_refresh): New function.
45614 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
45615 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
45616 * util/console.c: New file.
45617
45618 * util/i386/pc/getroot.c: New file.
45619 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
45620 (pupa_putchar): New function.
45621 (pupa_refresh): Likewise.
45622 (xgetcwd): Function moved to ...
45623 (strip_extra_slashes): Likewise.
45624 (get_prefix): Likewise.
45625 * util/i386/pc/getroot.c: ... here.
45626 (find_root_device): Function moved and renamed to...
45627 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
45628 Changed all callers.
45629 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
45630 and renamed to...
45631 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
45632 Changed all callers.
45633 * util/misc.c (pupa_memalign): New function.
45634 (pupa_mm_init_region): Likewise.
45635 (pupa_register_exported_symbols): Likewise.
45636 (pupa_putchar): Function removed.
45637 * util/pupa-emu.c: New file.
45638
45639 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
45640
45641 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
45642 (_multiboot_mod_SOURCES): New variable.
45643 (_multiboot_mod_CFLAGS): Likewise.
45644 * loader/i386/pc/multiboot.c: New file.
45645 * include/pupa/i386/pc/multiboot.h: Likewise.
45646 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
45647 (pupa_multiboot_real_boot): New function.
45648 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
45649 (pupa_multiboot_real_boot): New prototype.
45650 (pupa_rescue_cmd_multiboot): Likewise
45651 (pupa_rescue_cmd_module): Likewise.
45652
45653 * kern/loader.c (pupa_loader_set): Continue when
45654 pupa_loader_unload_func() fails.
45655 (pupa_loader_unset): New function.
45656 * include/pupa/loader.h (pupa_loader_unset): New prototype.
45657
45658 * kern/misc.c (pupa_stpcpy): New function.
45659 * include/pupa/misc.h (pupa_stpcpy): New prototype.
45660
45661 2003-11-12 Marco Gerards <metgerards@student.han.nl>
45662
45663 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
45664 for available extensions.
45665
45666 * include/pupa/i386/pc/time.h: New file.
45667 * kern/disk.c: Include <pupa/machine/time.h>.
45668 (PUPA_CACHE_TIMEOUT): New macro.
45669 (pupa_last_time): New variable.
45670 (pupa_disk_open): Flush the cache when there was a timeout.
45671 (pupa_disk_close): Reset the timer.
45672 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
45673 pupa_currticks.
45674 * util/misc.c: Include <sys/times.h>
45675 (pupa_get_rtc): New function.
45676
45677 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
45678
45679 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
45680 as blocks.
45681 (pupa_ext2_get_file_block): Use blocks member.
45682
45683 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
45684 first block. Return -1 instead of pupa_errno on error.
45685
45686 2003-10-27 Marco Gerards <metgerards@student.han.nl>
45687
45688 * README: In the pupa-mkimage example use _chain instead of chain
45689 and ext2 instead of fat.
45690 * TODO: Replace ext2fs with jfs as an example. Add an item for
45691 adding journal playback for ext2fs.
45692 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
45693 (pkgdata_MODULES): Added ext2.mod.
45694 (ext2_mod_SOURCES): New variable.
45695 (ext2_mod_CFLAGS): Likewise.
45696 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
45697 * include/pupa/misc.h (pupa_strncpy): New prototype.
45698 (pupa_strcat): Likewise.
45699 (pupa_strncmp): Likewise.
45700 * kern/misc.c (pupa_strcat): Enable function.
45701 (pupa_strncpy): New function.
45702 (pupa_strncmp): Likewise.
45703 * fs/ext2.c: New file.
45704
45705 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
45706 when the read failed before retrying.
45707 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
45708 (_FILE_OFFSET_BITS): Likewise.
45709 * configure.ac: Added AC_SYS_LARGEFILE.
45710
45711 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
45712
45713 * genmk.rb (PModule#rule): Make sure to get only symbol names
45714 from the output of nm.
45715 Reported by Robert Millan <rmh.grub@aybabtu.com>.
45716
45717 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
45718
45719 I forgot to check in these changes for a long time. This adds
45720 incomplete support for VGA console, and this is still very
45721 buggy. Also, a lot of consideration is required for I18N,
45722 UNICODE, and VGA font issues. Therefore, assume that this is
45723 such that "better than nothing".
45724
45725 * font/manager.c: New file.
45726 * include/pupa/font.h: Likewise.
45727 * include/pupa/i386/pc/vga.h: Likewise.
45728 * term/i386/pc/vga.c: Likewise.
45729 * util/unifont2pff.rb: Likewise.
45730
45731 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
45732 (pkgdata_MODULES): Added vga.mod and font.mod.
45733 (vga_mod_SOURCES): New variables.
45734 (vga_mod_CFLAGS): Likewise.
45735 (font_mod_SOURCES): Likewise.
45736 (font_mod_CFLAGS): Likewise.
45737
45738 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
45739
45740 * include/pupa/term.h: Include pupa/err.h.
45741 (struct pupa_term): Added init and fini.
45742 Changed the argument of putchar to pupa_uint32_t.
45743
45744 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
45745 (pupa_console_real_putchar): New prototype.
45746 (pupa_console_putchar): Removed.
45747 (pupa_console_checkkey): Exported.
45748 (pupa_console_getkey): Likewise.
45749
45750 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
45751 characters.
45752
45753 * kern/term.c (pupa_term_set_current): Rewritten.
45754 (pupa_putchar): Likewise.
45755 (pupa_putcode): New function.
45756
45757 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
45758 (pupa_console_real_putchar): ... this.
45759 (pupa_vga_set_mode): New function.
45760 (pupa_vga_get_font): Likewise.
45761
45762 * normal/command.c: Include pupa/term.h.
45763 (terminal_command): New function.
45764 (pupa_command_init): Register the command "terminal".
45765
45766 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
45767 (DISP_UP): Likewise.
45768 (DISP_RIGHT): Likewise.
45769 (DISP_DOWN): Likewise.
45770 (DISP_HLINE): Likewise.
45771 (DISP_VLINE): Likewise.
45772 (DISP_UL): Likewise.
45773 (DISP_UR): Likewise.
45774 (DISP_LL): Likewise.
45775 (DISP_LR): Likewise.
45776
45777 * term/i386/pc/console.c (pupa_console_putchar): New function.
45778
45779 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
45780
45781 * util/resolve.c (pupa_util_resolve_dependencies): BUG
45782 FIX. Reverse the path_list.
45783
45784 * include/pupa/normal.h: Export pupa_register_command and
45785 pupa_unregister_command.
45786
45787 * hello/hello.c (pupa_cmd_hello): New module.
45788 * conf/i386-pc.rmk: Added hello.mod.
45789
45790 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
45791
45792 * kern/i386/pc/lzo1x.S: New file.
45793
45794 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
45795 (compress_kernel): New variable.
45796 (generate_image): Heavily modified to support compressing a
45797 large part of the core image.
45798
45799 * util/misc.c (pupa_util_read_image): Fix a file descriptor
45800 leak.
45801 (pupa_util_load_image): New function.
45802
45803 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
45804 (pupa_compressed_size): New variable.
45805 (codestart): Enable Gate A20 here.
45806 Decompress the compressed part of the core image.
45807 Rearrange the code to put functions and variables which are
45808 required for initialization in the non-compressed part.
45809 Include lzo1x.S.
45810
45811 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
45812 here.
45813
45814 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
45815
45816 * include/pupa/i386/pc/kernel.h
45817 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
45818 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
45819 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
45820 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
45821 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
45822
45823 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
45824
45825 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
45826 (Utility#rule): Likewise.
45827
45828 * configure.ac: Check if LZO is available.
45829
45830 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
45831
45832 * include/pupa/normal.h: New file.
45833 * include/pupa/setjmp.h: Likewise.
45834 * include/pupa/i386/setjmp.h: Likewise.
45835 * normal/cmdline.c: Likewise.
45836 * normal/command.c: Likewise.
45837 * normal/main.c: Likewise.
45838 * normal/menu.c: Likewise.
45839 * normal/i386/setjmp.S: Likewise.
45840
45841 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
45842 (pupa_rescue_cmd_initrd): Likewise.
45843
45844 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
45845 Likewise.
45846
45847 * kern/i386/pc/startup.S (translation_table): New variable.
45848 (translate_keycode): New function.
45849 (pupa_console_getkey): Call translate_keycode.
45850
45851 * kern/rescue.c (attempt_normal_mode): New function.
45852 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
45853 it failed, print a message.
45854
45855 * kern/mm.c (pupa_real_malloc): Print more information when a
45856 free magic is broken.
45857 (pupa_free): If the first free header is not free actually, set
45858 it to P.
45859
45860 * kern/main.c (pupa_load_normal_mode): Just load the module
45861 "normal".
45862 (pupa_main): Don't print the message
45863 "Entering into rescue mode..." here.
45864
45865 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
45866 Declared.
45867 (pupa_rescue_cmd_initrd): Likewise.
45868 (pupa_rescue_cmd_initrd): Likewise.
45869
45870 * include/pupa/symbol.h (FUNCTION): Specify the type.
45871 (VARIABLE): Likewise.
45872
45873 * include/pupa/err.h (pupa_err_t): Added
45874 PUPA_ERR_UNKNOWN_COMMAND.
45875
45876 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
45877 (pupa_dl_get_prefix): Likewise.
45878
45879 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
45880 Added _chain.mod and _linux.mod instead of chain.mod and
45881 linux.mod.
45882 (chain_mod_SOURCES): Renamed to ...
45883 (_chain_mod_SOURCES): ... this.
45884 (chain_mod_CFLAGS): Renamed to ...
45885 (_chain_mod_CFLAGS): ... this.
45886 (linux_mod_SOURCES): Renamed to ...
45887 (_linux_mod_SOURCES): ... this.
45888 (linux_mod_CFLAGS): Renamed to ...
45889 (_linux_mod_CFLAGS): ... this.
45890 (normal_mod_SOURCES): New variable.
45891 (normal_mod_CFLAGS): Likewise.
45892 (normal_mod_ASFLAGS): Likewise.
45893
45894 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
45895
45896 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
45897 possible.
45898
45899 * kern/dl.c (pupa_dl_ref): Refer depending modules
45900 recursively.
45901 (pupa_dl_unref): Unrefer depending modules recursively.
45902 Don't call pupa_dl_unload implicitly, because PUPA can crash if
45903 a module is unloaded before one depending on that module is
45904 unloaded.
45905 (pupa_dl_unload): Unload depending modules explicitly,
45906 if possible.
45907
45908 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
45909
45910 * include/pupa/i386/pc/linux.h: New file.
45911 * loader/i386/pc/linux.c: Likewise.
45912
45913 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
45914 Removed.
45915 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
45916 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
45917 of PUPA_CHAINLOADER_BOOT_SECTOR.
45918
45919 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
45920 (pupa_linux_prot_size): New variable.
45921 (pupa_linux_tmp_addr): Likewise.
45922 (pupa_linux_real_addr): Likewise.
45923 (pupa_linux_boot_zimage): New function.
45924 (pupa_linux_boot_bzimage): Likewise.
45925
45926 * kern/i386/pc/init.c (struct mem_region): New structure.
45927 (MAX_REGIONS): New macro.
45928 (mem_regions): New variable.
45929 (num_regions): Likewise.
45930 (pupa_os_area_addr): Likewise.
45931 (pupa_os_area_size): Likewise.
45932 (pupa_lower_mem): Likewise.
45933 (pupa_upper_mem): Likewise.
45934 (add_mem_region): New function.
45935 (compact_mem_regions): Likewise.
45936 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
45937 the size of the conventional memory and that of so-called upper
45938 memory (before the first memory hole).
45939 Instead of adding each found region to free memory, use
45940 add_mem_region and add them after removing overlaps.
45941 Also, add only 1/4 of the upper memory to free memory. The rest
45942 is used for loading OS images. Maybe this is ad hoc, but this
45943 makes it much easier to relocate OS images when booting.
45944
45945 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
45946 (pupa_enter_rescue_mode): Don't register initrd and module.
45947
45948 * kern/mm.c: Include pupa/dl.h.
45949
45950 * kern/main.c: Include pupa/file.h and pupa/device.h.
45951
45952 * kern/loader.c (pupa_loader_load_module_func): Removed.
45953 (pupa_loader_load_module): Likewise.
45954
45955 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
45956 ``.o''.
45957
45958 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
45959 (pupa_linux_tmp_addr): Likewise.
45960 (pupa_linux_real_addr): Likewise.
45961 (pupa_linux_boot_zimage): Likewise.
45962 (pupa_linux_boot_bzimage): Likewise.
45963
45964 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
45965 (pupa_upper_mem): Likewise.
45966 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
45967 module is too dangerous.
45968
45969 * include/pupa/loader.h (pupa_os_area_addr): Declared.
45970 (pupa_os_area_size): Likewise.
45971 (pupa_loader_set): Remove the first argument. Loader doesn't
45972 manage modules or initrd any longer.
45973 (pupa_loader_load_module): Removed.
45974
45975 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
45976 (linux_mod_SOURCES): New variable.
45977 (linux_mod_CFLAGS): Likewise.
45978
45979 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
45980
45981 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
45982 the length of a blocklist correctly.
45983
45984 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
45985 Use ioctl only if the OS file is a block device.
45986 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
45987 not very useful for normal files.
45988
45989 * kern/main.c (pupa_set_root_dev): New function.
45990 (pupa_load_normal_mode): Likewise.
45991 (pupa_main): Call those above.
45992
45993 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
45994 pupa_uint16_t.
45995
45996 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
45997
45998 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
45999
46000 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
46001 (setup): Configure the installed partition information and the
46002 dl prefix.
46003
46004 * loader/i386/pc/chainloader.c (my_mod): New variable.
46005 (pupa_chainloader_unload): New function.
46006 (pupa_rescue_cmd_chainloader): Refer itself.
46007 (PUPA_MOD_INIT): Save its own module in MY_MOD.
46008
46009 * kern/i386/pc/startup.S (install_partition): Removed.
46010 (version_string): Likewise.
46011 (config_file): Likewise.
46012 (pupa_install_dos_part): New variable.
46013 (pupa_install_bsd_part): Likewise.
46014 (pupa_prefix): Likewise.
46015 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
46016
46017 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
46018 and pupa/misc.h.
46019 (make_install_device): New function.
46020 (pupa_machine_init): Set the dl prefix.
46021
46022 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
46023 (buf): Renamed to ...
46024 (linebuf): ... this.
46025 (pupa_rescue_cmd_prefix): New function.
46026 (pupa_rescue_cmd_insmod): Likewise.
46027 (pupa_rescue_cmd_rmmod): Likewise.
46028 (pupa_rescue_cmd_lsmod): Likewise.
46029 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
46030 rmmod and lsmod.
46031
46032 * kern/mm.c (pupa_memalign): If failed even after invalidating
46033 disk caches, unload unneeded modules and retry.
46034
46035 * kern/misc.c (pupa_memmove): New function.
46036 (pupa_memcpy): Removed.
46037 (pupa_strcpy): New function.
46038 (pupa_itoa): Made static.
46039
46040 * kern/dl.c (pupa_dl_iterate): New function.
46041 (pupa_dl_ref): Likewise.
46042 (pupa_dl_unref): Likewise.
46043 (pupa_dl_unload): Return if succeeded or not.
46044 (pupa_dl_unload_unneeded): New function.
46045 (pupa_dl_unload_all): Likewise.
46046 (pupa_dl_init): Renamed to ...
46047 (pupa_dl_set_prefix): ... this.
46048 (pupa_dl_get_prefix): New function.
46049
46050 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
46051 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
46052 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
46053 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
46054 (pupa_install_dos_part): Declared.
46055 (pupa_install_bsd_part): Likewise.
46056 (pupa_prefix): Likewise.
46057 (pupa_boot_drive): Likewise.
46058
46059 * include/pupa/types.h: Fix a typo.
46060
46061 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
46062 pupa_memmove.
46063 (pupa_memmove): Declared.
46064 (pupa_strcpy): Likewise.
46065
46066 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
46067 pupa_mod_init takes one argument, its own module.
46068 (pupa_dl_unload_unneeded): Declared.
46069 (pupa_dl_unload_all): Likewise.
46070 (pupa_dl_ref): Likewise.
46071 (pupa_dl_unref): Likewise.
46072 (pupa_dl_iterate): Likewise.
46073 (pupa_dl_init): Renamed to ...
46074 (pupa_dl_set_prefix): ... this.
46075 (pupa_dl_get_prefix): Declared.
46076
46077 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
46078 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
46079 unloaded.
46080 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
46081 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
46082
46083 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
46084 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
46085
46086 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
46087
46088 * util/i386/pc/pupa-setup.c (setup): Define the internal
46089 function find_first_partition_start at the top level, because GCC
46090 3.0.x cannot compile internal functions in deeper scopes
46091 correctly.
46092 (find_root_device): Use lstat instead of stat.
46093 Don't follow symbolic links.
46094 Fix the path-constructing code.
46095
46096 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
46097 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
46098 by a BLKGETSIZE ioctl first, because block devices don't fill
46099 the member st_mode of the structure stat on Linux.
46100 [__linux__] (linux_find_partition): Use a temporary buffer
46101 REAL_DEV for the working space. Copy it to DEV before returning.
46102 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
46103 buffer cache consistent.
46104 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
46105 strncmp. The previous value was merely wrong.
46106 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
46107
46108 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
46109 FAT size is 12. The previous value was merely wrong.
46110
46111 * kern/main.c (pupa_main): Don't split the starting message from
46112 newlines.
46113
46114 * kern/term.c (pupa_putchar): Put CR after LF instead of before
46115 LF, because BIOS goes crazy about character attributes in this
46116 case.
46117
46118 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
46119
46120 * include/i386/pc/util/biosdisk.h: New file.
46121 * util/i386/pc/biosdisk.c: Likewise.
46122 * util/i386/pc/pupa-setup.c: Likewise.
46123
46124 * Makefile.in (INCLUDE_DISTFILES): Added
46125 include/pupa/i386/pc/util/biosdisk.h.
46126 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
46127 directory util/i386/pc.
46128 (install-local): Added a rule for sbin_UTILITIES.
46129 (uninstall): Likewise.
46130
46131 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
46132
46133 * util/misc.c (xrealloc): New function.
46134 (pupa_malloc): Likewise.
46135 (pupa_free): Likewise.
46136 (pupa_realloc): Likewise.
46137 (pupa_stop): Likewise.
46138 (pupa_putchar): Likewise.
46139
46140 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
46141
46142 * include/pupa/util/misc.h (xrealloc): Declared.
46143
46144 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
46145 macro.
46146 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
46147 (PUPA_BOOT_MACHINE_BPB_END): ... this.
46148
46149 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
46150 [PUPA_UTIL] (pupa_fat_fini): Likewise.
46151
46152 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
46153 way should be implemented.
46154 [PUPA_UTIL] (pupa_fat_fini): Likewise.
46155
46156 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
46157 the size of NAME for safety.
46158 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
46159 0x88.
46160
46161 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
46162 (pupa_setup_SOURCES): Likewise.
46163
46164 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
46165
46166 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
46167
46168 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
46169 bunch of pushl's from pusha, because this destroys the return
46170 value.
46171
46172 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
46173
46174 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
46175 This means that any missing prototypes could be fatal. Also, you
46176 must take care when writing assembly code. See the comments at
46177 the beginning of startup.S, for more details.
46178
46179 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
46180 compilation mechanism.
46181 (pupa_chainloader_real_boot): Likewise.
46182 (pupa_biosdisk_rw_int13_extensions): Likewise.
46183 (pupa_biosdisk_rw_standard): Likewise.
46184 (pupa_biosdisk_check_int13_extensions): Likewise.
46185 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
46186 (pupa_biosdisk_get_diskinfo_standard): Likewise.
46187 (pupa_get_memsize): Likewise.
46188 (pupa_get_mmap_entry): Likewise.
46189 (pupa_console_putchar): Likewise.
46190 (pupa_console_setcursor): Likewise.
46191 (pupa_getrtsecs): Use pushl instead of push.
46192
46193 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
46194 memory instead of the stack for a mmap entry, because some
46195 BIOSes may ignore the maximum size and overflow.
46196
46197 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
46198
46199 * genmk.rb (PModule#rule): Compile automatically generated
46200 sources with module-specific CFLAGS as well as other sources.
46201
46202 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46203
46204 * configure.ac: Check ld.
46205 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
46206 respectively, before checking endianness and sizes.
46207
46208 * Makefile.in (LD): New variable.
46209
46210 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46211
46212 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
46213
46214 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46215
46216 * Changelog: New file.
46217