]> git.proxmox.com Git - grub2.git/blame - ChangeLog
Implement flow control for http.
[grub2.git] / ChangeLog
CommitLineData
982f1909
VS
12012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2
3 Implement flow control for http.
4
5 * grub-core/net/http.c (parse_line): Handle response 206.
6 (http_receive): Stall if too many packets are in the queue.
7 (http_establish): Fix range header.
8 (http_seek): Fix double free.
9 (http_close): Likewise.
10 (http_packets_pulled): New function.
11 (grub_http_protocol): Set http_seek
12 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
13 (ack_real): Set window depending on i_stall.
14 (grub_net_send_tcp_packet): Likewise.
15 (grub_net_tcp_stall): New function.
16 (grub_net_tcp_unstall): Likewise.
17 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
18 (grub_net_tcp_unstall): Likewise.
19
bd407d6e
VS
202012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
21
22 * grub-core/net/tftp.c: Decrease stall to 50 packets.
23
c7564b8e
VS
242012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
25
26 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
27
a3706162
VS
282012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
29
30 * tests/util/grub-shell.in: Fix a typo.
31
b27069e0
VS
322012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
33
34 Implement flow control for tftp.
35
36 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
37 packets but stop only if stop condition is satisfied.
38 (grub_net_fs_read_real): Call packets_pulled after real read. Use
39 `stall' instead of `eof' as stop condition.
40 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
41 (http_err): Likewise.
42 * grub-core/net/tftp.c (ack): Replace the first argument with data
43 instead of socket.
44 (tftp_receive): Stall if too many packets are in wait queue.
45 (tftp_packets_pulled): New function.
46 (grub_tftp_protocol): Set packets_pulled.
47 * include/grub/net.h (grub_net_packets): New field count.
48 (grub_net_put_packet): Increment count.
49 (grub_net_remove_packet): Likewise.
50 (grub_net_app_protocol): New field `packets_pulled'.
51 (grub_net): New field `stall'.
52
6b9cfac6
VS
532012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
54
55 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
56 sync part to handle them.
57
f35abd81
VS
582012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
59
60 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
61 * grub-core/net/drivers/ieee1275/ofnet.c
62 (grub_ieee1275_net_config_real): Likewise.
63
0e7ec820
VS
642012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
65
66 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
67 the direct route for server/gateway.
68
9d611a31
VS
692012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
70
71 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
72 IP address to server name since we may not hame the DNS.
73
418f45ab
VS
742012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
75
76 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
77 freeing random buffer on failure.
78 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
79
44a0efc1
VS
802012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
81
82 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
83
531e2241
VS
842012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
85
86 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
87 reserved bytes.
88 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
89 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
90 Handle malloc error correctly.
91
cde393c9
VS
922012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
93
94 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
95 blocks.
96
538478d0
VS
972012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
98
99 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
100 increment.
101
9b55efe0
VS
1022012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
103
104 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
105 none is explicitly specified.
106
9eb832c3
VS
1072012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
108
109 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
110 while reallocating.
111
d6b7c7c9
VS
1122012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
113
114 Respect netmask from bootp/dhcp.
115
116 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
117 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
118 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
119 into ...
120 (grub_net_add_ipv4_local): ... this.
121 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
122 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
123 (grub_net_add_ipv4_local): New proto.
124
67caf9eb
VS
1252012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
126
127 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
128 determining EFI memory map size.
129
43657558
VS
1302012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
131
132 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
133
eb6d0dd3
VS
1342012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
135
136 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
137 when looking for partition separator.
138
31230544
VS
1392012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
140
141 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
142 Escape commas.
143
918a2517
VS
1442012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
145
146 Restructure FAT driver to avoid hook in label reading as it hits a
147 GCC bug.
148
149 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
150 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
151 (grub_fat_iterate_dir): Split into ...
152 (grub_fat_iterate_init): ... this, ...
153 (grub_fat_iterate_fini): ... this, ...
154 (grub_fat_iterate_dir_next): ... and this. All users updated.
155
9f1d654e
VS
1562012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
157
158 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
159 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
160 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
161 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
162 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
163 New fields last_key and last_key_time.
164 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
165 extended key-esc into extended key-extended key.
166
52f0f643
VS
1672012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
168
169 Avoid unnecessary memcpy of whole video buffer.
170
171 * grub-core/video/fb/video_fb.c (dirty): New struct.
172 (framebuffer): Add members current_dirty and previous_dirty.
173 (dirty): New function.
174 (grub_video_fb_fill_rect): Update dirty.
175 (common_blitter): Likewise.
176 (grub_video_fb_scroll): Likewise.
177 (doublebuf_blit_update_screen): Copy only dirty part.
178 (doublebuf_pageflipping_update_screen): Likewise.
179 (grub_video_fb_doublebuf_blit_init): Init dirty.
180 (doublebuf_pageflipping_init): Likewise.
181 (grub_video_fb_setup): Likewise.
182
e169a180
VS
1832012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
184
185 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
186 poll rate.
187
48556879
VS
1882012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
189
190 Fix wildcard regexp dot and other special characters handling.
191 Reported by: Robert Mabee.
192
193 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
194 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
195 (split_path): Trigger expansion on '?'.
196 (unescape): New function.
197 (wildcard_expand): Unescape parts copied without globbing.
198 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
199 (grub_script_arglist_to_argv): Don't unescape expansions.
200
0494408e
VS
2012012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
202
203 * include/grub/net.h (grub_net_card): New member txbufsize.
204 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
205 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
206 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
207 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
208 txbufsize.
209 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
210 compatible property to check for macs. Set
211 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
212 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
213 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
214 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
215 (send_card_buffer): Use txbuf.
216 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
217 nested function out of the parent while on it.
218
cc35fe8f
VS
2192012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
220
221 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
222 presence check.
223 (grub_ieee1275_net_config_real): Fix config pointer.
224
970a0a09
VS
2252012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
226
227 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
228 filename parsing to non-block devices.
229
3e19bf87
VS
2302012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
231
232 * grub-core/kern/device.c (grub_device_open): Remove dead code.
233
c62d1a0c
VS
2342012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
235
236 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
237 All users updated.
238
ef76bec3
VS
2392012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
240
241 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
242 UUID search command even if hints probing failed.
243
2442012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
245
246 * po/POTFILES.in: Regenerated.
247
70aaf305
VS
2482012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
249
250 Speed-up video on fuloong.
251
252 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
253 New function.
254 (grub_pci_device_unmap_range): Handle non-cached address.
255 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
256 add direct_ptr.
257 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
258 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
259 (grub_video_sis315pro_set_active_render_target): Removed.
260 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
261 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
262 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
263 sync caches.
264 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
265 New proto.
266
10400f0b
VS
2672012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
268
269 * docs/grub.texi (Multi-boot manual config): New section.
270
ba67e2c6
VS
2712012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
272
273 Avoid slow read-back from VRAM.
274
275 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
276 Move from here ...
277 * grub-core/video/fb/video_fb.c
278 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
279 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
280 (front_target): Remove front_target. Add pages.
281 (grub_video_fb_init): Skip setting front_pages.
282 (grub_video_fb_fini): Likewise.
283 (doublebuf_blit_update_screen): Use pages.
284 (grub_video_fb_doublebuf_blit_init): Likewise.
285 (doublebuf_pageflipping_init): Allocate offscreen buffer.
286 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
287 (grub_video_fb_setup): Prefer doublebuffing.
288
377c98cb
VS
2892012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
290
291 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
292 gzio.
293
eac49cff
VS
2942012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
295
296 Add loongson tests.
297
298 * tests/util/grub-shell.in: Handle loongson.
299 * tests/partmap_test.in: Add loongson to the list of platform using ATA
300 drivers.
301 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
302 Reboot instead of shutdown if REBOOT is defined.
303
0321415e
VS
3042012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
305
306 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
307 sized ports since unlike on real hardware qemu supports only 32-bit
308 regs.
309
3f2bdd8f
VS
3102012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
311
312 * Makefile.util.def (grub-mkrescue): Enable on loongson.
313 * util/grub-mkrescue.in: Handle loongson.
314
29a049c9
VS
3152012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
316
317 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
318 Set is_part appropriately.
319 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
320 names. Canonicalize partition without full disk.
321
4abde346
VS
3222012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
323
324 Revert usb-quiesce since it's wrong.
325
326 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
327 (grub_ofdisk_init): Don't do quiesce.
328
61f1d93b
VS
3292012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
330
331 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
332 PowerMac workaround to Xserves as well.
333 Information supplied by: Benjamin Herrenschmidt.
334
a09eb541
VS
3352012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
336
337 Don't assume that beginning address is also the entry point on ppc.
338
339 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
340 (grub_linux_boot): Use linux_entry.
341 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
342 (grub_linux_load64): Likewise.
343
505b3c9b
VS
3442012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
345
346 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
347
cbe0b4ef
VS
3482012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
349
350 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
351 needlessly lose the console.
352
3006e981
VS
3532012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
354
355 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
356 space.
357
4e5a96b0
VS
3582012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
359
7da036bb
VS
360 Remove non-functional EFI grub_get_rtc. Put a better fatal message
361 than current grub_get_rtc() not implemented when booted with
362 coreboot without TSC.
363
364 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
365 Add machine/time.h to kernel headers on loongson.
366 * grub-core/Makefile.core.def (kernel): Remove
367 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
368 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
369 (grub_get_rtc): Likewise.
370 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
371 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
372 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
373 * grub-core/kern/i386/tsc.c (grub_tsc_init)
374 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
375 rather than installing known non-working time source.
376 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
377 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
378 * include/grub/time.h: Don't include machine/time.h.
379 * include/grub/efi/time.h: Removed.
380 * include/grub/i386/efi/time.h: Likewise.
381 * include/grub/i386/ieee1275/time.h: Likewise.
382 * include/grub/powerpc/ieee1275/time.h: Likewise.
383 * include/grub/sparc64/ieee1275/time.h: Likewise.
384 * include/grub/x86_64/efi/time.h: Likewise.
385
3862012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
387
388 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
389
390 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
391 value.
392 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
393 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
394 with dotless variants when any combining above is present.
395
5561c22d
VS
3962012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
397
398 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
399 text and not binary.
400
96f7e60e
VS
4012012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
402
403 Stop polling as soon as we have the packet we were waiting for.
404
405 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
406 All users updated.
407 * grub-core/net/arp.c (have_pending): New var.
408 (pending_req): Likewise.
409 (grub_net_arp_send_request): Fill pending_req and use have_pending as
410 stop indicator.
411 (grub_net_arp_receive): Set have_pending.
412 * grub-core/net/dns.c (recv_data): New field stop.
413 (recv_hook): Set stop.
414 (grub_net_dns_lookup): Init stop and use as stop condition.
415 * grub-core/net/http.c (http_establish): Use headers_recv as stop
416 condition.
417 * grub-core/net/net.c (grub_net_poll_cards): New argument
418 stop_condition. Stop when it goes true.
419 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
420 indicator.
421 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
422
3e747239
VS
4232012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
424
425 Keep TX and RX buffers on EFI rather than always allocate new ones.
426
427 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
428 card. All users updated.
429 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
430 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
431 (get_card_packet): Likewise.
432 (grub_efinet_findcards): Init new fields.
433
f695e99a
VS
4342012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
435
436 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
437 compilation error on sparc64.
438
9e5e66d1
VS
4392012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
440
441 Use ITC on IA64 rather than broken routine based on daytime.
442
443 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
444 ia64.
445 (grub_get_rtc) [__ia64__]: Likewise.
446 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
447 (get_itc): New function.
448 (grub_rtc_get_time_ms): Likewise.
449 (grub_machine_init): Calibrate ITC.
450 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
451 Keep only on non-ia64. Don't export since it's broken and used only
452 if TSC is unavailable.
453
a1767404
VS
4542012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
455
456 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
457 even if it's used.
458 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
459 Skip if parent is unused.
460
34b2bced
VS
4612012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
462
463 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
464
5e619f40
VS
4652012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
466
467 Fix wildcard escaping.
468
469 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
470 * grub-core/script/execute.c (wildcard_escape): .. to here.
471 Don't escape dot.
472 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
473 * grub-core/script/execute.c (wildcard_unescape): .. to here.
474 Don't escape dot.
475 * grub-core/script/execute.c (gettext_append): Always escape.
476 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
477 * grub-core/script/yylex.l: Don't cut away the escaping.
478 * tests/grub_script_echo1.in: Add tests with wildcard.
479
c8ca5855
VS
4802012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
481
482 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
483 (ftdi_hw_configure): Likewise.
484 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
485 define.
486 (real_config): Handle 1.5 stop bits.
487 (pl2303_hw_configure): Likewise.
488
7183452c
VS
4892012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
490
491 * Makefile.am: Add ppc linux bootcheck.
492 * grub-core/tests/boot/linux-ppc.cfg: New file.
493 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
494
f57c84cd
VS
4952012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
496
497 * tests/grub_script_expansion.in: Skip network protocols.
498
ecfc6207
VS
4992012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
500
501 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
502
8d03d284
VS
5032012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
504
505 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
506 --rom-directory.
507 Add -graft-points.
508
61c42af0
VS
5092012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
510
511 ESCC serial driver for conducting sautomated tests in qemu.
512 Not tested on real hardware.
513
514 * include/grub/serial.h (grub_serial_port): New field escc_desc.
515 * grub-core/term/ieee1275/escc.c: New file.
516 * grub-core/Makefile.core.def (escc): New module.
517
08fd1291
VS
5182012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
519
520 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
521 invalid on error.
522 (serial_hw_fetch): Don't read invalid handle.
523 (serial_hw_put): Don't write into invalid handle.
524
08dafeea
VS
5252012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
526
527 Add a 1.5 stop bits value.
528
529 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
530 * include/grub/serial.h (grub_serial_stop_bits_t): Add
531 GRUB_SERIAL_STOP_BITS_1_5.
532
9068fdcf
VS
5332012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
534
535 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
536 value rather than let it uninited.
537
f4d5820f
VS
5382012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
539
540 * grub-core/commands/wildcard.c (+check_file): New function.
541 (wildcard_expand): Don't expand to non-existing files, expand with
542 suffix and not attempt to expand if not needed.
543
3d2de9a7
VS
5442012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
545
546 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
547 out of partitions containing other partitions.
548
c5c81ff9
VS
5492012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
550
551 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
552 on some qemu versions with GRUB.
553
554 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
555 define.
556 (grub_openbsd_bootarg_pcibios): New struct.
557 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
558 Add PCIINFO.
559
08a14e0b
VS
5602012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
561
562 * tests/util/grub-shell.in: Trim firmware output on EFI.
563
cede3ca3
VS
5642012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
565
566 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
567 and coreboot since it's already in kernel.
568
558d3a60
VS
5692012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
570
571 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
572 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
573 to here. New return value start. All users updated.
574 Recursively scan linear mappings.
575 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
576 proto.
577 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
578 Use grub_util_get_dm_node_linear_info.
579 * util/getroot.c (convert_system_partition_to_system_disk): Use
580 grub_util_info rather than grub_dprintf.
581 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
582
60fde14d
VS
5832012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
584
585 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
586
587 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
588 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
589
24bd8838
VS
5902012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
591
592 * include/grub/types.h (grub_set_unaligned64): New function.
593 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
594 (setup): Likewise.
595
7bc06a49
VS
5962012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
597
598 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
599 (grub_ofdisk_fini): Quiesce USB devices.
600
49cea015
VS
6012012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
602
603 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
604 caches.
605
8dcbe03b
VS
6062012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
607
608 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
609
5b258735
VS
6102012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
611
612 * grub-core/disk/pata.c (grub_pata_pio_read)
613 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
614 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
615
37ba07eb
VS
6162012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
617
618 Extend automated tests to qemu-mips.
619
620 * Makefile.am: reorganise tests and enable qemu-mips.
621 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
622 * grub-core/tests/boot/linux.init-mips.S: New file.
623 * tests/partmap_test.in: Handle ata0 disks.
624 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
625 non-pc i386.
626
070038f8
VS
6272012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
628
629 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
630 ia64.
631 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
632 quotes while on it.
633
004be2cd
VS
6342012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
635
636 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
637 (grub_halt): Likewise.
638 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
639
b1622487
VS
6402012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
641
642 * grub-core/term/serial.c (grub_serial_register)
643 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
644 the behaviour in line with x86 platforms.
645
b7b4ab33
VS
6462012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
647
648 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
649 (grub_ata_strncpy): Likewise.
650 (grub_ata_identify): Add missing byteswaps.
651
5e3535ae
VS
6522012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
653
654 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
655 byte-swap.
656 (screen_read_char): Likewise.
657 (grub_vga_text_cls): Likewise.
658
c21b17e6
VS
6592012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
660
661 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
662 filenames.
663 (make_file_path): Likewise.
664
bf293dec
VS
6652012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
666
667 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
668 machines.
669 Tested by: Paulo Flabiano Smorigo.
670 Crucial information about API supplied by: Coleen <Last name unknown>.
671 Reviewed by: Coleen <Last name unknown>.
672
81f6ef0e
VS
6732012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
674
675 * util/grub-mkimage.c: Disable -Wcast-align.
676
7284143a
VS
6772012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
678
679 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
680 as they are fatal.
681
b99f3e00
VS
6822012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
683
684 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
685
944f752d
VS
6862012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
687
688 * util/grub-probe.c (escape_of_path): Fix double free.
689
6cce6f38
VS
6902012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
691
692 * grub-core/commands/videoinfo.c (hook): Show pitch.
693
1e1eb50e
VS
6942012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
695
696 * util/grub.d/20_linux_xen.in: Skip xen-syms.
697
1c715b5a
VS
6982012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
699
700 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
701 (probe): Add ieee1275 to OFW devices.
702
007ae52d
VS
7032012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
704
705 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
706
4557a36d
VS
7072012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
708
709 Handle IBM OFW path.
710
711 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
712 available.
713 (of_path_of_scsi): Handle vdevice.
714
efbeefe9
VS
7152012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
716
717 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
718 Allocate in multiples of 16 to avoid adding a few bytes free region the
719 windows bugs upon.
720
15a940bb
VS
7212012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
722
723 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
724 Allocate in multiples of 16 to avoid adding a few bytes free region the
725 windows bugs upon.
726 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
727
6e5efd60
VS
7282012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
729
730 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
731 resolutions.
732 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
733 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
734
0d3d137e
IS
7352012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
736
737 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
738
45dbe300
VS
7392012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
740
741 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
742 resulted in \\ at the end of the line.
743
6d8db947
VS
7442012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
745
746 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
747 (grub_parser_cmdline_state): Likewise.
748 (grub_parser_split_cmdline): Likewise.
749
de89d338
VS
7502012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
751
752 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
753 /dev/root and /dev/dm-*.
754
00d41dee
VS
7552012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
756
757 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
758 fix partially stale display.
759
f95d1f11
VS
7602012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
761
762 * grub-core/normal/menu_entry.c (backward_char): Use right line for
763 substraction.
764
6297e197
VS
7652012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
766
767 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
768 Fix MBR remapping workaround.
769 (grub_util_biosdisk_read) [__linux__]: Likewise.
770
8a7ecad3
VS
7712012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
772
773 * util/grub-install.in: Check for ieee1275 and not ieee1276.
774
2b34f944
VS
7752012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
776
777 * configure.ac: Bump to beta6.
778
684aef11
CW
7792012-05-31 Christer Weinigel <christer@weinigel.se>
780
781 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
782
05b0bb91
VS
7832012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
784
785 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
786 (grub_cmd_linux): Likewise.
787
bda36bfa
CW
7882012-05-31 Christer Weinigel <christer@weinigel.se>
789
790 Fix EHCI low-speed.
791
792 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
793 (GRUB_EHCI_MULT_TWO): Likewise.
794 (GRUB_EHCI_MULT_THREE): Likewise.
795 (GRUB_EHCI_CMASK_MASK): New enum value.
796 (GRUB_EHCI_SMASK_MASK): Likewise.
797 (GRUB_EHCI_CMASK_OFF): Likewise.
798 (GRUB_EHCI_SMASK_OFF): Likewise.
799 (grub_ehci_pci_iter): Enable periodic schedule.
800 (grub_ehci_parse_notrun): Likewise.
801 (grub_ehci_restore_hw): Likewise.
802 (grub_ehci_setup_qh): Set flags for low speed transfers.
803 (grub_ehci_find_qh): Use periodic list for low speed.
804 (grub_ehci_setup_transfer): Check periodic queue as well.
805 (grub_ehci_check_transfer): Likewise.
806 (grub_ehci_cancel_transfer): Cancel periodic transfer.
807
e12bcb1c
PFS
8082012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
809
810 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
811 parameter is used.
812
bcc75fb3
PJ
8132012-05-31 Peter Jones <pjones@redhat.com>
814
815 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
816 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
817 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
818
f19cb95e
VS
8192012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
820
821 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
822 uninited variable. Allocate at least setup_sects.
823
a4e5ca80
VS
8242012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
825
826 Fix handling of EFI with big memory maps.
827
828 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
829 (real_mode_mem): Likewise.
830 (real_mode_target): Likewise.
831 (real_mode_pages): Likewise.
832 (prot_mode_pages): Likewise.
833 (linux_params): New var.
834 (linux_cmdline): Likewise.
835 (free_pages): Don't set real mode variables.
836 (allocate_pages): Don't allocate real mode memory.
837 (grub_e820_add_region): Remove the limit.
838 (grub_linux_boot): Allocate and copy real mode memory.
839 (grub_linux_unload): Free linux_cmdline.
840 (grub_cmd_linux): Use temporary storage for parameters.
841 (grub_cmd_initrd): Likewise.
842 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
843 (linux_kernel_params): Make it 1K big.
844
ddb73558
VS
8452012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
846
847 * Makefile.util.def: Remove -Wno-format.
848 * grub-core/Makefile.core.def: Likewise.
849
1c4afb60
VS
8502012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
851
852 * tests/cmp_unit_test.c: Add missing failure message.
853 * tests/example_unit_test.c: Likewise.
854 * tests/printf_unit_test.c: Likewise.
855
941e3a6d
VS
8562012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
857
858 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
859 relaxation of protective MBR requirements.
860
b105df76
VS
8612012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
862
863 * configure.ac: Add condition for COND_HOST_XNU.
864 * Makefile.util.def (10_xnu): New script.
865 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
866
84e1569e
VS
8672012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
868
869 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
870 objconv bug.
871
130c0f77
VS
8722012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
873
874 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
875 Binary on other platforms stays identical.
876
6fd0b143
VS
8772012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
878
879 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
880 Apple.
881
0af1751d
VS
8822012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
883
884 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
885
176d5f7d
VS
8862012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
887
888 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
889 rather than defining size_t ourselves to avoid conflict.
890
7de5e20a
VS
8912012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
892
893 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
894 initialisation to avoid __bzero reference.
895
f7143efe
VS
8962012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
897
898 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
899 version.
900 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
901 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
902 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
903 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
904 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
905
e6ad0555
VS
9062012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
907
908 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
909 * grub-core/kern/misc.c: Likewise.
910 * grub-core/loader/i386/xnu.c: Likewise.
911 * include/grub/i386/tsc.h: Likewise.
912 * include/grub/symbol.h: Likewise.
913
4a5a3c4a
VS
9142012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
915
916 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
917 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
918 on older compiler.
919
037f6d90
VS
9202012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
921
922 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
923 Implement Apple flavour.
924 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
925
f7194551
VS
9262012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
927
928 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
929 (memmove) [__APPLE__]: Likewise.
930 (memcpy) [__APPLE__]: Likewise.
931 (memset) [__APPLE__]: Likewise.
932 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
933 (memmove) [__APPLE__]: Likewise.
934 (memcpy) [__APPLE__]: Likewise.
935 (memset) [__APPLE__]: Likewise.
936
85a730ca
VS
9372012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
938
939 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
940 dependency discard.
941
40e80b94
VS
9422012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
943
944 * grub-core/normal/main.c (read_config_file): Provide config_file and
945 config_directory.
946 * util/grub.d/41_custom.in: Use config_directoy when available.
947
9da59c32
VS
9482012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
949
950 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
951 (grub_bfs_dir): Likewise.
952
2787ae53
PJ
9532012-05-27 Peter Jones <pjones@redhat.com>
954
955 The old code gives arguments to a printf function which can't work
956 correctly, and the compiler complains.
957
958 * grub-core/tests/example_functional_test.c (example_test): Add
959 missing text.
960 * grub-core/tests/lib/test.c (add_failure): Rewrite.
961 * include/grub/test.h (grub_test_assert_helper): New declaration.
962 (grub_test_assert): Use grub_test_assert_helper.
963
526ef13d
VS
9642012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
965
966 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
967 (exfctest): ... this to avoid overlong filenames.
968 All users updated.
969
20dd511c
VS
9702012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
971
972 Handle "." and ".." on squashfs.
973
974 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
975 Make inode numbers into stack.
976 (grub_squash_read_symlink): Use stack.
977 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
978 (make_root_node): Fill stack.
979 (grub_squash_open): Use stack.
980
1d80c62a
VS
9812012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
982
983 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
984 freeing.
985
d336f652
VS
9862012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
987
988 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
989 stderr on test calls.
990
8b43f587
VS
9912012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
992
993 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
994
80a3dc3f
VS
9952012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
996
997 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
998
47e297d4
VS
9992012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1000
1001 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
1002 "..".
1003
df042ccb
VS
10042012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1005
1006 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
1007 (grub_hfsplus_iterate_dir): Add "." and "..".
1008
fc977f48
VS
10092012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1010
1011 * grub-core/fs/cpio.c (canonicalize): Handle "..".
1012 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
1013
f3250e5f
VS
10142012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1015
1016 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
1017 (find_path): Handle "." and "..".
1018
fd8ed4c5
VS
10192012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1020
1021 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
1022 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
1023 (grub_affs_iterate_dir): Handle hardlinks.
1024
4ce776d2
MG
10252012-05-26 Matthew Garrett <mjg@redhat.com>
1026
1027 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
1028 (grub_efi_console_fini): Likewise.
1029 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
1030 (grub_video_gop_fill_mode_info): Rename to ...
1031 (grub_video_gop_fill_real_mode_info): ... this.
1032 (grub_video_gop_fill_mode_info): New function.
1033 (grub_video_gop_setup): Setup double framebuffer.
1034 (grub_video_gop_get_info_and_fini): Use original framebuffer.
1035 Free offscreen.
1036 (grub_video_gop_swap_buffers): Copy framebuffer.
1037 (grub_video_gop_fini): Free offscreen buffer.
1038 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
1039 New enum.
1040 (grub_efi_gop_blt_pixel): New struct.
1041
683031ba
VS
10422012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1043
1044 * gentpl.py: Remove error disabling for objconv.
1045
c2deb798
VS
10462012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1047
1048 * configure.ac: Remove -Wunitialized as it's not available on older
1049 compilers.
1050
10512012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
1052
1053 Fix extent overflow comparator.
1054
1055 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
1056 (grub_hfsplus_read_block): Set type.
1057 (grub_hfsplus_cmp_extkey): Compare type.
1058
d6b1fd36
VS
10592012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
1060
1061 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
1062
0a9aa0f6
VS
10632012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
1066 than 0.
1067
8360e159
VS
10682012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1069
1070 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
1071 (dejavu_bold_14.pf2): New target.
1072
501b9e4b
VS
10732012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1074
1075 * configure.ac: Fix djvu font detection.
1076
7026b0e2
VS
10772012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1078
1079 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
1080 ext* instead of ext2.
1081
c2a51ade
VS
10822012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1083
1084 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
1085 name with \0.
1086
8f803a5d
JU
10872012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
1088
1089 * docs/grub-dev.texi: Remove dot from .png.
1090
13c6353f
VS
10912012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1092
1093 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
1094 protective entry in any slot.
1095 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
1096 if protective entry is found in any slot.
1097
1098 Protective entry in non-first slot make no sense but is a widespread
1099 brain damage.
1100
4cf6be1b
VS
11012012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1102
1103 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
1104
937d1c44
VS
11052012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1106
1107 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
1108 with old reiserfs.
1109 (grub_reiserfs_open): Don't free root.
1110
021d90ec
VS
11112012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1112
1113 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
1114 after freeing for safety.
1115
967b2b64
VS
11162012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1117
1118 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
1119 Reported by: Jordan Uggla.
1120
34274d02
JU
11212012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
1122
967b2b64
VS
1123 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
1124 actual implementation. Specifically, clarify that the grub menu will
1125 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
1126 passed.
34274d02 1127
dcaaae9d
BH
11282012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
1129
1130 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
1131 of r0.
1132
7086ad52
VS
11332012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1134
1135 Remove unjustified hard dependency of normal.mod on gfxterm.
1136
1137 * include/grub/term.h (grub_term_output): New member fullscreen.
1138 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
1139 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
1140 (grub_gfxterm): Set .fullscreen.
1141 * grub-core/normal/menu.c (menu_init): Use fullscreen.
1142 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
1143
37ed2c9b
VS
11442012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1145
1146 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
1147 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 1148 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 1149
a4469c88
VS
11502012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1151
1152 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
1153
4e461486
VS
11542012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1155
1156 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
1157 a bad FS.
1158
aa78f5c4
VS
11592012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1160
1161 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
1162 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
1163
197626b5
VS
11642012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1165
1166 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
1167 (grub_jfs_mount): Fill caseins.
1168 (grub_jfs_find_file): Respect caseins.
1169
8ad3f28c
VS
11702012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1171
1172 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
1173 through UTF-16.
1174
0c6c324e
VS
11752012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1176
1177 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
1178 New argument origpath. All users updated.
1179
c6666ba6
VS
11802012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1181
1182 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
1183 (read_attr): Ensure that we read start of possibly compressed block.
1184
e28e5fe5
VS
11852012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1186
1187 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
1188 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
1189 All users updated.
1190
5fc23ab2
VS
11912012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1192
1193 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
1194 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
1195 (dejavu.pf2): Replace with ...
1196 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
1197 this.
1198
79dbc21c
VS
11992012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1200
1201 * util/grub.d/20_linux_xen.in: Add missing line.
1202
d2fcfb0c
VS
12032012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1204
1205 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
1206 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
1207 (grub_utf16_to_utf8): Likewise.
1208
5560e9d6
VS
12092012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1210
1211 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
1212 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
1213 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1214 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
1215 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
1216 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
1217
12182012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
1219
1220 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
1221 a bad FS.
1222
5560e9d6 12232012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
1224
1225 * grub-core/fs/udf.c (read_string): Bail out on size=0.
1226 (grub_udf_read_symlink): Handle read_string failure.
1227
5eae3175
VS
12282012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1229
1230 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
1231 comment.
1232
c1ad82db
VS
12332012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1234
1235 Fix handling of UDF symlinks.
1236
1237 * grub-core/fs/udf.c (read_string): New argument outbuf.
1238 All users updated.
1239 (grub_ufs_read_symlink): Rename to ...
1240 (grub_udf_read_symlink): ... this. All users updated.
1241 Handle symlinks with more than one component.
1242
33eca6e0
VS
12432012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1244
1245 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
1246 symlinks. Replace leading colon with a slash.
1247
57f4a70b
VS
12482012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1249
1250 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
1251 filename.
1252
38c8ee20
VS
12532012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1254
1255 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
1256 match in inner node.
1257
2e57f28f
VS
12582012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1259
1260 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
1261 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
1262 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
1263 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
1264 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
1265 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
1266 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
1267 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
1268 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
1269
fe8c2f11
VS
12702012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1271
1272 Use grub-probe and not cmp to check that disk is empty.
1273
1274 * util/grub-install.in: Use grub-probe for zero-check.
1275 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
1276 (probe): Handle PRINT_ZERO_CHECK.
1277 (argp_parser): Handle -t zero_check.
1278
12792012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
1280
1281 Flush block cache on adding disk to device map.
1282
1283 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
1284 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
1285 adding.
1286 (read_device_map): Likewise.
1287 (open_device): Flush on opening.
1288
690434e8
VS
12892012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1290
1291 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
1292 (handle_symlink): Fix off-by-one error.
1293 Canonicalize the target.
1294 (grub_cpio_dir): Canonicalize the name.
1295 Fix memory leak.
1296 Set directory.
1297 (grub_cpio_open): Canonicalize the name.
1298
742d2be6
VS
12992012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1300
1301 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
1302 handling.
1303
3244fe96
VS
13042012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1305
1306 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
1307 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
1308
8aeb1837
VS
13092012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1310
1311 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
1312 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 1313 All users updated.
8aeb1837 1314
9133fd05
VS
13152012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1316
1317 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
1318 counterpart.
1319
6d521c5b
VS
13202012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1321
1322 Fix UFS1 big file support.
1323
1324 * grub-core/fs/ufs.c (INODE): Removed.
1325 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
1326 64-bit.
1327 (INODE_MODE): Simplify.
1328 (grub_ufs_inode): Use uint64_t for size and not int64_t.
1329 (grub_ufs_lookup_symlink): Don't use INODE.
1330
21b82e17
VS
13312012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1332
1333 Fix minixfs with non-power-of-two blocks since it's supported by minix.
1334
1335 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
1336 (grub_minix_data): Replace log_block_size with block_size.
1337 (grub_minix_read_file): Use block_size but avoid 64-bit division.
1338 (grub_minix_mount): Fill block_size.
1339
13402012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
1341
1342 * configure.ac: Bump to beta5.
1343
f417ed04
VS
13442012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1345
1346 Fix wrapped HFS+ handling.
1347
1348 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
1349 blocks_start. All users updated.
1350 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
1351 wrapping offset.
1352 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
1353
607d282b
VS
13542012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1355
1356 Fix long symlinks on reiserfs.
1357
1358 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
1359 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
1360 (grub_reiserfs_iterate_dir): Save size for non-directories.
1361 (grub_reiserfs_open): Don't reread stat block as we already know the
1362 size.
1363 (grub_reiserfs_read): Split into...
1364 (grub_reiserfs_read_real): ... and ...
1365 (grub_reiserfs_read): ...this.
1366
ae16024d
VS
13672012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1368
1369 Fix non-indexed JFS.
1370
1371 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
1372 (grub_jfs_data): New field namecomponentlen.
1373 (grub_jfs_mount): Fill namecomponentlen.
1374 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
1375
eea1e26e
VS
13762012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1377
1378 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
1379 * tests/grub_script_echo1.in: Add tests.
1380
df760f77
VS
13812012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1382
1383 * util/grub-install.in: Ignore empty devicetree directory.
1384
5efb817d
B
13852012-05-08 Bean <bean123ch@gmail.com>
1386
1387 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
1388 All users updated.
1389 (free_rsm): Free header as well.
1390 (free_old_fragments): Fix memory leak.
1391 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
1392 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
1393 (destroy_pq): Likewise.
1394 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
1395
668ea6d2
VS
13962012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1397
1398 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
1399 resulting hash as a precaution.
1400
1739b1fe
VS
14012012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1402
1403 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
1404 '_' in variable names.
1405 * grub-core/net/net.c (grub_net_network_level_interface_register):
1406 Likewise.
1407
6ae485aa
VS
14082012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1409
1410 Fix AFFS with non-512B blocks.
1411
1412 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
1413 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
1414 (grub_affs_data): Replace blocksize with log_blocksize.
1415 (grub_affs_read_block): Fix non-512B blocks.
1416 (grub_affs_read_symlink): Likewise.
1417 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
1418 (grub_affs_read): Fix non-512B blocks.
1419 (grub_affs_label): Likewise.
1420 (grub_affs_mtime): Likewise.
1421 (grub_affs_mount): Fix block detection routine.
1422
d20fab84
VS
14232012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1424
1425 Add filesystem mtime to AFFS.
1426
1427 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
1428 (aftime2ctime): New function.
1429 (grub_affs_dir): Use aftime2ctime.
1430 (grub_affs_label): Fix return value.
1431 (grub_affs_mtime): New function.
1432 (grub_affs_fs): Add mtime.
1433
e87b10f5
VS
14342012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1435
1436 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
1437 UTF-8.
1438
7dceec9b
VS
14392012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1440
1441 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
1442 UTF-8.
1443
2f48221f
VS
14442012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1445
1446 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
1447
dacd85cf
VS
14482012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1449
1450 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
1451 flags.
1452 (FLAGS_CASE_SENSITIVE): New enum value.
1453 (cache_entry): New struct.
1454 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
1455 cache_size and cache.
1456 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
1457 Add log_blocksize and fshelp_flags.
1458 (grub_sfs_read_extent): Handle non-512 blocks.
1459 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
1460 (grub_sfs_read_file): Handle non-512 blocks.
1461 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
1462 fshelp_flags.
1463 (grub_sfs_read_symlink): Handle non-512 blocks.
1464 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
1465 (grub_sfs_dir): Free cache.
1466 (grub_sfs_close): Likewise.
1467
24e9a854
VS
14682012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1469
1470 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
1471 filesystems.
1472
62ace64d
VS
14732012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1474
1475 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
1476
83b2e89c
VS
14772012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1478
1479 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
1480
75ccaea3
VS
14812012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1482
1483 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
1484 (grub_sfs_read_extent): Likewise.
1485 (grub_sfs_read_block): Likewise.
1486 (grub_sfs_mount): Likewise.
1487 (grub_sfs_iterate_dir): Likewise.
1488 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
1489 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
1490
1b8463f2
VS
14912012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1492
1493 Fix errors on compressed NTFS with 512B clusters.
1494
1495 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
1496 types.
1497 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
1498 not 0.
1499 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
1500 Relax check for inline extents.
1501 (ntfscomp): Return correct -1 on error and not 0.
1502
4f8e368f
VS
15032012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1504
1505 * util/grub-install.in: Fix handling of prefix containing spaces.
1506
6f5d5ee8
VS
15072012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1508
1509 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
1510 (grub_squash_read_data): Fix offset byte-swapping.
1511
ce41ab7a
VS
15122012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1513
1514 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
1515 per common usage and preffered in several parts of code.
1516 (grub_memcmp): Likewise.
1517 (grub_strncmp): Likewise.
1518 * include/grub/misc.h (grub_strcasecmp): Likewise.
1519 (grub_strncasecmp): Likewise.
1520 * Makefile.util.def (cmp_test): New test.
1521 (grub_script_strcmp): Likewise.
1522 * tests/cmp_unit_test.c: New file.
1523 * tests/grub_script_strcmp.in: Likewise.
1524 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
1525
49717bf4
VS
15262012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1527
1528 * include/grub/pci.h: Move enums into no-asm part.
1529
0a308f64
VS
15302012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1531
1532 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
1533
1796965f
ST
15342012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
1535
1536 * util/getroot.c (find_hurd_root_device): Try to make error message
1537 and comments to translators clearer.
1538
4e9b2819
VS
15392012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1540
1541 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
1542
076aeb50
VS
15432012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1544
1545 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
1546 btrfs.
1547
19424d94
VS
15482012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1549
1550 * docs/grub.cfg: Update.
1551
ebb73076
VS
15522012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1553
1554 * docs/grub.texi (PXE): Remove not present variables.
1555
9a1b669c
VS
15562012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1557
1558 * grub-core/net/net.c (defserver_set_env): New function.
1559 (defserver_get_env): Likewise.
1560 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
1561
d38bf7d3
VS
15622012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1563
1564 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
1565 entries.
1566
15672012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
1568
1569 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
1570 * grub-core/kern/emu/hostdisk.c: Likewise.
1571
e5e4ca48
ST
15722012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
1573
1574 Handle hurd userspace partitions.
1575
1576 * util/getroot.c (find_hurd_root_device): New function.
1577 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
1578
56bb5dd5
VS
15792012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1580
1581 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
1582 names.
1583 Reported by: Bastian Blank.
1584
9e8bc27a
VS
15852012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1586
1587 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
1588 crossing page boundary.
1589
aa01499d
VS
15902012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1591
1592 Fix B-tree search in BFS, especially in presence of non-ASCII
1593 characters.
1594
1595 * grub-core/fs/bfs.c (bfs_strcmp): New function.
1596 (find_in_b_tree): Use standard bsearch + btree algorithm.
1597
57006035
VS
15982012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1599
1600 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
1601 and so on.
1602
9d34bb85
MG
16032012-05-03 Matthew Garrett <mjg@redhat.com>
16042012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1605
1606 Suspend broadcom cards in order to stop their DMA.
1607
1608 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
1609 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
1610 (pci): Don't build on x86 EFI.
1611 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
1612 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
1613 New function.
1614 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
1615 stop_broadcom if running on EFI.
1616 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
1617 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
1618 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
1619 (grub_pci_find_capability): New proto.
1620
01aab997
VS
16212012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1622
1623 * docs/grub.texi: Remove dot from the extension as it apparently
1624 doesn't work with some makeinfo versions.
1625
fbd8dca6
VS
16262012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1627
1628 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
1629 with GRUB expectance.
1630
dab797f4
VS
16312012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1632
1633 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
1634
1516bfb4
VS
16352012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
1638 zero after directory block since last entry may be not 0-terminated if
1639 it ends on block boundary. Use continue instead of if spanning whole
1640 loop.
1641
a3a0eace
VS
16422012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1643
1644 Support 4K sectors UDF inline files.
1645
1646 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
1647 (grub_udf_extended_file_entry): Likewise.
1648 (grub_fshelp_node): Name the anonymous union. Put block at the end.
1649 All users updated.
1650 (get_fshelp_size): New function.
1651 (grub_udf_read_icb): Read whole block.
1652 (grub_udf_iterate_dir): Likewise.
1653 (grub_udf_dir): Likewise.
1654 (grub_udf_open): Likewise.
1655
c82f16c1
VS
16562012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1657
1658 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
1659
59fd2aac
VS
16602012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1661
1662 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
1663 inline symlinks in addition to workaround.
1664
3b4afb4d
VS
16652012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1666
1667 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
1668
f45c794a
VS
16692012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1670
1671 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
1672
f25cecbd
VS
16732012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1674
1675 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
1676
bb9a34e8
VS
16772012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1678
1679 Fix reiserfs big seek times.
1680
1681 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
1682 exact. All users updated.
1683 (grub_reiserfs_read): Use nearest btree search for seeking.
1684 Fix return value on error.
1685
dc478aea
VS
16862012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1687
1688 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
1689 entries.
1690 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
1691 * docs/grub.texi: Update menuentry description.
1692
8db10f47
VS
16932012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1694
1695 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
1696 crash when embedding onto filesystem.
1697
bcb288ed
VS
16982012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1699
1700 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
1701 name.
1702
a626fdd7
VS
17032012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1704
1705 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
1706
b2f68477
VS
17072012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1708
1709 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
1710 commit.
1711
ba15b2af
B
17122012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17132012-05-01 Bean <bean123ch@gmail.com>
1714
1715 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
1716
a188012e
VS
17172012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1718
1719 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
1720 Special behaviour for len = 0 to read whole file isn't used anywhere and
1721 can cause buffer ovewrflows in several places.
1722
f0a53ed2
VS
17232012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1724
1725 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
1726
5ed554f0
VS
17272012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1728
1729 Handle RAIDZ on non-512B sectors.
1730
1731 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
1732 max_children_ashift.
1733 (fill_vdev_info_real): Fill max_children_ashift.
1734 (read_device): Use max_children_ashift.
1735
ddc58357
VS
17362012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1737
1738 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
1739
e3282399
VS
17402012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1741
1742 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
1743 disk names.
1744 * docs/grub.texi: Update device.map parts.
1745
ee618bd4
VS
17462012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1747
1748 Don't scan into non-diskfilter devices having diskfilter names.
1749
1750 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
1751 (scan_disk): New argument accept_diskfilter. Fix recursion depth
1752 handling.
1753 (scan_disk_hook): New function.
1754
bdf88864
B
17552012-04-29 Bean <bean123ch@gmail.com>
1756
1757 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
1758 allocation.
1759
32745f51
MK
17602012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
1761
1762 * configure.ac: Detect starfield theme font path
1763 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
1764
bc95c8c0
VS
17652012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1766
1767 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
1768 geometry on serial consoles.
1769
147fbcab
VS
17702012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1771
1772 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
1773 because of network consoles.
1774
0f42c889
VS
17752012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1776
1777 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
1778 handling.
1779
4a3594c9
VS
17802012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1781
1782 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
1783 falls on Q syndrom.
1784
5cb53879
VS
17852012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1786
1787 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
1788 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
1789
b282dfe5
VS
17902012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
1793 Allocate at lest 8192 for temporary buffer as required for lzo.
1794
daa59f47
VS
17952012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1796
1797 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
1798 to cluster_bits, since it's already added in.
1799 (grub_fat_read_data): Likewise.
1800
986748ce
VS
18012012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1802
1803 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
1804 as long as cluster size is multiple of 512 bytes.
1805
a20f6ad0
VS
18062012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
1807
1808 * util/grub-mkrescue.in: Fix locale directory.
1809
385f9abb
VS
18102012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
1811
1812 * grub-core/kern/emu/hostdisk.c (map): Make static.
1813
1c557d30
B
18142012-04-23 Bean <bean123ch@gmail.com>
1815
1816 * util/grub-fstest.c (fstest): Add missing break.
1817
524b5d3a
ST
18182012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
1819
1820 Fix hurd build.
1821
1822 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
1823 not define nr variable.
fe4824e9 1824 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
1825 find_root_devices_from_poolname, find_root_devices_from_libzfs,
1826 grub_find_device): Do not define.
524b5d3a 1827
9a06490c
VS
18282012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1829
1830 Fix kfreebsd compile and behaviour.
1831
1832 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
1833 format-security.
1834 * util/getroot.c: Fix wait.h include.
1835 (grub_guess_root_devices): Error if grub_find_device fails.
1836 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
1837 (grub_util_get_dev_abstraction): Likewise.
1838 (grub_util_pull_device): Likewise.
1839 (grub_util_get_grub_dev): Likewise.
1840 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
1841
48143d96
VS
18422012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1843
1844 Fix and unify wholedisk detection.
1845
1846 * util/getroot.c (convert_system_partition_to_system_disk): New argument
1847 is_part. All users updated.
1848 (device_is_wholedisk): Removed.
1849 (grub_util_biosdisk_get_grub_dev): Use is_part.
1850
ebbd24f3
VS
18512012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1852
1853 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
1854 mode.
1855
56f7aa1e
VS
18562012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1857
1858 * configure.ac: Bump to beta4.
1859
9c815e01
VS
18602012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1861
1862 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
1863 --fs-uuid --set UUID syntax.
1864
59e2651a
VS
18652012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1866
1867 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
1868 disunification.
1869
54e03cfc
VS
18702012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1871
1872 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
1873
81092a75
MK
18742012-04-18 Mads Kiilerich <mads@kiilerich.com>
1875
1876 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
1877
f8315e14
MG
18782012-04-18 Mike Gilbert <floppym@gentoo.org>
1879
1880 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
1881
1501ac21
B
18822012-04-18 Bean <bean123ch@gmail.com>
1883
1884 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
1885 place.
1886
cb7f944e
VS
18872012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1888
1889 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
1890 users updated.
1891 (grub_util_biosdisk_read): Handle Linux partitions not exactly
1892 corresponding to GRUB partitions.
1893 (grub_util_biosdisk_write): Likewise.
1894
b72d44a1
VS
18952012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1896
1897 Scan mdraid before LVM.
1898
1899 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
1900 (grub_diskfilter_register_front): ... this.
1901 (grub_diskfilter_register_back): New function.
1902 All users of grub_diskfilter_register updated.
1903
33d918b8
VS
19042012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1905
1906 * util/grub-install.in: Fix an automatic target detection bug.
1907
c6ca973d
VS
19082012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1909
1910 * util/grub-install.in: New option --efi-directory.
1911
b41be562
VS
19122012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1913
1914 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
1915 boot services if we have no other choice.
1916
19172012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1918
1919 * util/grub-mknetdir.in: Rename --override-directory to --directory and
1920 document it.
1921 * tests/util/grub-shell.in: Update to --directory.
1922
e0595a73
VS
19232012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1924
1925 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
1926
4ed80652
VS
19272012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1928
1929 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
1930 (grub_minix_read_file): Likewise.
1931 (grub_minix_read_inode): Likewise.
1932 (grub_minix_find_file): Likewise.
1933 (grub_minix_dir): Likewise.
1934
56008077
VS
19352012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1936
1937 * util/grub-setup.c (setup): Fix partition handling and blocklist
1938 check.
1939
ee520775
VS
19402012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1941
1942 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
1943 redundant buggy overlap check.
1944
16fc9293
VS
19452012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1946
1947 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
1948 and grub-mknetdir.
1949
9bab65c4
VS
19502012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1951
1952 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
1953 kh.loadflags on pre-2.00 kernels.
1954
3c491b47
VS
19552012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1956
1957 Terminate UNDI and PXE before launching the payload to avoid problems
1958 with DMA.
1959
1960 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
1961 (grub_loader_flags): ... this. All users updated.
1962 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
1963 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
1964 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
1965 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
1966 function.
1967 (grub_pxe_restore): Likewise.
1968 (fini_hnd): New var.
1969 (GRUB_MOD_INIT): Register shutdown hook.
1970 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
1971 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
1972 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
1973 (grub_loader_set): Rename second argument to flags.
1974
851ffada
VS
19752012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1976
1977 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
1978 written bytes.
1979 (grub_get_num_of_utf8_bytes): New function.
1980 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
1981 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
1982 executing it.
1983 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
1984 (grub_ucs4_to_utf8): Change return type.
1985
491c57a8
VS
19862012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1987
1988 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
1989 warning.
851ffada
VS
1990 * grub-core/fs/bfs.c (hop_level): Likewise.
1991 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 1992
756773df
VS
19932012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1994
1995 * grub-core/lib/adler32.c: Recode due to license unclearness.
1996
fd556a96
VS
19972012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1998
1999 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
2000 (test_header): Likewise.
2001
9f9d3f69
VS
20022012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2003
2004 Fix --help formatting.
2005
2006 * util/grub-mkconfig_lib.in (print_option_help): New function.
2007 (grub_fmt): Likewise.
2008 * util/grub-install.in: Use print_option_help and grub_fmt.
2009 * util/grub-kbdcomp.in: Likewise.
2010 * util/grub-mkconfig.in: Likewise.
2011 * util/grub-mknetdir.in: Likewise.
2012 * util/grub-mkrescue.in: Likewise.
2013 * util/grub-mkstandalone.in: Likewise.
2014 * util/grub-reboot.in: Likewise.
2015 * util/grub-set-default.in: Likewise.
2016 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2017
561ec77e
VS
20182012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2019
2020 * linguas.sh: Remove autogenerated *.po.
2021
7ec2b021
VS
20222012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2023
2024 * po/README: Move language fetcing to ...
2025 * linguas.sh: ... here.
2026 * po/README: Point to linguas.sh.
2027
a88f3270
VS
20282012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2029
2030 * po/README: Exclude ko.po due to disclaimer problems.
2031
d61357ce
VS
20322012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2033
2034 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
2035 len = 0.
2036 (grub_gettext_translate_real): Handle 0th string.
2037 (grub_gettext_translate): Ensure that "" isn't translated.
2038
505e41dc
VS
20392012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2040
2041 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
2042 TRANSLATORS comment.
2043 (grub_diskfilter_print_partmap): Propagate changing of error into
2044 warning.
2045
e44092db
VS
20462012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2047
2048 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
2049 to uint64_t to prevent overflow.
2050 (grub_diskfilter_lv): Increase start_extent and extent_count
2051 to uint64_t to prevent overflow.
2052
9b83956a
VS
20532012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2054
2055 * configure.ac: Increase version.
2056
da0d5b3f
VS
20572012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2058
2059 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
2060
2061 * po/Rules-translit: New file.
2062 * po/arabic.sed: Likewise.
2063 * po/cyrillic.sed: Likewise.
2064 * po/greek.sed: Likewise.
2065 * po/hebrew.sed: Likewise.
2066 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
2067 * po/Makefile.in.in: Add extra_dist4.
2068
ac66b453
VS
20692012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2070
2071 Handle big-endian minixfs (fixes minixfs tests on bigendian).
2072
2073 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
2074 modify names. Introduce MODE_BIGENDIAN.
2075 * grub-core/fs/minix_be.c: New file.
2076 * grub-core/fs/minix2_be.c: Likewise
2077 * grub-core/fs/minix3_be.c: Likewise.
2078 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
2079 minix3_be.
2080 * grub-core/Makefile.core.def (minix_be): New module.
2081 (minix2_be): Likewise.
2082 (minix3_be): Likewise.
2083
20842012-04-01 Felix <email@hamburg.de>
2085
2086 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
2087 (devs): Add MBP 2011.
2088
0a2d5a82
VS
20892012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2090
2091 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
2092
d1625889
VS
20932012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2094
2095 * grub-core/normal/cmdline.c (print_completion): New field
2096 prompt_len.
2097 (grub_cmdline_get): Handle width properly.
2098
6d36a236
VS
20992012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2100
2101 * grub-core/commands/lsacpi.c (options): Add missing terminator.
2102
9576977e
VS
21032012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2104
2105 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 2106 after 29th of February.
9576977e 2107
d73ff15d
VS
21082012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2109
2110 Fix exfat endianness handling.
2111
2112 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
2113 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
2114 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
2115 Byte-swap utf16 when necessary.
2116 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
2117
bbb39a45
AB
21182012-03-31 Anton Blanchard <anton@samba.org>
21192012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2120
2121 Fix btrfs endianness handling.
2122
2123 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
2124 (lower_bound): Make root uint64_t. Use root in le.
2125 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
2126 (find_path): Fix template key init.
2127 (grub_btrfs_dir): Fix mtime byteswap.
2128 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
2129
354e0af7
VS
21302012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2131
2132 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
2133 recursion_depth. Break infinite resursions. All users updated.
2134
4e75f21c
VS
21352012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2136
2137 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
2138 after free.
2139 Reported by: Peter Jones.
2140
25581802
AB
21412012-03-31 Anton Blanchard <anton@samba.org>
2142
2143 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
2144 8 bit values.
2145
08fbf92e
VS
21462012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2147
2148 * util/grub-install.in: Fix nvram call for PreP.
2149
5d1182a6
VS
21502012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2151
2152 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
2153 the error when some elements are missing into a warning.
2154
3f8cdd90
VS
21552012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2156
2157 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
2158
51006716
CW
21592012-03-28 Colin Watson <cjwatson@ubuntu.com>
2160
2161 * docs/grub.texi (Invoking grub-probe): New section.
2162 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
2163
e1bd676b
VS
21642012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2165
2166 Fix tab and wide character handling in editor and menu.
2167
2168 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
2169 agglomerate control characters with combining marks.
2170 (bidi_line_wrap): Allow break on tab.
2171 (grub_unicode_get_comb_start): New function.
2172 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
2173 and tab correctly.
2174 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
2175 with a space.
2176 * grub-core/normal/term.c (print_ucs4_terminal): New argument
2177 fixed_tab_size. All users updated.
2178 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
2179 (grub_term_getcharwidth): Handle \t.
2180 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
2181 and copy.
2182
22e6a774
VS
21832012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2184
2185 Handle big-endian mdraid.
2186
2187 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
2188 * grub-core/Makefile.core.def (mdraid09_be): New module.
2189 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
2190 rather than grub_le_to_cpu* and grub_cpu_to_le*.
2191 * grub-core/disk/mdraid_linux_be.c: New file.
2192
3c0eae66
VS
21932012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2194
2195 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
2196
b6cf74c9
VS
21972012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2198
2199 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
2200 missing quotes which caused confusion among translators.
2201
83c93b9c
VS
22022012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2203
2204 * util/grub-mkconfig_lib.in: Fix typo.
2205
ac6fd218
VS
22062012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2207
2208 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
2209 spaces.
2210 * tests/grub_script_leading_whitespace.in: New file.
2211 * Makefile.util.def (grub_script_leading_whitespace): New test.
2212
ba287dd8
VS
22132012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2214
2215 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
2216 to work.
2217
d2d58d0a
VS
22182012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2219
2220 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
2221 starts with control character.
2222
0382d9bb
VS
22232012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2224
2225 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
2226 overflow.
2227 (grub_gdb_outbuf): Likewise.
2228
d83ff9f9
VS
22292012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2230
2231 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
2232 zero terminator. Fixes a crash.
2233
2282da4a
VS
22342012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2235
2236 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
2237 beyond 4 GiB.
2238 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
2239 images independently of preffered adderss field.
2240
0ae4f0bd
VS
22412012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2242
2243 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
2244 * grub-core/commands/regexp.c: Likewise.
2245 * grub-core/loader/i386/linux.c: Likewise.
2246 * grub-core/partmap/msdos.c: Likewise.
2247 * grub-core/script/execute.c: Likewise.
2248 * grub-core/term/gfxterm.c: Likewise.
2249
546fbe9b
VS
22502012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2251
2252 Add variable parsing in $"..." and fix several mismatches with bash.
2253
2254 * Makefile.util.def (grub_script_gettext): New test.
2255 * grub-core/script/execute.c (parse_string): New function.
2256 (gettext_append): Likewise.
2257 (grub_script_arglist_to_argv): Use gettext_append.
2258 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
2259 * tests/grub_script_gettext.in: New file.
2260
9fdb2d7b
VS
22612012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2262
2263 Fix handling of leading spaces in scripts.
2264
2265 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
2266 spaces.
2267 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
2268 other than skipping \r. All users updated.
2269 * tests/grub_script_echo1.in: Add space-related tests.
2270 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
2271
1a1ac4f6
VS
22722012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2273
2274 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
2275
b63d89b6
VS
22762012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2277
2278 * configure.ac: Bump up the version to beta2.
2279
17f38c0f
VS
22802012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2281
2282 Fix gettext reload bugs (e.g. inability to disable gettext
2283 once enabled).
2284
2285 * grub-core/gettext/gettext.c: Encapsulate all static variables in
2286 main_context and secondary_context. All functions updated.
2287 (grub_gettext_translate): Rename to ...
2288 (grub_gettext_translate_real): ... this. Return NULL on failed
2289 translate.
2290 (grub_gettext_translate): Handle secondary context.
2291 (grub_gettext_delete_list): Close file and zero-out the context.
2292 (grub_mofile_open): Don't call grub_gettext_delete_list.
2293 Don't close file.
2294 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
2295 if locale="" to avoid pointless error message.
2296 (grub_gettext_env_write_lang): Update lang even if load fails.
2297 Handle secondary context.
2298 (grub_gettext_reread_prefix): New function.
2299 (read_main): Likewise.
2300 (read_secondary): Likewise.
2301 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
2302 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
2303 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
2304 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
2305
8e56f870
VS
23062012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2307
2308 * configure.ac: Decrease warning level to avoid spurious warnings and
2309 to be able to compile with GCC 4.2.
2310 * Makefile.util.def: Remove -Wno-error=logical-op.
2311
82f6d455
WB
23122012-03-10 William Bittner <william.bittner@gmail.com>
2313
2314 * util/import_unicode.py: Add missing brackets around string for
2315 python 3 support.
2316
1ecd61a4
VS
23172012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2318
2319 Fix efi chainloader on network root.
2320
2321 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
2322 network devices.
2323 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
2324 New function.
2325
14361ee8
VS
23262012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2327
2328 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
2329 unused show_text member.
2330 * docs/grub.texi: Document "text" property.
2331
922aabf3
VS
23322012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2333
2334 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
2335 in dprintf.
2336
ec316771
VS
23372012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2338
2339 Fix IMSM handling on Fedora.
2340
2341 * util/getroot.c (grub_util_is_imsm): New function.
2342 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
2343
0f021838
VS
23442012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 * Makefile.am: Strip gold section.
2347 * conf/Makefile.common: Likewise.
2348 * gentpl.py: Likewise.
2349 * grub-core/Makefile.core.def: Likewise.
2350 * grub-core/genmod.sh.in: Likewise.
2351
1039c8eb
VS
23522012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2353
2354 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
2355 * util/grub.d/20_linux_xen.in: Likewise.
2356 Based on Debian patch.
2357
6dd412cd
VS
23582012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2359
2360 * util/grub.d/10_linux.in: Fix syntax error resulting in
2361 Richard Laager's patch.
2362 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
2363
3fd8bae5
VS
23642012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2365
2366 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
2367 dependencies.
2368
7eea1671
RL
23692012-03-10 Richard Laager <rlaager@wiktel.com>
2370
2371 * util/grub.d/10_linux.in: Fix ZFS root passing.
2372
e8e0566b
VS
23732012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
2376 * grub-core/commands/xnu_uuid.c: Likewise.
2377 * grub-core/loader/efi/appleloader.c: Likewise.
2378 * grub-core/script/execute.c: Likewise.
2379 * grub-core/script/main.c: Likewise.
2380 * util/grub-mkfont.c: Likewise.
2381
1acc5b1f
VS
23822012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2383
2384 * util/grub-mkfont.c (options): Use more appropriate "select" that
2385 "set" for face index.
2386
35d70620
VS
23872012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2388
2389 * util/grub-editenv.c (options): Gettextize command summaries.
2390
c9eb96b5
VS
23912012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2392
2393 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
2394 "out of memory" error messagge.
2395
1f493136
VS
23962012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2397
2398 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
2399 of diskfilter for diskfilter on diskfilter support.
2400
6d790129
VS
24012012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2402
2403 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
2404
005f46c9
VS
24052012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2406
2407 * util/grub-install.in: Check for themes/starfield/theme.txt and not
2408 themes/starfield.
2409
c8f778a0
VS
24102012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2411
2412 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
2413
de1e64eb
VS
24142012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2415
2416 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
2417
c6d54211
VS
24182012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2419
2420 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
2421 of error message.
2422
dd390777
VS
24232012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
2424
2425 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
2426
5fd1c522
VS
24272012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
2428
2429 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
2430 message.
c6d54211 2431 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 2432
fae01f6c
VS
24332012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2434
2435 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
2436 Gettextize.
2437 * util/grub-mount.c (options): Likewise.
2438
292fdaff
VS
24392012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2440
2441 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
2442 gettextize.
2443 * grub-core/commands/search_wrap.c (options): Likewise.
2444
ecdbae77
VS
24452012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2446
2447 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
2448
52bfedfa
VS
24492012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2450
2451 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
2452 size calculation.
2453 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
2454 none is known.
2455
55b20e58
VS
24562012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2457
2458 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
2459 "temporary" since it's used in identifier and is limited in space.
2460
fda9d101
VS
24612012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2462
2463 * po/POTFILES.in: Regenerate. Include *.h since they contain
2464 translatable strings as well.
2465
6a0295e2
VS
24662012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2467
2468 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
2469 byte-swap on big-endian.
2470 Reported by: Lennart Sorensen
2471
807fb77c
VS
24722012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
2473
2474 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
2475 (allocate_pages): Improve dprintf.
2476 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
2477 code32_start. Fill code32_start and kernel_alignment in params.
2478 (grub_cmd_initrd): Use prot_init_space.
2479
61ac50ba
VS
24802012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2481
2482 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
2483
abdd26dd
VS
24842012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2485
2486 * util/grub-install.in: Add missing dot at the end of sentence.
2487
6e69da9c
VS
24882012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2489
2490 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
2491 * grub-core/commands/videotest.c: Likewise.
2492 * grub-core/loader/i386/linux.c: Likewise.
2493
4a929343
VS
24942012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2495
2496 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
2497 sentence.
2498 Reported by: Milo Casagrande.
2499
bb51c6c6
VS
25002012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2501
2502 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
2503 * grub-core/commands/gptsync.c: Likewise.
2504 * grub-core/commands/hashsum.c: Likewise.
2505 * grub-core/commands/i386/pc/sendkey.c: Likewise.
2506 * grub-core/commands/legacycfg.c: Likewise.
2507 * grub-core/io/gzio.c: Likewise.
2508 * grub-core/net/net.c: Likewise.
2509 * grub-core/term/gfxterm.c: Likewise.
2510 * grub-core/term/terminfo.c: Likewise.
2511 * grub-core/tests/test_blockarg.c: Likewise.
2512 * grub-core/video/video.c: Likewise.
2513 * util/grub-install.in: Likewise.
2514 * util/grub-mkfont.c: Likewise.
2515
b2b149cb
VS
25162012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2517
2518 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
2519
c7c080ad
VS
25202012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2521
2522 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 2523 Reported by: David Prévot.
c7c080ad 2524
f2e243c0
VS
25252012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2526
2527 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
2528 description.
2529
09963c76
VS
25302012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2531
2532 * util/grub-script-check.c (main): Fix a syntax error message which was
2533 unclear.
2534
a50514a8
VS
25352012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2536
2537 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
2538
4650daec
VS
25392012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2540
2541 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
2542 messages.
2543
25442012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
2545
2546 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
2547 without argument.
2548 * util/grub-mount.c (options): Likewise.
2549
bbc5a342
VS
25502012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2551
2552 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
2553
ef292a87
VS
25542012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2555
2556 * grub-core/net/http.c: Add TRANSLATORS comments.
2557 * grub-core/normal/cmdline.c: Likewise.
2558 * grub-core/normal/misc.c: Likewise.
2559 * grub-core/partmap/msdos.c: Likewise.
2560 * grub-core/parttool/msdospart.c: Likewise.
2561 * grub-core/script/execute.c: Likewise.
2562 * grub-core/script/main.c: Likewise.
2563 * grub-core/term/terminfo.c: Likewise.
2564 * grub-core/video/bitmap.c: Likewise.
2565 * util/grub-install.in: Likewise.
2566 * util/grub-mkimage.c: Likewise.
2567 * util/grub-mklayout.c: Likewise.
2568 * util/grub-setup.c: Likewise.
2569
0fc19bd0
VS
25702012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2571
2572 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
2573 with similar messages in grub-fstest.
2574
d95862ef
VS
25752012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2576
2577 * util/grub-install.in: Unify "option requires an argument" message
2578 with similar messages in other files.
2579 * util/grub-mkconfig.in: Likewise.
2580
b7308f90
VS
25812012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2582
2583 * util/grub-set-default.in: Replace printf with gettext_printf (the
2584 string in in question is already translated from grub-reboot)
2585
559dc587
VS
25862012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2587
2588 * configure.ac: Bump up the version to beta1.
2589
1a11761f
VS
25902012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2591
2592 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
2593 case when min_align = 0.
2594
24539abd
VS
25952012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2596
2597 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
2598 and fix a case when line_start overflows.
2599
32bd735b
VS
26002012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2601
2602 * util/grub-reboot.in (usage): Mention id posibility.
2603 * util/grub-set-default.in (usage): Likewise.
2604
1a2fd1e6
VS
26052012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2606
2607 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
2608 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
2609 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
2610 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
2611 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
2612 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2613 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2614
90eeab76
VS
26152012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2616
2617 * grub-core/commands/menuentry.c (options): Remove
2618 GRUB_ARG_OPTION_REPEATABLE.
2619 Reported by: Andreas Vogel
2620
5ad1be82
AV
26212012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
2622
2623 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
2624
cb055286
HE
26252012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
2626
2627 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
2628 error.
2629
93b1cd79
VS
26302012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2631
2632 Use sort -V by the idea of Georgi Georgiev.
2633
2634 * util/grub-mkconfig_lib.in (version_sort): New function.
2635 (version_test_numeric): Use version_sort.
2636
0cdc126c
VS
26372012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2638
2639 Use submenus in grub-mkconfig.
2640
2641 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
2642 * util/grub-mkconfig_lib.in (grub_quote): New function.
2643 (gettext_printf): Use gettext and not gettext_quoted to fix several
2644 messages.
2645 * util/grub.d/10_hurd.in: Use submenus.
2646 * util/grub.d/10_kfreebsd.in: Likewise.
2647 * util/grub.d/10_linux.in: Likewise.
2648 * util/grub.d/10_netbsd.in: Likewise.
2649 * util/grub.d/20_linux_xen.in: Likewise.
2650 * util/grub.d/30_os-prober.in: Likewise.
2651 * util/grub.d/10_illumos.in: Add missing quoting.
2652 * util/grub.d/10_windows.in: Likewise.
2653
d9bef9bc
VS
26542012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2655
2656 Fix menu title instability bug.
2657
2658 * grub-core/commands/menuentry.c (options): New option --id.
2659 (grub_normal_add_menu_entry): New argument id. All users updated.
2660 (grub_cmd_menuentry): Handle --id.
2661 (grub_menu_init): Accept unknown arguments.
2662 * grub-core/normal/main.c (features): Add feature_menuentry_id and
2663 feature_menuentry_options.
2664 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
2665 saved_entry.
2666 (get_entry_number): Match with id as well.
2667 * include/grub/menu.h (grub_menu_entry): New member id.
2668 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
2669 * util/grub.d/00_header.in: Define menuentry_id_option.
2670 * util/grub.d/10_hurd.in: Define id.
2671 * util/grub.d/10_illumos.in: Likewise.
2672 * util/grub.d/10_kfreebsd.in: Likewise.
2673 * util/grub.d/10_linux.in: Likewise.
2674 * util/grub.d/10_netbsd.in: Likewise.
2675 * util/grub.d/10_windows.in: Likewise.
2676 * util/grub.d/20_linux_xen.in: Likewise.
2677 * util/grub.d/30_os-prober.in: Likewise.
2678
26792012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
2680
2681 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
2682 "scope" with "body".
2683
7c8d0ce7
VS
26842012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2685
2686 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
2687 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
2688 prot_size and prot_file_size.
2689
49de079b
VS
26902012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2691
2692 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
2693 All users updated. If easily=1 require raid-5/-6 to be full.
2694 (is_node_readable): Likewise.
2695 (scan_devices): Scan incomplete but readable LVs at the end.
2696 (grub_diskfilter_memberlist): Pull missing devices.
2697 (insert_array): Skip scanning until device is complete or scan is
2698 done otherwise.
2699 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
2700 check.
2701 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
2702 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
2703
aff05d45
MG
27042012-03-03 Matthew Garrett <mjg@redhat.com>
27052012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2706
2707 Avoid EFI boot services when loading Linux.
2708
2709 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
2710 avoid_efi_bootservices. All users updated.
2711 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
2712 argument avoid_efi_bootservices. All users updated.
2713 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
2714 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
2715 align, min_align, relocatable, prefered_address. All users updated.
2716 Allocate avoiding boot services if kernel is relocatable.
2717 (grub_cmd_linux): Check if kernel is relocatable.
2718 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
2719 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
2720 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
2721 avoid_efi_boot_services.
2722 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
2723 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
2724 (linux_kernel_params): Likewise.
2725
3935dde2
MG
27262012-03-03 Matthew Garrett <mjg@redhat.com>
27272012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2728
2729 Use EDID on EFI.
2730
2731 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
2732 datasize_out.
2733 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
2734 modes. Set gop_handle.
2735 (grub_video_gop_get_edid): New function.
2736 (grub_gop_get_preferred_mode): Likewise.
2737 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
2738 (grub_video_efi_gop_adapter): Set .get_edid.
2739 * include/grub/efi/edid.h: New file.
2740 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
2741
32107ec0
VS
27422012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2743
2744 * util/grub-install.in: Load efivars unconditionally.
2745
e70a2c50
VS
27462012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2747
2748 * po/Rules-piglatin: Change suffix from .po-update-en to
2749 .po-update-en-piglatin.
2750
8f9cace1
VS
27512012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2752
2753 Add a pig farm.
2754
2755 * po/piglatin.sed: New file.
2756 * po/en@piglatin.header: Likewise.
2757 * po/Rules-piglatin: Likewise.
2758 * po/README: Add en@piglatin to autogenerated languages.
2759
8f95d002
VS
27602012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2761
2762 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
2763 "Command for ...".
2764 * grub-core/commands/hdparm.c (options): Use "Display" rather than
2765 "Check" since we don't check anything.
2766 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
2767 is 64-bit one.
2768 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
2769 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
2770 (grub_md_sha512_real): Likewise.
2771
805a8dcc
VS
27722012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2773
2774 * grub-core/commands/gptsync.c: Fix typographic quoting.
2775 * grub-core/commands/ieee1275/suspend.c: Likewise.
2776 * grub-core/commands/parttool.c: Likewise.
2777 * grub-core/commands/search_wrap.c: Likewise.
2778 * grub-core/commands/videoinfo.c: Likewise.
2779 * grub-core/gfxmenu/gui_label.c: Likewise.
2780 * grub-core/hello/hello.c: Likewise.
2781 * grub-core/kern/emu/main.c: Likewise.
2782 * grub-core/net/net.c: Likewise.
2783 * grub-core/normal/menu.c: Likewise.
2784 * grub-core/normal/menu_text.c: Likewise.
2785 * grub-core/normal/misc.c: Likewise.
2786 * util/grub-editenv.c: Likewise.
2787 * util/grub-install.in: Likewise.
2788 * util/grub-kbdcomp.in: Likewise.
2789 * util/grub-mkconfig.in: Likewise.
2790 * util/grub-mknetdir.in: Likewise.
2791 * util/grub-mkrescue.in: Likewise.
2792 * util/grub-mkstandalone.in: Likewise.
2793 * util/grub-reboot.in: Likewise.
2794 * util/grub-set-default.in: Likewise.
2795 * util/grub-setup.c: Likewise.
2796 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2797
40211ab8
VS
27982012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2799
2800 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
2801 * grub-core/commands/keystatus.c: Likewise.
2802 * grub-core/commands/loadenv.c: Likewise.
2803 * grub-core/commands/probe.c: Likewise.
2804 * grub-core/commands/regexp.c: Likewise.
2805 * grub-core/commands/true.c: Likewise.
2806 * grub-core/commands/videoinfo.c: Likewise.
2807 * grub-core/disk/cryptodisk.c: Likewise.
2808 * grub-core/disk/ldm.c: Likewise.
2809 * grub-core/disk/loopback.c: Likewise.
2810 * grub-core/disk/luks.c: Likewise.
2811 * grub-core/fs/zfs/zfsinfo.c: Likewise.
2812 * grub-core/kern/disk.c: Likewise.
2813 * grub-core/kern/emu/hostdisk.c: Likewise.
2814
0c7d99c7
VS
28152012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2816
2817 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
2818 * util/grub-install.in: Add missing quote in the comment.
2819
e7d2559b
VS
28202012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2821
2822 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
2823 * grub-core/commands/lsmmap.c: Likewise.
2824 * grub-core/commands/minicmd.c: Likewise.
2825 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
2826 * grub-core/commands/regexp.c: Likewise.
2827 * grub-core/gdb/gdb.c: Likewise.
2828 * grub-core/term/gfxterm.c: Likewise.
2829 * util/grub-mkconfig.in: Likewise.
2830 * util/grub-mkfont.c: Likewise.
2831 * util/grub-mklayout.c: Likewise.
2832 * util/grub-mknetdir.in: Likewise.
2833 * util/grub-mkrescue.in: Likewise.
2834 * util/grub.d/30_os-prober.in: Likewise.
2835
49ce9e50
VS
28362012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2837
2838 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
2839 with "Direct color" and "Packed" with "Packed pixel".
2840 (grub_cmd_videoinfo): Simplify legend.
2841
e4b791fa
VS
28422012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2843
2844 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
2845 absolutely unclear error message.
2846
fd1265cb
VS
28472012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2848
2849 * util/grub-mkstandalone.in: Remove confusing leftover print.
2850
8822a8a0
VS
28512012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2852
2853 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
2854 comments.
2855 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
2856 (GRUB_MOD_INIT): Likewise.
2857 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
2858 VGA mode.
2859 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
2860 comments.
2861 * util/grub-install.in (usage): Likewise.
2862 Spell ID in whole letters.
2863 Add missing ending dot.
2864 Quote variables.
2865 * util/grub-reboot.in: Fix capitalisation.
2866 * util/grub-set-default.in: Likewise.
2867
937fd0cc
VS
28682012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2869
2870 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
2871 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
2872 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
2873 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
2874 Disable -Werror for -Wdeprecated-declarations.
2875 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
2876 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
2877 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
2878 (grub_util_get_grub_dev): Make luks handling dependent on
2879 HAVE_DEVICE_MAPPER and not __linux__.
2880 (get_win32_path): Fix format security.
2881 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
2882 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
2883 Don't try grub_find_zpool_from_dir.
2884 (grub_make_system_path_relative_to_its_root) [!__linux__]:
2885 #ifdef-out paresdir.
2886
1bab1ae3
VS
28872012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2888
2889 * util/grub-pe2elf.c (usage): Add missing noreturn.
2890 (write_section_data): Rename name to shname to avoid shadowing.
2891 (write_symbol_table): Rename name to symname to avoid shadowing.
2892 Fix write_reloc_section call.
2893
ef023e42
VS
28942012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2895
2896 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
2897 to ensure that it's after the last byte of .text.
2898
48afcb75
VS
28992012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2900
2901 * util/ieee1275/ofpath.c (my_isdigit): New function.
2902 (trailing_digits): Use my_isdigit.
2903 (strip_trailing_digits): Likewise.
2904
88d51eff
VS
29052012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2906
2907 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
2908 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
2909
17edc2ba
VS
29102012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2911
2912 * grub-core/kern/i386/pc/startup.S: Define __start.
2913
ad5518d7
VS
29142012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2915
2916 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
2917 strip already transforms he format.
2918
9e95e1bf
VS
29192012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2920
2921 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
2922
9cc3ee5c
VS
29232012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2924
2925 * util/grub-install.in: Add missing gettext init.
2926 * util/grub-kbdcomp.in: Likewise.
2927 * util/grub-mkconfig.in: Likewise.
2928 * util/grub-mknetdir.in: Likewise.
2929 * util/grub-mkrescue.in: Likewise.
2930 * util/grub-mkstandalone.in: Likewise.
2931 * util/grub-reboot.in: Likewise.
2932 * util/grub-set-default.in: Likewise.
2933 * util/grub.d/00_header.in: Likewise.
2934 * util/grub.d/10_hurd.in: Likewise.
2935 * util/grub.d/10_windows.in: Likewise.
2936 * util/grub.d/30_os-prober.in: Likewise.
2937 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2938
49e08a06
VS
29392012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2940
2941 * po/Rules-swiss: Fix header comment.
2942
3809cb41
AV
29432012-02-29 Andreas Vogel <anvoit>
2944
2945 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
2946 resulted in leak of arguments.
2947
fa6ec573
VS
29482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2949
2950 * grub-core/boot/i386/pc/startup_raw.S: Use separate
2951 reed_solomon_size const definition instead of computing it since
2952 Apple assembler doesn't support the later.
2953
22899b9c
VS
29542012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2955
2956 * gentpl.py (kernel): Rewrite Apple part.
2957
a132afc3
VS
29582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2959
2960 * include/grub/kernel.h (FOR_MODULES): Check module magic.
2961
9d742bd4
VS
29622012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2963
2964 * util/grub-mkimagexx.c (locate_sections): Support non-standard
2965 ELF section gap.
2966 (load_image): Likewise.
2967
f04a9a21
VS
29682012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2969
2970 * configure.ac: Fix a typo in previous commit.
2971
46cf439c
VS
29722012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2973
2974 Don't add -Wl,-N on Apple platform.
2975
2976 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
2977 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
2978
c4c48c54
VS
29792012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2980
2981 * grub-core/Makefile.core.def (lzma_decompress): Use
2982 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
2983
31a12124
VS
29842012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2985
2986 * grub-core/genmod.sh.in: Rewrite the Apple part.
2987
4f3aa1af
VS
29882012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2989
2990 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
2991 comparison.
2992
7bd8b0c7
VS
29932012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2994
2995 * acinclude.m4 (grub_CHECK_PIC): New test.
2996 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
2997
97304d7c
VS
29982012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2999
3000 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
3001 to avoid the warning.
3002
fb883812
VS
30032012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3004
3005 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
3006 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
3007 after. All users updated.
3008
a121c964
VS
30092012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3010
3011 Use the common size routine in hostfs so we can read disks as well.
3012
3013 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
3014 (grub_util_get_fd_size): ... this. Return size in bytes.
3015 All users updated.
3016 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
3017 grub_util_get_fd_size.
3018
c66d6410
VS
30192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3020
3021 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
3022 Add blocksize retrieval.
3023
dfc8aeb0
VS
30242012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3025
3026 * configure.ac: Restore CFLAGS after efiemu check.
3027
403e25a5
VS
30282012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3029
3030 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
3031 Apple bug.
3032
382775d1
VS
30332012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3034
3035 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
3036
6fd4e6e4
VS
30372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3038
3039 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
3040 (grub_cmd_halt): Likewise.
3041
bea359d6
VS
30422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3043
3044 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
3045 for local arithmetics.
3046 Break %sp init into 2 instructions.
3047 Add 0 byte at the end.
3048
32eb6ee1
VS
30492012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3050
3051 * grub-core/disk/diskfilter.c (read_segment): Initialise err
3052 before loops.
3053
e8377389
VS
30542012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3055
3056 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
3057 for context.
3058
8cb17de7
VS
30592012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3060
3061 * grub-core/disk/ldm.c (make_vg): Init part.name.
3062 (grub_ldm_detect): Silence spurious warning.
3063 (grub_util_is_ldm): Likewise.
3064
595717e6
VS
30652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3066
3067 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
3068 sane value to avoid a spurious warning.
3069
c4b7e588
VS
30702012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3071
3072 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
3073 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
3074
59824957
VS
30752012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3076
3077 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
3078 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
3079
70115b99
VS
30802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3081
3082 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
3083 hardcoding the relevant info.
3084
56733740
VS
30852012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3086
3087 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
3088 missing const qualifiers.
3089 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
3090
43481481
VS
30912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3092
3093 * util/getroot.c [__APPLE__]: Add missing includes.
3094 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
3095
3cb38f01
VS
30962012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3097
3098 * util/grub-mkimage.c (generate_image): Silence spurious warning.
3099
d9dbf11e
VS
31002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3101
3102 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
3103 avoid conflicts.
3104
0c42a45d
VS
31052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3106
3107 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
3108
46c34eb0
VS
31092012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3110
3111 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
3112 and grub_file_close call.
3113
99ce1597
VS
31142012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3115
3116 Add LZSS Mach-O support (needed for new xnu kernelcache).
3117
3118 * grub-core/Makefile.core.def (xnu): Add file lzss.c
3119 * grub-core/loader/lzss.c: New file.
3120 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
3121 on Mach-O open failure.
3122 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
3123 Don't free cmdsXX in uncompressedXX is set.
3124 (grub_macho_file): Init new fields.
3125 New argument is_64bit. All users updated.
3126 Handle compressed. Error out if no suitable architecture is found.
3127 Don't close file.
3128 (grub_macho_open): New argument is_64bit. All users updated.
3129 * grub-core/loader/macho32.c: Add defines for new fields.
3130 * grub-core/loader/macho64.c: Likewise.
3131 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
3132 (grub_macho_parse): Handle compressed.
3133 Defer actual processing if compressed.
3134 (grub_macho_cmds_iterate): Decompress if compressed. New argument
3135 "filename". All users updated.
3136 (grub_macho_size): New argument "filename". All users updated.
3137 (grub_macho_get_entry_point): Likewise.
3138 (grub_macho_load): Handle compressed.
3139 * include/grub/macho.h (grub_macho_lzss_header): New struct.
3140 (GRUB_MACHO_LZSS_OFFSET): New define.
3141 (grub_decompress_lzss): New proto.
3142 * include/grub/machoload.h (grub_macho_file): New fields to handle
3143 compressed.
3144 (grub_macho_contains_macho64): Remove proto.
3145 (grub_macho_contains_macho32): Likewise.
3146 * util/grub.d/30_os-prober.in: Use kernel cache if available.
3147
ebd17d6f
VS
31482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3149
3150 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
3151
2702b4e4
VS
31522012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3153
3154 Fix make dist.
3155
3156 * Makefile.am (starfield_theme_files): New var.
3157 (starfield_DATA): Use starfield_theme_files.
3158 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
3159 Add bootcheck-related files.
3160 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
3161 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
3162 and font_char_metrics.txt.
3163 * grub-core/Makefile.core.def (kernel): Update extra_dist.
3164 (setjmp): Add lib/ia64/longjmp.S.
3165 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
3166 * po/POTFILES.in: Regenerate.
3167 * po/Rules-swiss: use DISTFILES.common.extra2 and not
3168 DISTFILES.common.extra1.
3169 * util/devicemap.c: Removed.
3170 * grub-core/lib/i386/relocator_backward.S: Likewise.
3171 * util/import_gcry.py: Remove unused files. Add extra_dist for
3172 ChangeLog.
3173
cf1adfdf
VS
31742012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3175
3176 * grub-core/gettext/gettext.c (grub_mofile_open): Call
3177 grub_gettext_delete_list before changing grub_gettext_max to avoid
3178 running out of array bounds.
3179
31802012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
3181
3182 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
3183 grub_vga_text_init/grub_vga_text_fini.
3184
cf1adfdf 31852012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
3186
3187 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
3188
541d92e9
VS
31892012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3190
3191 * configure.ac: Bump to 2.00~beta0.
3192
7931dddf
VS
31932012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3194
3195 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
3196 missing initialisation.
3197
f1b16fa3
VS
31982012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3199
3200 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
3201
83ddae23
VS
32022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3203
3204 Support v2 xnu boot arguments.
3205
3206 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
3207 New argument fsbfreq_out.
3208 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
3209 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
3210 be used.
3211 * grub-core/loader/machoXX.c (grub_macho_load): New argument
3212 darwin_version.
3213 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
3214 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
3215 (grub_xnu_boot_params): Rename to ...
3216 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
3217 (grub_xnu_boot_params_v2): New struct.
3218
dc693fe6
VS
32192012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3220
3221 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
3222 zeroing of CRC field before computing CRC.
3223
5a6e39c2
VS
32242012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3225
3226 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
3227 Change order of allocations to decrease fragmentation.
3228
6c21f5d7
VS
32292012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3230
3231 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
3232
cfe456dc
CW
32332012-02-27 Colin Watson <cjwatson@ubuntu.com>
3234
3235 Use write-combining MTRR to speed up video with buggy BIOSes.
3236
3237 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
3238 (cpuid): New define.
3239 (rdmsr): Likewise.
3240 (wrmsr): Likewise.
3241 (mtrr_base): Likewise.
3242 (mtrr_mask): Likewise.
3243 (grub_vbe_enable_mtrr_entry): New function.
3244 (grub_vbe_enable_mtrr): Likewise.
3245 (grub_vbe_disable_mtrr): Likewise.
3246 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
3247 control off to BIOS.
3248 (grub_video_vbe_init): Fill mtrr.
3249 (grub_video_vbe_fini): Disable mtrr.
3250 (grub_video_vbe_get_info_and_fini): Likewise.
3251 (grub_video_vbe_setup): Enable mtrr.
3252
e3c78337
CW
32532012-02-27 Colin Watson <cjwatson@ubuntu.com>
3254
3255 * include/grub/partition.h (grub_partition_map): Change prototype of
3256 embed to take a maximum value for nsectors.
3257 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
3258 * include/grub/fs.h (grub_fs): Likewise.
3259 * grub-core/partmap/msdos.c (embed_signatures): New array.
3260 (pc_partition_map_embed): Check for and avoid sectors matching any
3261 of the signatures in embed_signatures, up to max_nsectors.
3262 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
3263 returned sector map to max_nsectors.
3264 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
3265 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
3266 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
3267 * util/grub-setup.c (setup): Allow for the embedding area being
3268 split into multiple blocklists. Tell dest_partmap->embed the
3269 maximum number of sectors we care about.
3270
32712012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3272
3273 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
3274 Specify blocklist_install and reserver_first_sector for all fs.
3275 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
3276 blocklists.
3277
984b973f
VS
32782012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3279
3280 * util/grub-install.in: Clarify strings.
3281 Fix source dir check.
3282
f122e0d6
RL
32832012-02-27 Richard Laager <rlaager@wiktel.com>
3284
3285 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
3286 "zfs" and "fuse.zfs" as synonyms.
3287
071114bb
VS
32882012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3289
3290 * configure.ac: Put platform and target_cpu substitutions back since
3291 they are used for directories.
3292
817e6abc
RL
32932012-02-27 Richard Laager <rlaager@wiktel.com>
32942012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3295
3296 * util/grub.d/10_linux.in: Add ZFS-related arguments.
3297 * util/grub.d/20_linux_xen.in: Likewise.
3298
897b7419
RL
32992012-02-27 Richard Laager <rlaager@wiktel.com>
3300
3301 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
3302 with full paths.
3303
a414bd15
RL
33042012-02-27 Richard Laager <rlaager@wiktel.com>
3305
3306 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
3307 unescape.
3308
30ac48c4
VS
33092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3310
3311 Don't use insecure popen in getroot.
3312
3313 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
3314 (exec_pipe): ... here.
3315 (find_root_devices_from_poolname): Use exec_pipe.
3316
53f13848
VS
33172012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3318
3319 Remove platform and target_cpu replacement.
3320
3321 * configure.ac: Remove platform and target_cpu substitutions.
3322 * tests/util/grub-shell.in: Use modinfo.
3323 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
3324 explicitly.
3325
90cb2803
VS
33262012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3327
3328 Autodetect platform in grub-install but allow override.
3329
3330 * util/grub-install.in: Autodetect platform. Support --target and
3331 --directory. Read platform from modinfo.sh.
3332
b9136427
VS
33332012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3334
3335 Support btrfs multi-volume probe.
3336
3337 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
3338 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
3339 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
3340 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
3341 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
3342 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
3343 grub_find_root_devices_from_btrfs if on btrfs.
3344
c36e5cd1
VS
33452012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3346
3347 Remove any awareness of *.c util files about target.
3348
3349 * Makefile.util.def (grub-setup): Split to ...
3350 (grub-bios-setup): ... and this.
3351 (grub-sparc64-setup): ... and this.
3352 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
3353 * docs/man/grub-setup.h2m: Split into ...
3354 * docs/man/grub-sparc64-setup.h2m: ... this.
3355 * docs/man/grub-bios-setup.h2m: ... and this.
3356 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
3357 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
3358 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
3359 (grub_target_addr_t): Remove.
3360 (grub_target_size_t): Remove.
3361 (grub_target_ssize_t): Remove.
3362 * util/grub-install.in: Use new grub-*-setup.
3363 * util/grub-mkimagexx.c (Elf_Word): New define.
3364 (Elf_Half): Likewise.
3365 (Elf_Section): Likewise.
3366 (ELF_ST_TYPE): Likewise.
3367 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
3368 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
3369
584b2f8a
VS
33702012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3371
3372 Replace grub_target_addr with more appropriate types.
3373
3374 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
3375 grub_target_addr with grub_addr.
3376 * grub-core/commands/iorw.c (grub_cmd_read): Replace
3377 grub_target_addr with grub_port.
3378 (grub_cmd_write): Likewise.
3379 * grub-core/commands/memrw.c (grub_cmd_read): Replace
3380 grub_target_addr with grub_addr.
3381 (grub_cmd_write): Likewise.
3382 * grub-core/video/efi_uga.c (find_line_len): Likewise.
3383
5a0dc6fb
VS
33842012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3385
3386 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
3387 const qualifier for vendor_guid.
3388
786aff6e
VS
33892012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3390
3391 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
3392 const qualifier.
3393 (efiemu_memequal): Likewise.
3394 (find_variable): Likewise.
3395
49017b17
VS
33962012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3397
3398 Fix missing console prototype on qemu-mips.
3399
3400 * include/grub/mips/qemu_mips/console.h: New file.
3401
c5988629
MG
34022012-02-27 Matthew Garrett <mjg@redhat.com>
34032012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3404
3405 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
3406 * include/grub/efi/efi.h: Likewise.
3407 * include/grub/efi/api.h: Add guid for EFI-specified variables.
3408 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
3409 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
3410 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
3411 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
3412 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
3413
e33f8d69
MG
34142012-02-27 Matthew Garrett <mjg@redhat.com>
3415
3416 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
3417
fb312cd9
VS
34182012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3419
3420 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
3421 error.
3422
7134247c
VS
34232012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3424
3425 * configure.ac: Remove inappropriate use of program_transform_name
3426 on grubdir and bootdir but allow explicit specification of those
3427 variables.
3428
6a313124
VS
34292012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3430
3431 * util/grub-mknetdir.in (grub_prefix): Removed.
3432 (subdir): Use @bootdirname@ and @grubdirname@.
3433
2311c5ca
VS
34342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3435
3436 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
3437
7d5d60f7
VS
34382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3439
3440 * po/POTFILES.in: Regenerated.
3441
8151bc82
VS
34422012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3443
3444 Remove improper use of program_transform_name on pkglibrootdir.
3445
3446 * configure.ac (pkglibrootdir): Removed.
3447 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
3448 * util/grub-mkimage.c: Likewise.
3449
b4a6a533
VS
34502012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3451
3452 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
3453 warning.
3454
668f304f
VS
34552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3456
3457 * util/grub-install.in: Use file identifier if no UUID is available
3458 or user explicitly prompted for it.
3459
665f2341
NP
34602012-02-27 Navdeep Parhar <nparhar@gmail.com>
3461
3462 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
3463 (freebsd_get_zfs): New function.
3464 (grub_freebsd_boot): Pass zfs UUID.
3465 (grub_cmd_freebsd): Set zfs UUID.
3466
8151bc82 34672012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
3468
3469 * conf/Makefile.common (platformdir): Base on pkglibdir and not
3470 pkglibrootdir.
3471
e4c498a1
MG
34722012-02-27 Mike Gilbert <floppym@gentoo.org>
3473
3474 Add configure flag to control libzfs integration.
3475
3476 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
3477
1e9a9a3f
VS
34782012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3479
3480 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
3481 device.
3482 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
3483 small devices.
3484
036985b8
VS
34852012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3486
3487 Remove grub_{modname}_init and grub_{modname}_fini. They should never
3488 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
3489 be used on non-modules.
3490
3491 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
3492 Rename to grub_boot_init.
3493 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
3494 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
3495 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
3496 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
3497 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
3498 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
3499 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
3500 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
3501 includes.
3502 (grub_machine_init): Remove empty inits.
3503 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
3504 includes.
3505 (grub_machine_init): Remove empty inits.
3506 * grub-core/term/arc/console.c: Remove explicit proto.
3507 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
3508 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
3509 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3510 grub_at_keyboard_fini.
3511 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
3512 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
3513 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3514 grub_gfxterm_fini.
3515 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
3516 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
3517 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3518 grub_vgatext_fini.
3519 * grub-core/term/ieee1275/console.c: Remove explicit proto.
3520 * grub-core/term/serial.c (GRUB_MOD_INIT)
3521 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
3522 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3523 grub_serial_fini.
3524 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
3525 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
3526 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3527 grub_terminfo_fini.
3528 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
3529 (GRUB_MOD_FINI): Likewise.
3530 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
3531 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
3532 (GRUB_MOD_FINI) [LOONGSON]: Rename to
3533 grub_video_radeon_fuloong2e_fini.
3534 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
3535 [LOONGSON]: Rename to grub_video_sis315pro_init.
3536 (GRUB_MOD_FINI) [LOONGSON]: Rename to
3537 grub_video_sis315pro_fini.
3538 * grub-core/video/sm712.c (GRUB_MOD_INIT)
3539 [LOONGSON]: Rename to grub_video_sm712_init.
3540 (GRUB_MOD_FINI) [LOONGSON]: Rename to
3541 grub_video_sm712_fini.
3542 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
3543 (grub_at_keyboard_fini): Likewise.
3544 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
3545 Don't declare grub_{modname}_init.
3546 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
3547 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
3548 New proto.
3549 (grub_keylayouts_fini) [!EMU]: Likewise.
3550 * include/grub/serial.h (grub_serial_init) [!EMU]:
3551 New proto.
3552 (grub_serial_fini) [!EMU]: Likewise.
3553 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
3554 New proto.
3555 (grub_terminfo_fini) [!EMU]: Likewise.
3556 * include/grub/video.h (grub_font_init) [!EMU]:
3557 New proto.
3558 (grub_font_fini) [!EMU]: Likewise.
3559 (grub_gfxterm_init) [!EMU]: Likewise.
3560 (grub_gfxterm_fini) [!EMU]: Likewise.
3561 (grub_video_sm712_init) [!EMU]: Likewise.
3562 (grub_video_sm712_fini) [!EMU]: Likewise.
3563 (grub_video_sis315pro_init) [!EMU]: Likewise.
3564 (grub_video_sis315pro_fini) [!EMU]: Likewise.
3565 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
3566 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
3567
d5534665
VS
35682012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3569
3570 Make nand a prefix for nand devices.
3571
3572 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
3573
10133b5f
VS
35742012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3575
3576 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
3577 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
3578
8e307a62
VS
35792012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3580
3581 * include/grub/env.h (grub_env_find): Remove prototype.
3582 * grub-core/kern/env.c (grub_env_find): Make static.
3583 (grub_env_set): Remove useless set.
3584
a4c65f34
VS
35852012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3586
3587 * grub-core/kern/i386/realmode.S: Remove useless align.
3588
d87893d5
VS
35892012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3590
3591 * include/grub/dl.h (grub_dl_load_file): Don't export.
3592
50159add
VS
35932012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3594
3595 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
3596 grub_dprintf.
3597
b2582b84
VS
35982012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3599
3600 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
3601 grub_errors.
3602 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
3603 not reloading whole superblock but only the part which is really needed.
3604 Remove useless grub_errors.
3605 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
3606 grub_errors.
3607
e2a83395
VS
36082012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3609
3610 Don't export grub_get_rtc.
3611
3612 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
3613 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
3614
e7d2a906
VS
36152012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3616
3617 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
3618
6cf1363b
VS
36192012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3620
3621 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 3622 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 3623
eece3349
VS
36242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3625
3626 Remove prio_list.
3627
3628 * include/grub/list.h (grub_prio_list): Removed.
3629 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
3630 GRUB_COMMAND_PRIO_MASK.
3631 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
3632 GRUB_COMMAND_FLAG_ACTIVE.
3633 (grub_prio_list_insert): Removed.
3634 (grub_prio_list_remove): Likewise.
3635 (GRUB_AS_PRIO_LIST): Likewise.
3636 (GRUB_AS_PRIO_LIST_P): Likewise.
3637 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
3638 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
3639 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
3640 * grub-core/kern/command.c (grub_register_command_prio): Inline
3641 the prio_list code.
3642 (grub_unregister_command): Likewise.
3643
94f064b4
VS
36442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3645
3646 Fix interrupt mixup from previous commit.
3647
3648 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
3649 (grub_realidt): New var.
3650 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
3651 Load idt.
3652 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
3653 New declaration.
3654 (grub_relocator16_boot): Set grub_relocator16_idt.
3655 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
3656 (LOCAL(realidt)): ... this.
3657 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
3658 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
3659 (grub_realidt): New variable.
3660
27317084
VS
36612012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3662
3663 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
3664 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
3665 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
3666 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
3667 Gettextize.
3668 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
3669 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
3670 * po/POTFILES.in: Regenerate.
3671
47b40053
VS
36722012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3673
3674 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
3675 errors.
3676
2b343101
VS
36772012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3678
3679 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
3680 \0.
3681 (add_length): Likewise.
3682
ff27c3dd
LK
36832012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
36842012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
3685
3686 GDB serial and backtrace support.
3687
3688 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
3689 (prot_to_real): Likewise.
3690 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
3691 * grub-core/Makefile.core.def (backtrace): New module.
3692 (gdb): Likewise.
3693 * grub-core/gdb/cstub.c: New file.
3694 * grub-core/gdb/gdb.c: Likewise.
3695 * grub-core/gdb/i386/idt.c: Likewise.
3696 * grub-core/gdb/i386/machdep.S: Likewise.
3697 * grub-core/gdb/i386/signal.c: Likewise.
3698 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 3699 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
3700 * include/grub/backtrace.h: Likewise.
3701 * include/grub/gdb.h: Likewise.
3702 * include/grub/i386/gdb.h: Likewise.
3703
37042012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
3705
3706 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
3707 New function.
3708 (add_length): Likewise.
3709 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
3710 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
3711 proto.
3712 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
3713 __argp_get_display_len.
3714
ff27c3dd 37152012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
3716
3717 $"..." support in scripts.
3718
3719 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
3720 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
3721 * grub-core/script/yylex.l: Likewise.
3722 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
3723 value.
3724
ff27c3dd 37252012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
3726
3727 * gentpl.py: Remove obsolete pkglib_DATA handling.
3728
ff27c3dd 37292012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
3730
3731 Don't transform PACKAGE_TARNAME following a discussion on autoconf
3732 mailing list.
3733
3734 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
3735 * util/grub-kbdcomp.in: Likewise.
3736 * util/grub-mkconfig.in: Likewise.
3737 * util/grub-mkconfig_lib.in: Likewise.
3738 * util/grub-mknetdir.in: Likewise.
3739 * util/grub-mkrescue.in: Likewise.
3740 * util/grub-mkstandalone.in: Likewise.
3741 * util/grub-reboot.in: Likewise.
3742 * util/grub-set-default.in: Likewise.
3743 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3744
ff27c3dd 37452012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
3746
3747 Remove GRUB_PREFIX.
3748
3749 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
3750 * util/grub.d/00_header.in: Compute prefix in the only place it's still
3751 used for backward compatibility.
3752
ff27c3dd 37532012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
3754
3755 Add new all_video module.
3756
3757 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
3758 * grub-core/Makefile.core.def (all_video): New module.
3759 * grub-core/genmoddep.awk: Generate dependency of all_video from
3760 video.lst.
3761 * grub-core/lib/fake_module.c: New file.
3762 * grub-core/normal/main.c (features): Add feature_all_video_module.
3763 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
3764 don't do explicit search again.
47454da5 3765 insmod all_video in load_video if available.
22c7ce85 3766
ff27c3dd 37672012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
3768
3769 Another round of string clarification and adding TRANSLATORS comments.
3770
ff27c3dd 37712012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
3772
3773 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
3774
ff27c3dd 37752012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
3776
3777 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
3778 to grub_ssize_t.
3779 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
3780 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
3781
ff27c3dd 37822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
3783
3784 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
3785 trailing newline implicitly. All users updated.
3786
ff27c3dd 37872012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
3788
3789 Implement serial on IEEE1275 and EFI.
3790
3791 * docs/grub.texi (Platform-specific limitations): Fix the columen video
3792 on emu. Mention arc and emu as the only platforms without serial
3793 support.
3794 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
3795 ieee1275 platforms.
3796 * grub-core/term/efi/serial.c: New file.
3797 * grub-core/term/ieee1275/serial.c: Likewise.
3798 * grub-core/term/serial.c (grub_serial_find): Disable direct port
3799 specification if no ns8250 driver is available.
3800 (grub_cmd_serial): Likewise.
3801 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
3802 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
3803 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
3804 (grub_efi_parity_type_t): New type.
3805 (grub_efi_stop_bits_t): Likewise.
3806 (grub_efi_serial_io_interface): New struct.
3807 * include/grub/serial.h (grub_serial_port): Make 'broken' field
3808 available for all interfaces.
3809 Add EFI and IEEE1275 fields.
3810 (grub_ofserial_init): New proto.
3811 (grub_efiserial_init): Likeiwse.
3812 * util/grub.d/00_header.in: Don't check for the presence of serial
3813 module.
3814
ff27c3dd 38152012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
3816
3817 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
3818 name as if it was an alias.
3819
114076ef
VS
38202012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3821
3822 * grub-core/commands/lsacpi.c (options): Fix typo.
3823
6a656b0e
VS
38242012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3825
3826 Convert grub-emu to argp.
3827
3828 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
3829 emu.
3830 * util/argp_common.c: Rename to ...
3831 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
3832 Add missing includes.
3833 * grub-core/kern/emu/main.c: Convert to argp.
3834 * po/POTFILES.in: Regenerate.
3835 * util/grub-install.in (usage): Make first letter lowcase in messages
3836 for uniformity.
3837 * util/grub-setup.c (options): Likewise.
3838
1e3f8ae8
VS
38392012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3840
3841 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
3842 Put back accidently commented-out code.
3843
ed167a80
VS
38442012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3845
3846 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
3847 loop check using Brent algorithm.
3848 (grub_hfsplus_btree_search): Likewise.
3849
6753c0ec
VS
38502012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3851
3852 * util/grub-install.in: Fix usage of wrong device for PreP install.
3853
4e27343f
VS
38542012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3855
3856 * conf/Makefile.common (CFLAGS_GNULIB): Add
3857 -Wno-unsafe-loop-optimizations.
3858 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
3859 on tools.
3860 * grub-core/commands/legacycfg.c: Add pragma to skip
3861 -Wunsafe-loop-optimizations.
3862 (check_password_md5_real): Fix loop counter type.
3863 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
3864 reading.
3865 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
3866 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
3867 loop condition.
3868 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
3869 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
3870 * grub-core/net/net.c (grub_net_route_address): Add safety loop
3871 condition.
3872 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
3873 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
3874 avoid possible infinite loops.
3875 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
3876 and -Wunsafe-loop-optimizations.
3877 * grub-core/script/yylex.l: Likewise.
3878 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
3879 (print_glyphs): Avoid infinite loops.
3880 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
3881
697f18b0
GS
38822012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
3883
3884 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
3885 to avoid infinite loop.
3886 (disp_acpi_rsdt_table): Likewise.
3887
274416e8
VS
38882012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3889
3890 * grub-core/font/font.c (grub_font_load): Add support for default
3891 path for fonts ($prefix/fonts).
3892 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
3893 for checking if string is a path.
3894 * grub-core/normal/main.c (features): Add feature_default_font_path.
3895 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
3896 * util/grub.d/00_header.in: Use default directory if possible.
3897 * util/grub-install.in: Install unicode.pf2.
3898
b3e08622
VS
38992012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3900
3901 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
3902 * po/Rules-swiss: New file.
3903 * po/swiss.sed: Likewise.
3904
fe42ce09
VS
39052012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
3906
3907 * grub-core/fs/btrfs.c (find_device): Fix typos.
3908 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
3909 * util/grub-mkrelpath.c (argp_parser): Likewise.
3910 Reported by: Yuri Chornoivan.
3911
72f1d065
DO
39122012-02-23 Dalet Omega <daletomega@gmail.com>
3913
3914 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
3915 for usual informative messages.
3916
c5884973
DO
39172012-02-23 Dalet Omega <daletomega@gmail.com>
3918
3919 Starfield theme.
3920
3921 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
3922 * conf/Makefile.common: Define starfielddir.
3923 * configure.ac: Configure starfield.
3924 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
3925 * themes/starfield/README: Likewise.
3926 * themes/starfield/blob_w.png: Likewise.
3927 * themes/starfield/boot_menu_c.png: Likewise.
3928 * themes/starfield/boot_menu_e.png: Likewise.
3929 * themes/starfield/boot_menu_n.png: Likewise.
3930 * themes/starfield/boot_menu_ne.png: Likewise.
3931 * themes/starfield/boot_menu_nw.png: Likewise.
3932 * themes/starfield/boot_menu_s.png: Likewise.
3933 * themes/starfield/boot_menu_se.png: Likewise.
3934 * themes/starfield/boot_menu_sw.png: Likewise.
3935 * themes/starfield/boot_menu_w.png: Likewise.
3936 * themes/starfield/slider_c.png: Likewise.
3937 * themes/starfield/slider_n.png: Likewise.
3938 * themes/starfield/slider_s.png: Likewise.
3939 * themes/starfield/src/blob_nw.xcf: Likewise.
3940 * themes/starfield/src/bootmenu/: Likewise.
3941 * themes/starfield/src/bootmenu/center.xcf: Likewise.
3942 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
3943 * themes/starfield/src/bootmenu/side.xcf: Likewise.
3944 * themes/starfield/src/slider_c.xcf: Likewise.
3945 * themes/starfield/src/slider_n.xcf: Likewise.
3946 * themes/starfield/src/slider_s.xcf: Likewise.
3947 * themes/starfield/src/terminalbox/: Likewise.
3948 * themes/starfield/src/terminalbox/center.xcf: Likewise.
3949 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
3950 * themes/starfield/src/terminalbox/side.xcf: Likewise.
3951 * themes/starfield/starfield.png: Likewise.
3952 * themes/starfield/terminal_box_c.png: Likewise.
3953 * themes/starfield/terminal_box_e.png: Likewise.
3954 * themes/starfield/terminal_box_n.png: Likewise.
3955 * themes/starfield/terminal_box_ne.png: Likewise.
3956 * themes/starfield/terminal_box_nw.png: Likewise.
3957 * themes/starfield/terminal_box_s.png: Likewise.
3958 * themes/starfield/terminal_box_se.png: Likewise.
3959 * themes/starfield/terminal_box_sw.png: Likewise.
3960 * themes/starfield/terminal_box_w.png: Likewise.
3961 * themes/starfield/theme.txt: Likewise.
3962
17d73325
VS
39632012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
3964
3965 * util/grub.d/00_header.in: Add missing export theme.
3966
dbebaf92
VS
39672012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3968
3969 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
3970 already included.
3971 Reported by: Eren D.
3972
3d68bffb
VS
39732012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3974
3975 * conf/Makefile.common (grubdatadir): Removed.
3976 (Makefile.am): Move eveything grubdata to pkgdata.
3977
4b59234d
VS
39782012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3979
3980 * grub-core/commands/acpihalt.c (get_sleep_type):
3981 Remove unused variable.
3982
463dcadc
VS
39832012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3984
3985 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
3986 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
3987 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
3988 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
3989 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
3990 i18n with gettext no-op.
3991 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
3992 GRUB_ACPI_OPCODE_STRING_CONST.
3993 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
3994 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
3995
e5b90c82
VS
39962012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3997
3998 * po/POTFILES.in: Regenerate.
3999
2a704ca9
VS
40002012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4001
4002 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
4003 -Wno-error=missing-noreturn.
4004
84f9d341
VS
40052012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4006
4007 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
4008 condition to avoid possibly infinite loops.
4009 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
4010 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
4011
d46683f9
VS
40122012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4013
4014 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
4015 condition to avoid possibly infinite loops.
4016
c44866b2
VS
40172012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4018
4019 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
4020 on show_error.
4021
96790539
VS
40222012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4023
4024 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
4025
1ba7e295
VS
40262012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4027
4028 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
4029
21ffe8f1
VS
40302012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4031
4032 * util/bin2h.c (usage): Add missing attribute noreturn.
4033
0ccb6b3c
VS
40342012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4035
4036 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
4037 if the size isn't divisible by 512.
4038
b00d7fb6
VS
40392012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4040
4041 Make list_push and list_remove functions rather than inline functions
4042 to decrease size and avoid aliasing violations.
4043
4044 * include/grub/list.h (grub_list_push): Move to ...
4045 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
4046 * include/grub/list.h (grub_list_remove): Move to ...
4047 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
4048
9d369087
VS
40492012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4050
4051 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
4052 and -Wunused-result.
4053
af0250d9
VS
40542012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
4055
4056 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
4057 Reported by: Seth Goldberg
4058
aad32b14
VS
40592012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
4060
4061 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
4062
ac96441c
ST
40632012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
4064
4065 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
4066 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
4067 command line.
4068 * docs/grub.texi (Simple configuration): Document
4069 GRUB_CMDLINE_GNUMACH.
4070
40712012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
4072
4073 * conf/Makefile.common (platform_SCRIPTS): New variable.
4074 (platform_PROGRAMS): Likewise.
4075 * gentpl.py: Mark *,module and *.image for install.
4076 * grub-core/gdb_grub.in: Add a notice of expected environment.
4077 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
4078 (gmodule.pl): Likewise.
4079
ac96441c 40802012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
4081
4082 Replace grub_checkkey with grub_getkey_noblock.
4083
4084 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
4085 (grub_getkey_noblock): ... this. All users updated.
4086
ac96441c 40872012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
4088
4089 * grub-core/kern/emu/console.c: Move to ...
4090 * grub-core/term/emu/console.c: ...here.
4091 (grub_ncurses_getkey): Fix return value if no key is detected.
4092
e51b5666
VS
40932012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4094
4095 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
4096 (grub_unit_test_fini): Likewise.
4097 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
4098
40992012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4100
4101 * include/grub/test.h (GRUB_UNIT_TEST)
4102
d9a62292
VS
41032012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4104
4105 * grub-core/script/execute.c (grub_script_break): Clarify logic.
4106 Better error handling.
4107 (grub_script_return): Likewise.
4108 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
4109
77c9182f
VS
41102012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4111
4112 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
4113 rimplicit redifinition.
4114
edb13cf9
VS
41152012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4116
4117 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
4118 GRUB.
4119
a9e9dc7c
VS
41202012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4121
4122 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
4123 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
4124 prompt here.
4125
b4ba8e02
VS
41262012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4127
4128 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
4129 as GRUB_ERR_BUG. Don't malloc if no device is available.
4130
dded5540
VS
41312012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4132
4133 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
4134 Mark calling with invalid term as GRUB_ERR_BUG.
4135
0cf69874
VS
41362012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4137
4138 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
4139 packets rather than raising an error.
4140
59bfe502
VS
41412012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4142
4143 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
4144 in if.
4145
db5fc596
VS
41462012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4147
4148 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
4149 diagnostic to dprintf.
4150 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4151
e4b7f404
VS
41522012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4153
4154 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
4155 device name.
4156
e7b02f9e
VS
41572012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4158
4159 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
4160 (grub_ntfs_iterate_dir): Likewise.
4161
0331e102
VS
41622012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4163
4164 Efiemu stylistic fixes and gettext.
4165
4166 * grub-core/efiemu/i386/loadcore32.c
4167 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
4168 * grub-core/efiemu/i386/loadcore64.c
4169 (grub_arch_efiemu_relocate_symbols64): Likewise.
4170 * grub-core/efiemu/i386/pc/cfgtables.c
4171 (grub_machine_efiemu_init_tables): Likewise.
4172 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
4173 (grub_efiemu_loadcore_initXX): Add a filename argument.
4174 All users updated.
4175 Improved error message.
4176 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
4177 Add a filename argument.
4178 All users updated.
4179 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
4180 Reclassify double relocation as GRUB_ERR_BUG.
4181
306fc074
VS
41822012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4183
4184 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
4185 handling.
4186
794d8ef2
VS
41872012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4188
4189 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
4190 on partition.
4191
41922012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
4193
4194 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
4195
794d8ef2 41962012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
4197
4198 Improve string. Gettextize.
4199
78dde88e
VS
42002012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4201
4202 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
4203 utils.
4204 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
4205
4786a90f
VS
42062012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4207
4208 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
4209 [GRUB_UTIL]: New function.
4210 (insert_array) [GRUB_UTIL]: Store partmaps.
4211 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
4212 partmaps.
4213 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
4214 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
4215 (probe_abstraction): Print diskfilter and not raid.
4216 Reported by: Lennart Sorensen
4217
0b6225bd
VS
42182012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4219
4220 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
4221 * util/grub-mkimagexx.c (MASK3): New define.
4222 (add_value_to_slot_20b): Use MASK3.
4223 (add_value_to_slot_21): Likewise.
4224 (relocate_addresses): Fix format specification.
4225 (load_image): Explicitly init symtab_section.
4226
b055f8f6
VS
42272012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4228
4229 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
4230 (grub_util_biosdisk_get_grub_dev): Fix format specification.
4231
b77c2fb7
VS
42322012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4233
4234 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
4235 on powerpc.
4236 Reported by: Lennart Sorensen
4237
e3ec28ab
VS
42382012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4239
4240 * gentpl.py: Add missing license header.
4241 * docs/grub.texi: Update copyright year.
4242
c8d9ead6
GS
42432012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
4244
4245 Source grub-mkconfig_lib from the build directory at build time.
4246 Suggested by: Vladimir Serbinenko.
4247
4248 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
4249 * util/grub-install.in: Define pkgdatadir if not already set, and source
4250 grub-mkconfig_lib from there.
4251 * util/grub-kbdcomp.in: Likewise.
4252 * util/grub-mkconfig.in: Likewise.
4253 * util/grub-mknetdir.in: Likewise.
4254 * util/grub-mkrescue.in: Likewise.
4255 * util/grub-mkstandalone.in: Likewise.
4256 * util/grub-reboot.in: Likewise.
4257 * util/grub-set-default.in: Likewise.
4258 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4259
ebcecdf1
VS
42602012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4261
4262 Increase warning level.
4263
4264 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
4265 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
4266 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
4267 (TARGET_CFLAGS): Likewise.
4268 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
4269 * grub-core/Makefile.core.def (decompressor_xz): Add
4270 -Wno-unreachable-code.
4271 (normal): Add -Wno-redundant-decls.
4272 (xzio): Add -Wno-unreachable-code.
4273 (lzopio): Add -Wno-redundant-decls -Wno-error.
4274 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
4275 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
4276 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
4277 * grub-core/kern/dl.c: Add exception to -Wcast-align.
4278 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
4279 * grub-core/kern/i386/coreboot/init.c: Add exception to
4280 -Wsuggest-attribute=noreturn.
4281 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
4282 * grub-core/kern/ia64/dl_helper.c: Likewise.
4283 * grub-core/kern/mips/dl.c: Likewise.
4284 * grub-core/kern/sparc64/dl.c: Likewise.
4285 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
4286 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
4287 (memcmp): Likewise.
4288 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
4289 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
4290 * grub-core/loader/mips/linux.c: Likewise.
4291 * grub-core/loader/multiboot_elfxx.c: Likewise.
4292 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
4293 * grub-core/video/sm712.c: Add exception to -Wcast-align.
4294 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
4295 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
4296 fixme.
4297 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
4298 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
4299 Fix prototype.
4300
37bb97fe
VS
43012012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4302
4303 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
4304 address.
4305
29a3550b
VS
43062012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4307
4308 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
4309 Avoid improper use of strings.
4310 (grub_cmd_legacy_initrdnounzip): Likewise.
4311
dfdffd0d
VS
43122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4313
4314 * include/grub/emu/misc.h (grub_util_warn): Add missing format
4315 attribute.
4316 (grub_util_info): Likewise.
4317 (grub_util_error): Likewise.
4318
102fae4a
VS
43192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4320
4321 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
4322 * util/grub-fstest.c (fstest): Likewise.
4323
7e94d044
VS
43242012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4325
4326 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
4327 (grub_md_sha512_real): Likewise.
4328 (grub_util_get_geli_uuid): Likewise.
4329 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
4330 (grub_util_biosdisk_open): Fix format specification.
4331 Respect format security.
4332 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
4333 (xrealloc): Likewise.
4334 (xasprintf): Likewise.
4335
5ebd9769
VS
43362012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4337
4338 * util/import_gcry.py: Include grub/crypto.h in init.c.
4339
495fc8c1
VS
43402012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4341
4342 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
4343 (generate_image): Make prefix a const char *.
4344 Fix format specifications. Respect format security.
4345 Avoid void * arithmetics.
4346 Avoid shadowing.
4347 (argp_parser): Remove unused variable. Respect format security.
4348 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
4349 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
4350 (count_funcs): Remove unused variable.
4351 (relocate_addresses): Fix format specification.
4352 Disable x86-64 with elf32. Remove unused variables.
4353 (add_fixup_entry): Avoid shadowing.
4354 (make_reloc_section): Fix format specification.
4355 Use assert.
4356 (locate_sections): Fix format specifications.
4357 (load_image): Avoid shadowing.
4358
043c2ea3
VS
43592012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4360
4361 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
4362 Fix format specifications. Respect format security.
4363 Don't translate already translated grub_errmsg.
4364 (argp_parser): Remove unused variable
4365
3ec65a81
VS
43662012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4367
4368 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
4369
a4d9fe4a
VS
43702012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4371
4372 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
4373 (main): Likewise. Use xmalloc. Respect format security.
4374
15b81d49
VS
43752012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4376
4377 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
4378 a const char *.
4379 (argp_parser): Remove unused variable.
4380
31731fc0
VS
43812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4382
4383 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
4384 (add_pixel): Make static.
4385 (add_font): Likewise.
4386 (write_string_section): Make name and str a const char *.
4387 (write_be16_section): Make name a const char *.
4388 (print_glyphs): Make static.
4389 (write_font_ascii_bitmap): Likewise.
4390 (write_font_width_spec): Likewise.
4391 (write_font_pf2): Likewise.
4392 (argp_parser): Remove unused variable.
4393 Respect format security.
4394 (main): Avoid shadowing. Respect format security.
4395
0809527b
VS
43962012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4397
4398 * util/grub-editenv.c (argp_parser): Make static.
4399 (create_envblk_file): Use xmalloc.
4400 (open_envblk_file): Likewise.
4401 Resepect format security.
4402 (set_variables): Respect format security.
4403
45b0c8b7
VS
44042012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4405
4406 * util/getroot.c (grub_find_device): Respect format security.
4407 (get_mdadm_uuid): Remove unused variable.
4408 (grub_util_pull_device): Dont call gettext on already translated
4409 grub_errmsg.
4410 (find_system_device): Remove unused variable.
4411 (grub_util_get_grub_dev): Likewise.
4412 (grub_make_system_path_relative_to_its_root): Respect format security.
4413
1b024b4e
VS
44142012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4415
4416 * util/grub-fstest.c (execute_command): Make first argument
4417 a const char *.
4418 (read_file): Avoid shadowing.
4419 Reuse underlying error message if device open fails.
4420 (cmd_cmp): Respect format security.
4421 (root): Make const char *.
4422 (fstest): Remove args argument and use global copy.
4423 Respect format security.
4424 (argp_parser): Make static.
4425 (main): Make default_root const char *.
4426
5d1d4e28
VS
44272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4428
4429 * util/grub-mount.c (root): Make const char *.
4430 (execute_command): Make first argument a const char *.
4431 (fuse_init): Respect format security.
4432 (argp_parser): Make static. Remove unused variable.
4433 (main): Make default_root a const char *.
4434 Respect format security.
4435
36eb7379
VS
44362012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4437
4438 * util/grub-probe.c (probe): Don't call gettext on already translated
4439 grub_errmsg.
4440 Remove unused variables.
4441 (argp_parser): Remove unused variable.
4442
76fb2ea9
VS
44432012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4444
4445 * util/grub-script-check.c (argp_parser): Remove unused variable.
4446 (main): Rename read to curread to avoid shadowing.
4447
56c98584
VS
44482012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4449
4450 * util/misc.c (grub_util_write_image_at): Fix format specification.
4451 (grub_util_write_image): Likewise.
4452 (grub_script_execute_argument_to_string): Removed (unused).
4453 (grub_script_execute_menuentry): Likewise.
4454 (grub_putchar): Likewise.
4455
164ebb48
VS
44562012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4457
4458 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
4459 (FUNCTION) [GRUB_UTIL]: Likewise.
4460 (VARIABLE) [GRUB_UTIL]: Likewise.
4461
44318d61
VS
44622012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4463
4464 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
4465 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
4466
31a26002
VS
44672012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4468
4469 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
4470 buffer.
4471
44722012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4473
4474 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
4475 (LzmaEnc_SaveState): Removed (unused).
4476 (LzmaEnc_RestoreState): Likewise.
4477 (LzmaEnc_InitPriceTables): Made static.
4478 (LzmaEnc_Construct): Likewise.
4479 (LzmaEnc_FreeLits): Likewise.
4480 (LzmaEnc_Destruct): Likewise.
4481 (LzmaEnc_Init): Likewise.
4482 (LzmaEnc_InitPrices): Likewise.
4483 (LzmaEnc_Finish): Likewise.
4484 (LzmaEnc_PrepareForLzma2): Removed (unused).
4485 (LzmaEnc_MemPrepare): Likewise.
4486 (LzmaEnc_GetNumAvailableBytes): Likewise.
4487 (LzmaEnc_GetCurBuf): Likewise.
4488 (LzmaEnc_CodeOneMemBlock): Likewise.
4489
6fa67967
VS
44902012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4491
4492 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
4493 (grub_util_ldm_embed): Likewise.
4494
9a7428e6
VS
44952012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4496
4497 * util/grub-editenv.c (print_var): Rename name to varname to
4498 avoid shadowing.
4499 (main): Rename index to curindex to avoid shadowing.
31a26002 4500 Make filename a const char *.
9a7428e6 4501
4f96abd1
VS
45022012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4503
4504 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
4505 to arg_getline to avoid shadowing.
4506
44d10dad
VS
45072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4508
4509 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
4510 disk_ to avoid shadowing.
4511
340ba63e
VS
45122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4513
4514 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
4515 curindex to avoid shadowing.
4516 Make static.
4517 (MatchFinder_GetNumAvailableBytes): Make static.
4518
22965bce
VS
45192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4520
4521 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
4522 avoid shadowing.
4523
7b5784d4
VS
45242012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4525
4526 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
4527 argument from encrypt to do_encrypt to avoid shadowing.
4528
6f48ca01
VS
45292012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4530
4531 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
4532 incorrect nesting of #if's.
4533
a4ea2dff
VS
45342012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4535
4536 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
4537 checks which are always false on some platforms.
4538 (grub_cmd_lsacpi): Likewise.
4539 * grub-core/kern/misc.c (grub_strtoul): Likewise.
4540 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
4541 Likewise.
4542
def9fc1b
VS
45432012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4544
4545 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
4546 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
4547
a67b2a04
VS
45482012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4549
4550 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
4551 re_dfa_t to avoid breaking alignment invariants.
4552 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
4553 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
4554
44c6828d
VS
45552012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4556
4557 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
4558 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
4559
bebe0dd0
VS
45602012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4561
4562 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
4563 Fix declaration.
4564
a9cdb3cf
VS
45652012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4566
4567 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
4568 conserve alignment invariants.
4569 (grub_ehci_ehcc_read16): Likewise.
4570 (grub_ehci_oper_read32): Likewise.
4571 (grub_ehci_oper_write32): Likewise.
4572 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
4573 Conserve alignment invariants.
4574
ccc3b1b8
VS
45752012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4576
4577 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
4578 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
4579 declarations.
4580
987fbd95
VS
45812012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4582
4583 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
4584 Remove unused variable.
4585
0df363f3
VS
45862012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4587
4588 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
4589 Remove set in if.
4590
b2c0c4a6
VS
45912012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4592
4593 * include/grub/net.h: Remove double declarations.
4594
690c531f
VS
45952012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4596
4597 Remove "payload" command in ia64 Linux loader since I couldn't
4598 find any evidence of it being used for anything.
4599 Replace "relocate" command with an environment variable
4600
4601 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
4602 fields.
4603 (ia64_boot_payload): Removed.
4604 (last_payload): Likewise.
4605 (RELOCATE_OFF): Likewise.
4606 (RELOCATE_ON): Likewise.
4607 (RELOCATE_FORCE): Likewise.
4608 (relocate): Likewise.
4609 (free_pages): Don't free payloads.
4610 (grub_load_elf64): Use common error messages.
4611 Use "linux_relocate" variable.
4612 Increase the space after boot_params.
4613 (grub_cmd_payload): Removed.
4614 (grub_cmd_relocate): Likewise.
4615 (grub_cmd_fpswa): Improve messages.
4616 (cmd_payload): Removed.
4617 (cmd_relocate): Likewise.
4618 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
4619 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
4620
01783768
VS
46212012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4622
4623 Convert UHCI to DMA framework.
4624
4625 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
4626 (grub_uhci_pci_iter): Fill new members
4627 (grub_alloc_td): Use P2V and V2P functions.
4628 (grub_free_queue): Likewise.
4629 (grub_alloc_qh): Likewise.
4630 (grub_uhci_setup_transfer): Likewise.
4631 (grub_uhci_check_transfer): Likewise.
4632
43206939
VS
46332012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4634
4635 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
4636 Remove assignment in if while on it.
4637
571e140e
VS
46382012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4639
4640 * util/grub-mkstandalone.in: Fix modules directory.
4641
a9d96eeb
VS
46422012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4643
4644 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
4645 on i386-pc target.
4646 (argp_parser): Accept "auto" as compression specification.
4647
e4e37e8d
VS
46482012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4649
4650 Fix `help' with unloaded modules.
4651
4652 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
4653 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
4654 (grub_dyncmd_dispatcher): Small stylistic fix.
4655 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
4656 explicit help is requested.
4657
e1ea3ade
VS
46582012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4659
4660 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
4661 Explicitly init restart while on it.
4662
27556881
VS
46632012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4664
4665 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
4666 uninited variable.
4667
d65f6b36
VS
46682012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4669
4670 * util/grub-mknetdir.in: Use . rather than source for POSIX
4671 compatibility.
4672
0a1e473c
VS
46732012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4674
4675 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
4676
ce6647c8
VS
46772012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4678
4679 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
4680 variable.
4681
66747894
VS
46822012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4683
4684 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
4685 without quotes.
4686
71645f6e
VS
46872012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4688
4689 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
4690
0e1c1f61
VS
46912012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4692
4693 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
4694 iteration of partitions.
4695
9c4b5c13
VS
46962012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4697
4698 Improve gettext support. Stylistic fixes and error handling fixes while
4699 on it.
4700
215c90cb
VS
47012012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4702
4703 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
4704 part. Instead setup the correct stack in RM.
4705 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
4706 for stack.
4707 * include/grub/i386/relocator_private.h: New file.
4708
b5c1f9bf
VS
47092012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4710
4711 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
4712 argument.
4713 * util/grub-fstest.c (options): Add missing DEVICE part.
4714
b525fd83
VS
47152012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4716
4717 Clarify and unify messages.
4718
4719 * grub-core/commands/hashsum.c (options): Unify messages.
4720 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
4721 literal-only message as translatable.
4722 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
4723 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
4724 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
4725 commands.
4726 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
4727 key, not the key used to unlock. Clarify what it's used for.
4728 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
4729 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
4730 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
4731 * util/grub-editenv.c (options): Unify "verbose" message.
4732 * util/grub-fstest.c (read_file): Unify error message.
4733 (fstest): Add quotes around commands.
4734 (options): Unify "verbose" message.
4735 * util/grub-install.in: Add quotes around variable name.
4736 * util/grub-kbdcomp.in: Unify error message.
4737 * util/grub-mkfont.c (main): Likewise.
4738 * util/grub-mkrescue.in: Likewise.
4739 * util/grub-mklayout.c (options): Unify "verbose" message.
4740 * util/grub-mkstandalone.in: Unify help and verbose messages.
4741 * util/grub-mount.c (options): Unify "verbose" message.
4742 * util/grub-probe.c (options): Likewise.
4743 * util/grub-script-check.c (options): Likewise.
4744 * util/grub-setup.c (setup): Unify no-terminator message.
4745 (options): Use DEVICE and not DEV.
4746 Unify "verbose" message.
4747 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
4748
0ae70393
VS
47492012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4750
4751 Improve and unify messages.
4752
4753 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
4754 name. All users updated.
4755 Print filename in error.
4756 (read_device_map): Print filename in error.
4757 * util/getroot.c (grub_guess_root_devices): Print filename in error.
4758 (grub_util_get_os_disk): Likewise.
4759 (grub_util_biosdisk_get_grub_dev): Likewise.
4760 (grub_util_check_block_device): Likewise.
4761 (grub_util_check_char_device): Likewise.
4762 (grub_make_system_path_relative_to_its_root): Likewise.
4763 * util/grub-editenv.c (create_envblk_file): Likewise.
4764 (open_envblk_file): Likewise.
4765 (write_envblk): Likewise.
4766 * util/grub-fstest.c (cmd_cp): Likewise.
4767 (cmd_cat): Likewise.
4768 (cmd_cmp): Likewise.
4769 * util/grub-menulst2cfg.c (main): Likewise.
4770 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
4771 (write_font_width_spec): Likewise.
4772 (write_font_pf2): Likewise.
4773 * util/grub-mkimage.c (generate_image): New argument outname.
4774 All users updated.
4775 Remove unreacheable message.
4776 (options): Unify messages.
4777 (help_filter): Likewise.
4778 * util/grub-mklayout.c (usage): Removed (unused).
4779 (main): Print filename in error.
4780 * util/grub-mkrescue.in: Fix wrong quoting.
4781 * util/grub-setup.c (setup): Print filename in error.
4782 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
4783 (check_sas): Likewise.
4784 * util/misc.c (grub_util_get_fp_size): Removed.
4785 (grub_util_get_image_size): Print filename in error.
4786 (grub_util_read_at): Removed.
4787 (grub_util_read_image): Print filename in error.
4788 (grub_util_load_image): Likewise.
4789 (grub_util_write_image_at): New argument filename. All users updated.
4790 Print filename in error.
4791 (grub_util_write_image): New argument filename. All users updated.
4792 Print filename in error.
4793 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
4794 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
4795
0a96117d
VS
47962012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4797
4798 * grub-core/Makefile.core.def (pxechain): New module.
4799 * grub-core/loader/i386/pc/pxechainloader.c: New file.
4800 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
4801 function.
4802 (grub_pc_net_config_real): Use grub_pxe_get_cached.
4803 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
4804
aca002f7
VS
48052012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4806
4807 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
4808 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
4809 * include/grub/err.h (grub_error_saved): New struct.
4810 (grub_errmsg): Make array size explicit.
4811 * include/grub/misc.h (grub_error_save): New function.
4812 (grub_error_load): Likewise.
4813 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
4814 (grub_error_push): Update `errno' member name.
4815 (grub_error_pop): Likewise
4816 * grub-core/net/tftp.c (tftp_data): New member save_err.
4817 (tftp_receive): Save error.
4818 (tftp_open): Restore error.
4819
a51dab13
VS
48202012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4821
4822 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
4823 to real mode down to execute A20-related code in protected mode as
4824 intended.
4825
eb6e6649
GS
48262012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
4827
4828 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
4829 NULL when the argument `level' has an unexpected value.
4830
92cd0f6e
VS
48312012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4832
4833 Move platform-dependent files from $prefix to $prefix/$platform.
4834
4835 * config.h.in (GRUB_TARGET_CPU): New definition.
4836 (GRUB_PLATFORM): Likewise.
4837 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
4838 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
4839 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
4840 * grub-core/kern/dl.c (grub_dl_load): Likewise.
4841 * grub-core/normal/autofs.c (read_fs_list): Likewise.
4842 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
4843 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
4844 * grub-core/normal/term.c (read_terminal_list): Likewise.
4845 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
4846 $prefix/locale.
4847 (grub_gettext_init_ext): Likewise.
4848 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
4849 grub_platform.
4850 * util/grub-install.in: Update directories.
4851 * util/grub-mknetdir.in: Likewise.
4852 * util/grub-mkrescue.in: Likewise.
4853
db606889
VS
48542012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4855
4856 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
4857 grub_error framework. All users updated.
4858
c39992a4
VS
48592012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4860
4861 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
4862 lists (by always binsearching), improve caching (cache strings
4863 used for binsearch, not only results), improve
4864 maintainability (by using more structured binary search) and correct
4865 error handling.
4866
1e5ec32f
VS
48672012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4868
4869 * grub-core/script/execute.c (grub_script_return): Fix warning.
4870
ac576cde
VS
48712012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4872
4873 * grub-core/script/execute.c (grub_script_return): Fix potential
4874 NULL-dereference.
4875 Reported by: Jim Meyering.
4876
498453f6
VS
48772012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4878
4879 * po/POTFILES.in: Regenerate.
4880 * util/grub-install.in: Gettextize the strings missed in first pass.
4881
8be63f2e
VS
48822012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4883
4884 * Makefile.util.def (grub-mkdevicemap): Removed.
4885 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
4886 * include/grub/util/deviceiter.h: Removed.
4887 * util/deviceiter.c: Likewise.
4888 * util/getroot.c (grub_util_get_os_disk): New function.
4889 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
4890 replacement for EFI.
4891 * util/grub-mkdevicemap.c: Removed.
4892 * util/grub-probe.c (probe): Handle PRINT_DISK.
4893 (argp_parser): Handle -t disk.
4894
8e1e4e39
VS
48952012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 * util/grub-mkfont.c: Migrate to argp.
4898 * util/grub-mklayout.c: Likewise.
4899 * util/grub-mkpasswd-pbkdf2.c: Likewise.
4900 * util/grub-mkrelpath.c: Likewise.
4901 * util/grub-probe.c: Likewise.
4902 * util/grub-script-check.c: Likewise.
4903
4459819a
VS
49042012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4905
4906 * util/grub-reboot.in: Add missing datarootdir.
4907 Add missing newline.
4908 * util/grub-set-default.in: Add missing datarootdir.
4909 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
4910 * util/grub-mkrescue.in: Likewise.
4911
f65741c7
VS
49122012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4913
4914 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
4915
c1a33466
VS
49162012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4917
4918 * util/grub-kbdcomp.in: Add decent help and gettextize.
4919 * docs/man/grub-kbdcomp.h2m: New file.
4920
c76899a0
VS
49212012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4922
4923 Migrate grub-mkimage.c to argp.
4924
4925 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
4926 (grub-setup): Likewise.
4927 * util/grub-setup.c (print_version): Move to ...
4928 * util/argp_common.c (print_version): ... here.
4929 * util/grub-setup.c (argp_program_version_hook): Move to ...
4930 * util/argp_common.c (argp_program_version_hook): ... here.
4931 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
4932 safety.
4933 * util/grub-mkimage.c (main): Migrate to argp.
4934
57db0757
VS
49352012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4936
4937 * util/grub-mkrescue.in: Use same message as
4938 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
4939 for better translations.
4940
18534ad9
VS
49412012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4942
4943 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
4944 options with generic grub-mkrescue.in with the goal of future
4945 merge.
4946
c84ba308
VS
49472012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4948
4949 * grub-core/kern/mm.c: Add missing include of i18n.h
4950 * grub-core/lib/relocator.c: Likewise.
4951
347998c2
VS
49522012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4953
4954 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
4955 error.
4956 (allocate_pages): Check return value.
4957 Replace fatal with error.
4958 (grub_linux_boot): Replace printf with dprintf.
4959 Check find_mmap_size return value.
4960 Replace fatal with error.
4961 Don't call grub_machine_fini.
4962 (grub_load_elf64): Replace printf with dprintf.
4963 (grub_cmd_linux): Likewise.
4964 (grub_cmd_initrd): Likewise.
4965 (grub_cmd_payload): Likewise.
4966
c779226e
VS
49672012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4968
4969 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
4970 message.
4971 * grub-core/video/radeon_fuloong2e.c
4972 (grub_video_radeon_fuloong2e_setup): Likewise.
4973 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
4974 * grub-core/video/video.c (grub_video_set_mode): Don't override
4975 standard out of memory message.
4976
dc87d45a
GS
49772012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
4978
4979 NetBSD disk wedge support.
4980
4981 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
4982 [__NetBSD__]: Handle NetBSD disk wedges.
4983 * util/getroot.c (convert_system_partition_to_system_disk)
4984 [__NetBSD__]: Likewise.
4985
055f856f
MW
49862012-02-03 Mark Wooding <mdw@distorted.org.uk>
4987
4988 * util/grub-mkconfig.in: Use umask rather than chmod to create
4989 grub.cfg.new to avoid insecure grub.cfg.
4990
4a9f8346
VS
49912012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4992
4993 * grub-core/commands/ls.c: Gettextize.
4994 * grub-core/commands/setpci.c: Likewise.
4995 * grub-core/commands/videotest.c: Likewise.
4996 * grub-core/disk/geli.c: Likewise.
4997 * grub-core/kern/mm.c: Likewise.
4998 * grub-core/lib/relocator.c: Likewise.
4999 * grub-core/loader/efi/appleloader.c: Likewise.
5000 * grub-core/loader/i386/xnu.c: Likewise.
5001 * grub-core/loader/ia64/efi/linux.c: Likewise.
5002 * grub-core/loader/xnu.c: Likewise.
5003 * grub-core/net/dns.c: Likewise.
5004 * grub-core/net/net.c: Likewise.
5005 * grub-core/script/lexer.c: Likewise.
5006 * grub-core/script/parser.y: Likewise.
5007 * grub-core/script/yylex.l: Likewise.
5008 * util/getroot.c: Likewise.
5009 * util/grub-setup.c: Likewise.
5010
a646a366
VS
50112012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5012
5013 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
5014 number.
5015
54e2be26
VS
50162012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5017
5018 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
5019
f7c71e68
VS
50202012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5021
5022 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
5023 macro.
5024 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
5025 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
5026
a32d5c71
VS
50272012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5028
5029 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
5030 * util/grub-install.in: Gettextize.
5031 * util/grub-mkconfig.in: Likewise.
5032 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
5033 if not available.
5034 (grub_warn): Gettextize.
5035 * util/grub-mknetdir.in: Gettextize.
5036 * util/grub-mkrescue.in: Likewise.
5037 * util/grub-mkstandalone.in: Likewise.
5038 * util/grub-reboot.in: Likewise.
5039 * util/grub-set-default.in: Likewise.
5040 * util/grub.d/00_header.in: Likewise.
5041 * util/grub.d/10_hurd.in: Likewise.
5042 * util/grub.d/10_kfreebsd.in: Likewise.
5043 * util/grub.d/10_linux.in: Likewise.
5044 * util/grub.d/10_netbsd.in: Likewise.
5045 * util/grub.d/10_windows.in: Likewise.
5046 * util/grub.d/20_linux_xen.in: Likewise.
5047 * util/grub.d/30_os-prober.in: Likewise.
5048 * po/POTFILES-shell.in: Regenerate.
5049
69edd81a
RL
50502012-02-03 Richard Laager <rlaager@wiktel.com>
5051
5052 * util/grub-mkimage.c (main): Fix format-security warning.
5053 * util/grub-mkrelpath.c (main): Likewise.
5054 * util/grub-probe.c (main): Likewise.
5055
65f08dbf
RL
50562012-02-03 Richard Laager <rlaager@wiktel.com>
5057
5058 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
5059 failure.
5060 Put back lost PRINT_DRIVE.
5061
e9084abe
RL
50622012-02-03 Richard Laager <rlaager@wiktel.com>
5063
5064 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
5065 (grub_guess_root_devices): Replace strlen with sizeof.
5066 Avoid crash.
5067 (find_root_devices_from_poolname): Remove unused variable.
5068 Handle raidzN.
5069
cf5f7ee7
VS
50702012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5071
5072 Support install on multi-device filesystems.
5073
5074 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
5075 (grub_guess_root_devices): ...this. Return char **. All users updated.
5076 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
5077 Removed.
5078 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
5079 (find_root_devices_from_poolname): ... here.
5080 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
5081 Support zfs-fuse.
5082 (grub_guess_root_device): Rename to ...
5083 (grub_guess_root_devices): ... this. Return char **. All users updated.
5084 * util/grub-install.in: Handle multi-device filesystems.
5085 * util/grub-probe.c (probe). Make device_names a char **. Add delim
5086 argument. All users updated.
5087 Handle multi-device filesystems.
5088 Use 'delim' as separator.
5089 Remove device check to allow filesystems on file.
5090 (main): Support -0 argument. Handle multi-device.
5091 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
5092 Fix a cross-device check while on it.
5093 (arguments): Remove root_dev.
5094 (argp_parser): Remove -r.
5095 (main): Remove root_dev.
5096
2f53a9ed
VS
50972012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5098
5099 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
5100
17e1d934
VS
51012012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5102
5103 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
5104 symbol.
5105 Reported by: NODA, Kai <nodakai>.
5106
d3e3fab5
VS
51072012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5108
5109 Fix ehci on amd64.
5110
5111 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
5112 pointers.
5113 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
5114 (grub_ehci_setup_qh): Likewise.
5115 (grub_ehci_find_qh): Likewise.
5116 (grub_ehci_transaction): Likewise.
5117 (grub_ehci_setup_transfer): Likewise.
5118 (grub_ehci_check_transfer): Likewise.
5119 (grub_ehci_portstatus): Likewise.
5120 (grub_ehci_detect_dev): Likewise.
5121 (grub_ehci_transfer_controller_data): New field td_last_phys.
5122 (grub_ehci_setup_transfer): Fill td_last_phys.
5123 (grub_ehci_check_transfer): Use td_last_phys.
5124
3008675b
SG
51252012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
5126
5127 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
5128 if no submenu is present.
5129
fc9b5652
AN
51302012-02-01 Aleš Nesrsta <starous@volny.cz>
5131
5132 CBI support.
5133
5134 * include/grub/usb.h (grub_usbms_protocol_t): New values
5135 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
5136 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
5137 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
5138 (grub_usbms_dev): Add subclass, protocol and intrpt.
5139 Remove in_maxsz and out_maxsz.
5140 (grub_usbms_reset): Rename to ...
5141 (grub_usbms_bo_reset): .. this.
5142 (grub_usbms_cbi_cmd): New function.
5143 (grub_usbms_cbi_reset): Likewise.
5144 (grub_usbms_reset): Likewise.
5145 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
5146 (grub_usbms_transfer): Rename to ...
5147 (grub_usbms_transfer_bo): ... this.
5148 (grub_usbms_transfer_cbi): Likewise.
5149 (grub_usbms_transfer): Likewise.
5150
a2b81d53
AN
51512012-02-01 Aleš Nesrsta <starous@volny.cz>
51522012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5153
5154 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
5155 the support for the CS5536 modification thereos and few bugfixes.
5156
5157 * grub-core/Makefile.core.def (ehci): New module.
5158 * grub-core/bus/usb/ehci.c: New file.
5159 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
5160 port and hubaddr. All users updated.
5161 Save port and hubaddr into dev structure.
5162 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
5163 define.
5164 * include/grub/pci.h (grub_dma_phys2virt): New function.
5165 (grub_dma_virt2phys): Likewise.
5166 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
5167
b1d51f02
VS
51682012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5169
5170 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
5171 check as some mkfs implementations omit it.
5172
fc694106
VS
51732012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5174
5175 * docs/grub.texi (Unicode): Mention identifier and space limitations.
5176
6c0920e3
VS
51772012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5178
5179 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
5180 Add new member volname2.
5181 (grub_jfs_label): Use volname2 if available.
5182
d1a46f9a
VS
51832012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5184
5185 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
5186 over last_mounted as seen in image generated by mkfs.nilfs2.
5187 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
5188
dec8ed14
VS
51892012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5190
5191 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
5192 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
5193 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
5194
7397c69b
VS
51952012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5196
5197 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
5198 over the sector.
5199
b3fe42ad
VS
52002012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5201
5202 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
5203 subvolume name (by removing a bogus and useless check).
5204
10476bb0
VS
52052012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5206
5207 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
5208 sizeof while on it.
5209
9c08ad87
VS
52102012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5211
5212 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
5213 (grub_scsi_read_capacity10): ... this.
5214 (grub_scsi_read_capacity16): New function.
5215 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
5216 0xffffffff.
5217 Fix off-by-one error.
5218 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
5219 64-bit unsigned.
5220 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
5221 (grub_scsi_read_capacity10): ... this.
5222 (grub_scsi_read_capacity_data): Rename to ...
5223 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
5224 (grub_scsi_read_capacity16): New struct.
5225 (grub_scsi_read_capacity16_data): Likewise.
5226 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
5227 grub_scsi_cmd_read_capacity10.
5228 New command grub_scsi_cmd_read_capacity16.
5229
bc8d0f45
VS
52302012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5231
5232 SCSI >2TiB support.
5233
5234 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
5235 (grub_scsi_write16): Likewise.
5236 (grub_scsi_read): Use read16 when necessary.
5237 (grub_scsi_write): Likewise.
5238 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
5239 (grub_scsi_write16): Likewise.
5240 (grub_scsi_cmd_t): Add READ16 and WRITE16.
5241
cc774926
VS
52422012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5243
5244 SCSI write support (for usbms mainly).
5245
5246 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
5247 a const pointer.
5248 (grub_scsi_write): Implement.
5249 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
5250
67639fd7
VS
52512012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5252
5253 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
5254 variable.
5255
9079d3ed
VS
52562012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5257
5258 * grub-core/lib/posix_wrap/string.h (memchr): New function.
5259
c6a6f204
VS
52602012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5261
5262 * po/POTFILES.in: Regenerate.
5263
ecbf8cd1
VS
52642012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5265
5266 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
5267 with grub_printf to avoid unnecessary fatal failure.
5268
0b3b3b38
VS
52692012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5270
5271 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
5272 (INT_MAX): Likewise.
5273 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
5274 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
5275 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
5276 (strcpy): Likewise.
5277 (strstr): Likewise.
5278 (strchr): Likewise.
5279 (strncpy): Likewise.
5280 (strcat): Likewise.
5281 (strncat): Likewise.
5282 (strcoll): Likewise.
5283 * include/grub/types.h (GRUB_SHRT_MAX): New define.
5284 (GRUB_INT_MAX): Likewise.
5285
db7337a3
VS
52862012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5287
5288 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
5289 unexpected error.
5290 (optimize_utf8): Likewise.
5291 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
5292
f37c87e1
VS
52932012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5294
5295 * grub-core/boot/i386/pc/lnxboot.S: Use
5296 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
5297 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
5298 location.
5299 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
5300 definition.
5301 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
5302
63fe43f3
VS
53032012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5304
5305 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
5306 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
5307 now to avoid double free.
5308 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
5309 hostdisk.
5310 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
5311 * util/grub-probe.c (escape_of_path): Always return a new copy.
5312 (print_full_name): Escape path.
5313 (probe): Don't call grub_util_devname_to_ofpath on NULL.
5314 Fix hints on abstractions.
5315
ebe2c961
VS
53162012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5317
5318 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
5319 Don't add "root" line if no compatibility hont is available.
5320 Suggested by: Seth Goldberg.
5321
2b5336a2
VS
53222012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5323
5324 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
5325 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
5326 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
5327 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
5328
74310bd8
VS
53292012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5330
5331 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
5332
c30582ba
VS
53332012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5334
5335 * util/grub-pe2elf.c (ehdr): Make static.
5336 (shdr): Likewise.
5337 (num_sections): Likewise.
5338 (offset): Likewise.
5339
5f47782c
VS
53402012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5341
5342 Eliminate ofpath limits and possible overflows.
5343
5344 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
5345 (OF_PATH_MAX): Removed.
5346 (MAX_DISK_CAT): New const.
5347 (find_obppath): Use allocated rather than preallocated buffer.
5348 Return result. Argument of_path removed. All users updated.
5349 Add missing fdstat.
5350 (xrealpath): New function.
5351 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
5352 Allocate rather than use preallocated buffer. All users updated.
5353 (__of_path_common): Use allocated rather than preallocatecd buffer.
5354 Return result. Argument of_path removed. All users updated.
5355 (vendor_is_ATA): Read only needed part form the file.
5356 (check_sas): Allocate depending on contents rather than fixed.
5357 (main) [STANDALONE]: Handle NULL result.
5358
f990cbf9
VS
53592012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5360
5361 * grub-core/normal/completion.c (iterate_dev): Close the disk.
5362
9c6e84b8
VS
53632012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5364
5365 Cryptodisk write support.
5366
5367 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
5368 (grub_cryptodisk_decrypt): Moved logic to ...
5369 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
5370 (grub_cryptodisk_write): Implement.
5371 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
5372 (grub_util_fd_write): ... this. Make global.
5373 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
5374
87cf9744
VS
53752012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5376
5377 * include/grub/list.h (grub_list_remove): Don't crash if element is
5378 removed twice.
5379
ca8c0baf
VS
53802012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5381
5382 Rename ofconsole to console.
5383
5384 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
5385 as sysnonym to console.
5386 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
5387 * grub-core/term/ieee1275/console.c: ... this. All users updated.
5388 Rename grub_ofconsole_ to grub_console_. All users updated
5389 (grub_console_term_output): Rename "ofconsole" to "console".
5390 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
5391 as "console".
5392
64c8b8f6
VS
53932012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5394
5395 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
5396 handling.
5397 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
5398 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
5399 GRUB_DISK_DEVICE_FILE_ID.
5400
f6c434d5
VS
54012012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5402
5403 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
5404 and improve performance.
5405
5858b42d
VS
54062012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5407
5408 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
5409 missing ieee1275/ prefix on whole disk.
5410
4ed3c26b
VS
54112012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5412
5413 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
5414 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
5415
df71143e
VS
54162012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5417
5418 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
5419
076e7c0f
VS
54202012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5421
5422 Merge common RAID and LVM logic to an abstract diskfilter.
5423 Add LDM support using the same framework.
5424
5425 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
5426 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
5427 (libgrubmods): Remove grub-core/disk/raid.c and
5428 grub-core/partmap/gpt.c.
5429 * grub-core/Makefile.core.def (ldm): New module.
5430 (raid): Renamed to diskfilter. All users updated.
5431 * grub-core/disk/raid.c: Moved to ...
5432 * grub-core/disk/diskfilter.c: ... here.
5433 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
5434 (lv_num): New var.
5435 (find_array): Renamed to ...
5436 (find_lv): ... this. Support multi-LV. Skip nameless LVs
5437 (grub_is_array_readable): Renamed to ...
5438 (grub_is_lv_readable): ... this. Support multinode hierarchy.
5439 (insert_array): New argument id.
5440 (is_node_readable): New function.
5441 (scan_device): Rename to ...
5442 (scan_disk): .. this. Restrict to one disk.
5443 (scan_devices): New function.
5444 (grub_diskfilter_iterate): Support multi-LV.
5445 Skip invisible and nameless LVs.
5446 (grub_diskfilter_memberlist): Support multi-LV.
5447 (grub_diskfilter_read_node): New function.
5448 (grub_raid_read): Most of logic moved to ...
5449 (read_segment): ... here
5450 (read_lv): New function.
5451 (grub_diskfilter_get_vg_by_uuid): New function.
5452 (grub_diskfilter_make_raid): Likewise.
5453 * grub-core/disk/ldm.c: New file.
5454 * grub-core/disk/lvm.c (vg_list): Removed.
5455 (lv_count): Likewise.
5456 (scan_depth): Likewise.
5457 (is_lv_readable): Likewise.
5458 (grub_lvm_getvalue): Advance pointer past the number.
5459 (find_lv): Removed.
5460 (do_lvm_scan): Refactored into ...
5461 (grub_lvm_detect): ... this. Support raid.
5462 (grub_lvm_iterate): Removed.
5463 (grub_lvm_memberlist): Likewise.
5464 (grub_lvm_open): Likewise.
5465 (grub_lvm_close): Likewise.
5466 (read_lv): Likewise.
5467 (read_node): Likewise.
5468 (is_node_readable): Likewise.
5469 (is_lv_readable): Likewise.
5470 (grub_lvm_read): Likewise.
5471 (grub_lvm_write): Likewise.
5472 (grub_lvm_dev): Use diskfilter
5473 (GRUB_MOD_INIT): Likewise.
5474 (GRUB_MOD_FINI): Likewise.
5475 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
5476 new interface.
5477 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
5478 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5479 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
5480 grub_diskfilter_read_node.
5481 Fix a bug with xor.
5482 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
5483 grub_diskfilter_read_node.
5484 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
5485 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
5486 (grub_disk_dev_iterate): Move from here...
5487 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
5488 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
5489 Make global.
5490 (grub_hostdisk_find_partition_start): Likewise.
5491 (grub_hostdisk_os_dev_to_grub_drive): New function.
5492 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
5493 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
5494 * util/getroot.c (make_device_name): ... here.
5495 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
5496 Move to ...
5497 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
5498 * grub-core/kern/emu/hostdisk.c
5499 (convert_system_partition_to_system_disk): Move to ...
5500 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
5501 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
5502 * util/getroot.c (device_is_wholedisk): ... here.
5503 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
5504 * util/getroot.c (find_system_device): ... here.
5505 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
5506 Move to ...
5507 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
5508 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
5509 Move to ...
5510 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
5511 Handle LDM.
5512 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
5513 Move to ...
5514 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
5515 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
5516 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
5517 DISKFILTER.
5518 * include/grub/raid.h: Renamed to ...
5519 * include/grub/diskfilter.h: ... this.
5520 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
5521 (GRUB_RAID_LAYOUT_*): Make into array.
5522 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
5523 (grub_diskfilter_vg): New struct.
5524 (grub_diskfilter_pv_id): Likewise.
5525 (grub_raid_member): Removed.
5526 (grub_raid_array): Likewise.
5527 (grub_diskfilter_pv): New struct.
5528 (grub_diskfilter_lv): Likewise.
5529 (grub_diskfilter_segment): Likewise.
5530 (grub_diskfilter_node): Likewise.
5531 (grub_diskfilter_get_vg_by_uuid): New proto.
5532 (grub_raid_register): Inline.
5533 (grub_diskfilter_unregister): Likewise.
5534 (grub_diskfilter_make_raid): New proto.
5535 (grub_diskfilter_vg_register): Likewise.
5536 (grub_diskfilter_read_node): Likewise.
5537 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
5538 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
5539 (grub_util_is_ldm): Likewise.
5540 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
5541 (grub_hostdisk_find_partition_start): Likewise.
5542 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
5543 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
5544 New definition.
5545 (grub_gpt_partition_map_iterate): New proto.
5546 * include/grub/lvm.h (grub_lvm_vg): Removed.
5547 (grub_lvm_pv): Likewise.
5548 (grub_lvm_lv): Likewise.
5549 (grub_lvm_segment): Likewise.
5550 (grub_lvm_node): Likewise.
5551 * util/getroot.c [...]
5552 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
5553 (probe_abstraction): Likewise.
5554 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
5555 (main): Remove dead logic.
5556
8a7f9b9c
VS
55572012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
5558
5559 Simplify root device discover and don't fail when trying to open
5560 incorrect devices.
5561
5562 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
5563 function.
5564 (get_diskname_from_path): Likewise.
5565 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
5566 of iterating.
5567
30545b85
VS
55682012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5569
5570 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
5571
28ea58cf
VS
55722012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5573
5574 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
5575 pastthe end.
5576
692dabca
VS
55772012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5578
5579 * util/grub-install.in: Add missing \.
5580 Reported by: gentoofan
5581
f6e4ea70
VS
55822012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
5583
5584 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
5585 (direct_read): Use correct compressed size.
5586 (grub_squash_read_data): Likewise.
5587
55882012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
5589
5590 * docs/grub.texi (Platform limitations): New section.
5591 (Platform-specific operations): Likewise.
5592 * docs/grub-dev.texi (Porting): Likewise.
5593
76261110
VS
55942012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5595
5596 IEEE1275 disk write support.
5597
5598 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
5599 const void *.
5600 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
5601 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
5602 and seek loginc to ...
5603 (grub_ofdisk_prepare): ... here.
5604 (grub_ofdisk_write): Implement.
5605
fc36d603
VS
56062012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5607
5608 ARC disk write support.
5609
5610 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
5611 (reopen): New argument writable. All users updated.
5612 Handle required access mode.
5613 (grub_arcdisk_write): Implement.
5614 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
5615 (grub_arc_firmware_vector): Make buffer to write a const buffer.
5616
e06c2e7a
VS
56172012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5618
5619 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
5620 (read_sblock): Don't attempt to read superblocks outside the disk size.
5621
ff447958
VS
56222012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5623
5624 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
5625 first superblock to find the second one when possible.
5626
9e88df39
VS
56272012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5628
5629 * util/grub-install.in: Fix an ARC bug.
5630 Print a warning if no platform-specific setup is available.
5631
bb26e4ff
VS
56322012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5633
5634 Use static allocation rather than scratch pointer in reed_solomon.
5635 It decreases its size significantly and avoids a variable in .text.
5636
5637 * grub-core/lib/reed_solomon.c (scratch): Removed.
5638 (chosenstat): New const or static array.
5639 (sigma): Likewise.
5640 (errpot): Likewise.
5641 (errpos): Likewise.
5642 (sy): Likewise.
5643 (mstat): Likewise.
5644 (errvals): Likewise.
5645 (eqstat): Likewise.
5646 (pol_evaluate): Replace x with log_x argument. All users updated.
5647 (syndroms): Removed.
5648 (gauss_solve): Use statically allocated arrays.
5649 (rs_recover): Likewise.
5650 Calculate syndroms directly.
5651 (decode_block): Use statically allocated arrays.
5652 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
5653 (main) [TEST]: Allow -DTEST -DSTANDALONE.
5654
2e13ede5
VS
56552012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5656
5657 Eliminate fixed limit on reed solomon decoder length.
5658
5659 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
5660 rather than hardcoding the address.
5661 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
5662 no_reed_solomon_length.
5663 Move gate_a20 to no-reed-solomon part.
5664 Don't force a particular size of no reed-solomon part.
5665 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
5666 Removed.
5667 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
5668 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
5669
f8a9ab12
VS
56702012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5671
5672 * grub-core/commands/wildcard.c (match_files): Handle filenames
5673 without explicit device.
5674 (wildcard_expand): Don't add explicit device if not already present.
5675 * tests/grub_script_echo1.in: Add a new expansion test.
5676
87edb894
VS
56772012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5678
5679 Replace single-linked with double-linked lists. It results in more
5680 compact and more efficient code.
5681
5682 * grub-core/kern/list.c (grub_list_push): Moved from here ...
5683 * include/grub/list.h (grub_list_push): ... to here. Set prev.
5684 (grub_list_remove): Moved from here ...
5685 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
5686 (grub_prio_list_insert): Set prev.
5687 * include/grub/list.h (grub_list): Add prev. All users updated.
5688
48b391e9
VS
56892012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5690
5691 Handle newer autotools. Add some missing quotes while on it.
5692
5693 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
5694 (pkglib_DATA): Move grub-mkconfig_lib from here ...
5695 (pkgdata_DATA): ... here.
5696 * Makefile.util.def (update-grub_lib): Removed.
5697 * conf/Makefile.common (pkglib_DATA): Removed.
5698 (pkglib_SCRIPTS): Likewise.
5699 (pkgdata_DATA): New variable.
5700 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
5701 needed.
5702 Add missing quotes.
5703 Remove unused variable while on it.
5704 * tests/util/grub-shell.in: Likewise.
5705 * util/grub-install.in: Likewise.
5706 * util/grub-mkconfig.in: Likewise.
5707 * util/grub-mknetdir.in: Likewise.
5708 * util/grub-mkrescue.in: Likewise.
5709 * util/grub-mkstandalone.in: Likewise.
5710 * util/grub.d/00_header.in: Likewise.
5711 * util/grub.d/10_hurd.in: Likewise.
5712 * util/grub.d/10_illumos.in: Likewise.
5713 * util/grub.d/10_kfreebsd.in: Likewise.
5714 * util/grub.d/10_linux.in: Likewise.
5715 * util/grub.d/10_netbsd.in: Likewise.
5716 * util/grub.d/10_windows.in: Likewise.
5717 * util/grub.d/20_linux_xen.in: Likewise.
5718 * util/grub.d/30_os-prober.in: Likewise.
5719 * util/update-grub_lib.in: Removed.
5720
57212012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
5722
5723 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
5724 a workaround for intel problem.
5725
66832792
PRP
57262012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
57272012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
57282012-01-23 pfsmorigo
5729
5730 * util/grub-install.in: Support dd'in into PreP partition.
5731 * util/grub-probe.c (probe): Support discovering partition type.
5732 (main): Support -t msdos_parttype.
5733
7816a17e
VS
57342012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
5735
5736 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
5737 infinite recursion using counter.
5738 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
5739 init to skip it if the magic check fails.
5740 (dec_stream_header): Init s->crc32.
5741
8f9d3a8c
ZB
57422012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
57432012-01-22 Zachary Bedell <pendorbound@gmail.com>
57442012-01-22 Richard Laager <rlaager@wiktel.com>
5745
5746 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
5747 All users updated.
5748 (find_bestub): Determine correct size.
5749 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
5750 (scan_disk): Align the size down.
5751 Call check pool before find_bestub to have ashift.
5752
b055dd32
VS
57532012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5754
5755 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
5756 dprintf in no-malloc zone.
5757
d779e9bd
ML
57582012-01-22 Mario Limonciello <mario_limonciello@dell.com>
5759
5760 * configure.ac: Add back in test for limits.h.
5761
b508af69
VS
57622012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5763
5764 Support 4K-sector NTFS.
5765
5766 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
5767 (grub_ntfs_data): Remove blocksize.
5768 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
5769 Remove data argument. All users updated.
5770
dad9c8b5
VS
57712012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5772
5773 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
5774 being in .text to avoid dprel references.
5775 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
5776 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
5777 (grub_arch_highmemsize): Likewise.
5778 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
5779 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
5780 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
5781
d43a777e
VS
57822012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5783
5784 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
5785
5786 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
5787 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
5788
34e4208f
VS
57892012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5790
5791 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
5792 GRUB_UTIL.
5793 (grub_set_datetime_cmos): Likewise.
5794
3ec0fc1c
VS
57952012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5796
5797 Make XZ compression parameters dependent on target and not host CPU.
5798
5799 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
5800 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
5801
22489834
VS
58022012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5803
5804 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
5805 set but not used variable.
5806
8502fbca
VS
58072012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5808
5809 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
5810 created when no uuid support is compiled into mkfs.reiser.
5811
76df2068
VS
58122012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5813
5814 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
5815 (utf8_to_macroman): Do the opposite.
5816 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
5817
64e3f8f6
VS
58182012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5819
5820 * configure.ac: Refise build qemu_mips w/o unifont.
5821
9c271078
VS
58222012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5823
5824 Eliminate grub_min/grub_max prone to overflow usage.
5825
5826 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
5827 (poll_nonroot_hub): Likewise.
5828 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
5829 (grub_affs_label): Likewise.
5830 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
5831 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
5832 (grub_hfs_label): Likewise.
5833 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
5834 * grub-core/fs/zfs/zfs.c (MIN): Remove.
5835 (zap_leaf_array_equal): Use grub_size. Remove MIN.
5836 (zap_leaf_array_get): Likewise.
5837 (dnode_get_path): Likewise.
5838 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
5839 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
5840 * grub-core/script/execute.c (grub_script_break): Likewise.
5841 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
5842 grub_max.
5843 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
5844 * include/grub/misc.h (grub_min): Removed.
5845 (grub_max): Likewise.
5846
80662dbc
VS
58472012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
5848
5849 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
5850 direct.inode = 0.
5851
e6da1467
VS
58522012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5853
5854 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
5855
b1ac4cb1
VS
58562012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5857
5858 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
5859
b4bf7c3b
VS
58602012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5861
5862 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
5863 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
5864
8ee1101a
VS
58652012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5866
5867 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
5868 rather than a hack for grub_strncasemap.
5869
58702012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5871
5872 Support multiple initrds
5873 Note: part of this was accidently committed in r3739.
5874
5875 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
5876 initrd.
5877 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
5878 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
5879 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
5880 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5881 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5882
4d1e2bc9
VS
58832012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5884
5885 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
5886 disks with unknown size.
5887 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
5888
75b49ebe
VS
58892012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5890
5891 Remove defines pertaining to arbitrary limits not affecting GRUB
5892 anymore.
5893
5894 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
5895 (EXT2_MAX_SYMLINKCNT): Likewise.
5896 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
5897 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
5898 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
5899 (GRUB_PXE_MAX_BLKSIZE): Likewise.
5900 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
5901 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
5902 (DN_MAX_OBJECT_SHIFT): Likewise.
5903 (DN_MAX_OFFSET_SHIFT): Likewise.
5904 (DN_MAX_OBJECT): Likewise.
5905 (DNODES_PER_LEVEL_SHIFT): Likewise.
5906 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
5907 (SPA_MAXBLOCKSIZE): Likewise.
5908 (SPA_BLOCKSIZES): Likewise.
5909 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
5910 (MZAP_MAX_BLKSZ): Likewise.
5911
74a1dce7
VS
59122012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5913
5914 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
5915 handle NULL appropriately.
5916 Remove MIN.
5917
30c7d3ce
VS
59182012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5919
5920 Fix efiemu.
5921
5922 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
5923 cpu/types.h.
5924 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
5925 * configure.ac: Fix efiemu check.
5926
3c76ea0c
VS
59272012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5928
5929 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
5930 grub_probe.
5931 Reported by: adamwill
5932
7e532280
SG
59332012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
5934
5935 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
5936
30492374
VS
59372012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5938
5939 Fix handling of wide characters in gfxterm.
5940
5941 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
5942 (clear_char): Likewise.
5943 (paint_char): Skip code == NULL chars.
5944 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
5945
e70cb72f
VS
59462012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5947
5948 * grub-core/normal/charset.c: Move comment to right place.
5949
5c827cf9
VS
59502012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5951
5952 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
5953 (GRUB_AFFS_FLAG_FFS): Put back where it was.
5954 (grub_affs_mount): Revert the correct version checking.
5955
53603892
VS
59562012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5957
5958 * docs/grub.texi (Unicode): Mention several other unsupported features.
5959
ff094b9b
VS
59602011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
5961
5962 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
5963 case statements as compile-time one.
5964 (direct_read): Prevent spurious warnings.
5965 (grub_squash_read_data): Likewise.
5966
c029da8a
VS
59672011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
5968
5969 Various squash4 fixes and LZO and XZ support.
5970
5971 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
5972 Add xzembed source files.
5973 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
5974 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
5975 (grub_squash_inode): New subtype long_dir.
5976 (SQUASH_TYPE_LONG_DIR): New inode type.
5977 (COMPRESSION): New enum.
5978 (XZBUFSIZ): New const.
5979 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
5980 (read_chunk): Use data->decompress.
5981 (zlib_decompress): New function.
5982 (lzo_decompress): Likewise.
5983 (xz_decompress): Likewise.
5984 (squash_mount): Set new data fields.
5985 (grub_squash_iterate_dir): Handle long dir.
5986 (squash_unmount): Free xzdec and xzbuf.
5987 (grub_squash_open): Check ino type.
5988 (direct_read): Stylistic fixes. Use data->decompress.
5989 (grub_squash_read_data): Likewise.
5990 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
5991 (get_byte): Likewise.
5992 (grub_zlib_disk_read): Removed.
5993 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
5994 (GRUB_POSIX_BOOL_DEFINED): New define.
5995 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
5996 * grub-core/lib/xzembed/xz.h: Addmissing includes.
5997 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
5998 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
5999
7a45a539
VS
60002011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6001
6002 Don't override more informative errors.
6003
6004 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
6005 * grub-core/font/font.c (open_section): Likewise.
6006 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
6007 filename. Don't override errors.
6008 (grub_cmd_openbsd_ramdisk): Don't override errors.
6009 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
6010 (grub_cmd_initrd): Likewise.
6011 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6012 (grub_cmd_initrd): Likewise.
6013 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
6014 (grub_cmd_linux): Likewise.
6015 (grub_cmd_initrd): Likewise.
6016 (grub_cmd_payload): Likewise.
6017 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6018 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
6019 (grub_cmd_module): Likewise.
6020 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6021 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6022 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
6023 (grub_cmd_xnu_mkext): Likewise.
6024 (grub_cmd_xnu_ramdisk): Likewise.
6025 (grub_xnu_check_os_bundle_required): Likewise.
6026 (grub_xnu_load_kext_from_dir): Likewise.
6027 (grub_cmd_xnu_kextdir): Likewise.
6028 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
6029
b2d004db
VS
60302011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6031
6032 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
6033 as 1024 in block size field. Found on one of my test images.
6034 Small optimisation while on it.
6035
ec000eac
VS
60362011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6037
6038 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
6039 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
6040 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
6041 performance fixes while on it.
6042 (grub_sfs_close): Fix memory leak while on it.
6043 (grub_sfs_label): Convert Latin1 to UTF-8.
6044
f50e1165
VS
60452011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6046
6047 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
6048 space to avoid overflows.
6049 (grub_hfs_label): Convert from macroman to UTF-8.
6050
2ae254de
VS
60512011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6052
6053 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
6054
0108f491
VS
60552011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6056
6057 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
6058
f45f5f89
VS
60592011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6060
6061 * unicode: Import Unicode 6.0 data.
6062
4d8c4765
VS
60632011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6064
63fa8ef9
VS
6065 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
6066 outside of range.
6067
60682011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6069
6070 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
6071
6072 * include/grub/charset.h (grub_getend): New function.
6073 * grub-core/script/function.c (grub_script_function_find): Use
6074 grub_getend.
6075 * grub-core/normal/completion.c (add_completion): Likewise.
6076
f3cb4a4e
VS
60772011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6078
6079 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
6080 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
6081 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
6082 (GRUB_UNICODE_TAG_END): Likewise.
6083 (GRUB_UNICODE_LAST_VALID): Likewise.
6084
5da8dbc5
VS
60852011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6086
6087 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
6088 len and make it smaller. All users updated.
6089 * util/import_unicode.py: Put length and not end character.
6090 Check length.
6091
8569f13d
VS
60922011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6093
6094 Make better Unicode-compliant and unify some UTF-8 code pathes.
6095
6096 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
6097 valid character.
6098 (grub_is_valid_utf8): Use grub_utf8_process.
6099 Check resulting code range.
6100 (grub_utf8_to_ucs4): Use grub_utf8_process.
6101 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
6102 valid character.
6103
cc4fddf5
VS
61042011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6105
6106 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
6107
bbc47747
VS
61082011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6109
6110 * docs/grub.texi (Filesystems): Mention AFS.
6111
f63d6bf4
VS
61122011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6113
6114 * docs/grub.texi (Filesystems): Clarify restrictions.
6115 (Regexp): Mention non-Unicode regexp behaviour.
6116 (Other): Mention non-Unicode matching behaviour.
6117
74bbf0db
VS
61182011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6119
f63d6bf4 6120 Make HFS implementation use MacRoman.
74bbf0db
VS
6121
6122 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
6123 (macroman): New const array.
6124 (macroman_to_utf8): New function.
6125 (utf8_to_macroman): Likewise.
6126 (grub_hfs_find_dir): Use utf8_to_macroman.
6127 (grub_hfs_dir): Use macroman_to_utf8.
6128 Set case_insensitive.
6129
4ea0316e
VS
61302011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6131
6132 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
6133
d3c13cbd
VS
61342011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6135
6136 Integrate hints into autogeneration scripts.
6137
6138 * docs/grub.texi (Filesystems): Add a hostdisk example.
6139 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
6140 (grub-probe): Add ofpath.
6141 * gentpl.py: Remove group nosparc64.
6142 * grub-core/commands/search.c (cache_entry): New struct.
6143 (cache): New var.
6144 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
6145 * grub-core/commands/search_wrap.c (options): Add platform-specific
6146 hint options.
6147 (grub_cmd_search): Handle platform-specific hints.
6148 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
6149 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
6150 (grub_util_biosdisk_data): Likewise.
6151 (grub_util_biosdisk_open): Set device_map.
6152 (read_device_map): Handle "" as indication of no map.
6153 Set device_map.
6154 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
6155 (grub_util_biosdisk_get_compatibility_hint): New function.
6156 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
6157 * include/grub/emu/hostdisk.h
6158 (grub_util_biosdisk_get_compatibility_hint): New proto.
6159 * util/grub-install.in: Don't call grub-mkdevicemap.
6160 Add platform-specific hint to load.cfg.
6161 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
6162 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
6163 hints. Set root preliminary to compatibility hint, not to OS name.
6164 * util/grub-probe.c (PRINT_*): Add hints.
6165 (print): Make static.
6166 (escape_of_path): New function.
6167 (guess_bios_drive): Likewise.
6168 (guess_efi_drive): Likewise.
6169 (guess_baremetal_drive): Likewise.
6170 (print_full_name): Likewise.
6171 (probe): Handle hints.
6172 (main): Likewise.
6173 * util/ieee1275/devicemap.c: Removed.
6174 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
6175 updated.
6176 (grub_util_devname_to_ofpath): Return NULL on failure.
6177
6178 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
6179 resource leak.
6180 * util/getroot.c (grub_util_pull_device): Fix memory leak.
6181
6182 * po/POTFILES.in: Regenerated.
6183
6184 Allow purely long options
6185
6186 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
6187 (SHORT_ARG_USAGE): Likewise.
6188 (grub_arg_show_help): Compare opt with help_options.
6189 (parse_option): Receive opt as argument. If makes big simplificatons.
6190 All users updated
6191
00ce2df3
VS
61922011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6193
6194 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
6195 Restructure to avoid warning.
6196
e77e325f
VS
61972011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6198
6199 * util/grub-install.in: Account for possible escaped comma in device
6200 name.
6201
165099ea
VS
62022011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6203
6204 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
6205 channel.
6206
ce4a999d
VS
62072011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6208
6209 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
6210 allocation and zero-setting.
6211 (grub_ieee1275_get_devname): Check that alias is complete.
6212
379586ad
VS
62132011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6214
6215 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
6216 unaligned segments.
6217
9197b0ad
VS
62182011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6219
6220 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
6221 prefix.
6222 (grub_ofdisk_open): Check and discard ieee1275 prefix.
6223 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6224 Add ieee1275 prefix.
6225
edddb7f9
VS
62262011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6227
6228 * docs/grub.texi (Filesystems): Update.
6229
a1a8b1b9
VS
62302011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6231
6232 Support odc, newc and bigendian cpio formats.
6233
6234 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
6235 * grub-core/Makefile.core.def (newc): New module.
6236 (odc): Likewise.
6237 (cpio_be): Likewise.
6238 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
6239 (MAGIC): Likewise.
6240 (MAGIC2): Likewise.
6241 (head) [MODE_ODC]: Adapt for the format.
6242 (head) [MODE_NEWC]: Likewise.
6243 (head) [!MODE_*]: Write fields of interest as arrays.
6244 (MAGIC_USTAR): Removed.
6245 (read_number) [MODE_NEWC]: Change to hex.
6246 (read_number) [!MODE_*]: Parse binary arrays.
6247 (grub_cpio_find_file): Factor out the code for better structure and
6248 always use read_number.
6249 (grub_cpio_mount): Use MAGIC and MAGIC2.
6250 (grub_cpio_dir): Exit on first hook non-0 return.
6251 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
6252 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
6253 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
6254 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
6255 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
6256 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
6257 * grub-core/fs/newc.c: New file.
6258 * grub-core/fs/odc.c: Likewise.
6259 * grub-core/fs/cpio_be.c: Likewise.
6260
58eba9ee
VS
62612011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6262
6263 Fix handling of tar numbers occupying the whole field.
6264
6265 * grub-core/fs/cpio.c (read_number): New function.
6266 (grub_cpio_find_file): Use read_number instead of strtoull.
6267
a54a0e12
VS
62682011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6269
6270 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
6271 occupying the whole field size.
6272
a6120aca
LA
62732011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
6274
6275 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
6276
a93964ce
VS
62772011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6278
6279 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
6280
3ea1ca46
SG
62812011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
6282
6283 * grub-core/Makefile.core.def (lzma_decompress): Add missing
6284 TARGET_IMG_LDFLAGS.
6285
b87f7ef2
VS
62862011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6287
6288 * util/getroot.c (ESCAPED_PATH_MAX): New define.
6289 (mountinfo_entry): Increase the field size to take escaping into
6290 account.
6291 (find_root_device_from_libzfs): Add one byte to size of strings for
6292 security.
6293
62092395
VS
62942011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6295
6296 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
6297 an assert.
6298 * util/grub-setup.c (setup): Likewise.
6299
1f0b1a77
VS
63002011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6301
6302 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
6303 _LzmaDecodeA.
6304
8eba9997
VS
63052011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6306
6307 * docs/grub.texi (Internationalisation): New section.
6308
dd0c91e9
VS
63092011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6310
6311 * docs/grub.texi (Loopback booting): New section.
6312
63132011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
6314
6315 * util/grub-mkstandalone.in: Fix minor typo errors.
6316
198e150a
VS
63172011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6318
6319 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
6320
6321 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
6322 net/icmp.c and net/icmp6.c.
6323 (http): New module.
6324 (priority_queue): Likewise.
6325 * grub-core/io/bufio.c: Rewritten.
6326 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
6327 TYPE_WITH_CONFIGFILE_OPTION.
6328 (legacy_commands): Add bootp and dhcp.
6329 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
6330 (grub_legacy_parse): Likewise.
6331 * grub-core/lib/priority_queue.c: New file.
6332 * grub-core/net/arp.c: Add missing license header.
6333 (arp_find_entry): Removed.
6334 (arp_find_entry): Likewise.
6335 (grub_net_arp_resolve): Rename to ...
6336 (grub_net_arp_send_request): ...this.
6337 (grub_net_arp_receive): New card argument.
6338 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
6339 Set router and DNS server.
6340 (grub_net_configure_by_dhcp_ack): Handle routing information.
6341 (grub_cmd_bootp): Set checksum.
6342 (grub_bootp_init): Remove net_dhcp.
6343 * grub-core/net/dns.c: New file.
6344 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
6345 completion.
6346 (get_card_packet): Handle allocation.
6347 (grub_efinet_findcards): Set mtu.
6348 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
6349 (get_card_packet): Handle allocation.
6350 (emucard): Set mtu.
6351 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
6352 (GRUB_MOD_INIT): Set mtu.
6353 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
6354 mtu.
6355 (get_card_packet): Handle allocation.
6356 (grub_ofnet_findcards): Set mtu.
6357 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
6358 assert.
6359 (grub_net_recv_ethernet_packet): Handle IPv6.
6360 * grub-core/net/http.c: New file.
6361 * grub-core/net/icmp.c: Likewise.
6362 * grub-core/net/icmp6.c: Likewise.
6363 * grub-core/net/ip.c (ip6addr): New type.
6364 (ip6hdr): Likewise.
6365 (reassemble): Likewise.
6366 (cmp): New function.
6367 (reassembles): New variable.
6368 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
6369 (id): New variable.
6370 (send_fragmented): New function.
6371 (grub_net_send_ip_packet): Rename to ...
6372 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
6373 Handle non-UDP.
6374 (grub_net_recv_ip_packets): Rename to ...
6375 (handle_dgram): ... this. Check checksum. Handle non-UDP.
6376 (free_rsm): New function.
6377 (free_old_fragments): Likewise.
6378 (grub_net_recv_ip4_packets): New function.
6379 (grub_net_send_ip6_packet): Likewise.
6380 (grub_net_send_ip_packet): Likewise.
6381 (grub_net_recv_ip6_packets): Likewise.
6382 (grub_net_recv_ip_packets): Likewise.
6383 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
6384 (LINK_LAYER_CACHE_SIZE): New const.
6385 (link_layer_find_entry): New function.
6386 (grub_net_link_layer_add_address): Likewise.
6387 (grub_net_link_layer_resolve_check): Likewise.
6388 (grub_net_link_layer_resolve): Likewise.
6389 (grub_net_ipv6_get_slaac): Likewise.
6390 (grub_net_ipv6_get_link_local): Likewise.
6391 (grub_cmd_ipv6_autoconf): Likewise.
6392 (parse_ip): Handle one number representation.
6393 (parse_ip6): New functoion.
6394 (match_net): Handle IPv6.
6395 (grub_net_resolve_address): Handle IPv6 and DNS.
6396 (grub_net_resolve_net_address): Handle IPv6.
6397 (route_cmp): New function.
6398 (grub_net_route_address): Find best route.
6399 (grub_net_addr_to_str): Handle IPv6.
6400 (grub_net_addr_cmp): New function.
6401 (grub_net_add_addr): Register local route.
6402 (print_net_address): Handle net address.
6403 (grub_net_poll_cards): Retransmit TCP.
6404 (grub_net_poll_cards_idle_real): Likewise.
6405 (have_ahead): New function.
6406 (grub_net_seek_real): Use underlying seek.
6407 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
6408 * grub-core/net/tcp.c: New file.
6409 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
6410 (cmp): New function.
6411 (ack): Likewise.
6412 (tftp_receive): Handle unordered input.
6413 (destroy_pq): New function.
6414 (tftp_close): Close pq.
6415 * grub-core/net/udp.c: Put missing license header.
6416 (grub_net_udp_socket): New function.
6417 (udp_socket_register): Likewise.
6418 (grub_net_udp_close): Likewise.
6419 (grub_net_recv_udp_packet): Check checksum.
6420 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
6421 * include/grub/misc.h (grub_memchr): New function.
6422 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
6423 (grub_net_card_driver): Return buf in recv.
6424 (grub_net_slaac_mac_list): New struct.
6425 (grub_network_level_protocol_id): Add ipv6.
6426 (grub_net_network_level_addr): Likewise.
6427 (grub_net_network_level_net_addr): Likewise.
6428 (grub_net_app_protocol): Add seek.
6429 (grub_net_socket): Removed.
6430 (grub_net_sockets): Likewise.
6431 (grub_net_socket_register): Likewise.
6432 (grub_net_socket_unregister): Likewise.
6433 (FOR_NET_SOCKETS): Likewise.
6434 (grub_net_add_addr): Add const.
6435 (GRUB_NET_BOOTP_*): New enum.
6436 (grub_net_addr_cmp): New proto.
6437 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
6438 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
6439 (grub_net_hwaddr_to_str): NEw proto.
6440 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
6441 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
6442 (grub_dns_init): New proto.
6443 (grub_dns_fini): Likewise.
6444 (grub_net_tcp_retransmit): Likewise.
6445 (grub_net_link_layer_add_address): Likewise.
6446 (grub_net_link_layer_resolve_check): Likewise.
6447 (grub_net_link_layer_resolve): Likewise.
6448 (grub_net_dns_lookup): Likewise.
6449 (grub_net_add_dns_server): Likewise.
6450 (grub_net_remove_dns_server): Likewise.
6451 (GRUB_NET_TRIES): New const.
6452 (GRUB_NET_INTERVAL): Likewise.
6453 * include/grub/net/arp.h: Mostly rewritten.
6454 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
6455 * include/grub/net/ip.h: Mostly rewritten.
6456 * include/grub/net/netbuff.h: Indent.
6457 * include/grub/net/tcp.h: New file.
6458 * include/grub/net/udp.h: Mostly rewritten.
6459 * include/grub/priority_queue.h: New file.
6460 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
6461 (grub_swap_bytes64_compile_time): Likewise.
6462 (grub_cpu_to_be16_compile_time): Likewise.
6463 (grub_cpu_to_be32_compile_time): Likewise.
6464 (grub_cpu_to_be64_compile_time): Likewise.
6465 (grub_be_to_cpu64_compile_time): Likewise.
6466
215c1800
VS
64672011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
6468
6469 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
6470 UINT_TO_PTR with cast.
6471
c17e546c
VS
64722011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6473
6474 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
6475 don't use them.
6476
ff6b18b6
VS
64772011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6478
6479 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
6480 already there.
6481
70ffcc93
VS
64822011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6483
6484 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
6485 confusing ipxe.
6486
e5f4d260
VS
64872011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6488
6489 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
6490 Add missing const attribute.
6491 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
6492 Likewise.
6493 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
6494 Likewise.
6495
8e54b4b7
VS
64962011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6497
6498 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
6499 misaligned access.
6500 (serpent_setkey): Likewise.
6501 (serpent_encrypt_internal): Likewise.
6502 (serpent_decrypt_internal): Likewise.
6503 (serpent_encrypt): Don't put an alignment-increasing cast.
6504 (serpent_decrypt): Likewise.
6505 (serpent_test): Likewise.
6506
813c0a2b
VS
65072011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6508
6509 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
6510
f2b60fbd
VS
65112011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6512
6513 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
6514
6515 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
6516 grub_addr_t casts.
6517 (PTR_TO_UINT64): Likewise.
6518 (PTR_TO_UINT32): Likewise.
6519
5ef5c511
VS
65202011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6521
6522 * util/grub-mkimage.c (generate_image): Decrease the higher limit
6523 because of stack.
6524 * util/grub-setup.c (setup): Don't add redundancy past the higher load
6525 limit.
6526
c476e6df
VS
65272011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6528
6529 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
6530 text_width > available width a bit more gracefully.
6531
384ad7cc
VS
65322011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6533
6534 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
6535 current address calculation.
6536
96f8caf8
VS
65372011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6538
6539 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
6540 stack.
6541 (encode_block): Likewise.
6542
276b7a8b
VS
65432011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6544
6545 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
6546 certainety.
6547
e3fd394a
VS
65482011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6549
6550 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
6551 non-RS part to avoid RS messing with GDT.
6552 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
6553 Increase to suit in realmode routines.
6554
65552011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6556
6557 * grub-core/kern/i386/realmode.S: Increase alignment.
6558 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
6559
ee9c2e7a
VS
65602011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6561
6562 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
6563 be deterministic.
6564 (syndroms): Compute 0 syndrom.
6565 (rs_recover): Use 0 syndrom.
6566
7a7f7cc9
VS
65672011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6568
6569 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
6570
a14b16d1
VS
65712011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6572
6573 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
6574 brackets.
6575
9f59e9fc
VS
65762011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6577
ca1b552c
VS
6578 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
6579 account.
6580 (get_top_pad): Likewise.
6581 (get_right_pad): Likewise.
6582 (get_bottom_pad): Likewise.
6583
65842011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6585
6586 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 6587
e739d698
VS
65882011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6589
6590 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
6591 attribute as the structure isn't guaranteed to be properly aligned.
6592 (grub_efi_pci_device_path): Likewise.
6593 (grub_efi_pccard_device_path): Likewise.
6594 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
6595 specify the size of `memory_type'.
6596 (grub_efi_vendor_device_path): Likewise.
6597 (grub_efi_controller_device_path): Likewise.
6598 (grub_efi_acpi_device_path): Likewise.
6599 (grub_efi_expanded_acpi_device_path): Likewise.
6600 (grub_efi_atapi_device_path): Likewise.
6601 (grub_efi_scsi_device_path): Likewise.
6602 (grub_efi_fibre_channel_device_path): Likewise.
6603 (grub_efi_1394_device_path): Likewise.
6604 (grub_efi_usb_device_path): Likewise.
6605 (grub_efi_usb_class_device_path): Likewise.
6606 (grub_efi_i2o_device_path): Likewise.
6607 (grub_efi_mac_address_device_path): Likewise.
6608 (grub_efi_ipv4_device_path): Likewise.
6609 (grub_efi_ipv6_device_path): Likewise.
6610 (grub_efi_infiniband_device_path): Likewise.
6611 (grub_efi_uart_device_path): Likewise.
6612 (grub_efi_vendor_messaging_device_path): Likewise.
6613 (grub_efi_hard_drive_device_path): Likewise.
6614 (grub_efi_cdrom_device_path): Likewise.
6615 (grub_efi_vendor_media_device_path): Likewise.
6616 (grub_efi_file_path_device_path): Likewise.
6617 (grub_efi_protocol_device_path): Likewise.
6618 (grub_efi_piwg_device_path): Likewise.
6619 (grub_efi_bios_device_path): Likewise.
6620
cb8f88ea
VS
66212011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6622
6623 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
6624 (grub_ucs4_to_utf8_alloc): Likewise.
6625 (grub_ucs4_to_utf8): Likewise.
6626 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
6627 (grub_ucs4_to_utf8_alloc): Likewise.
6628
309e5352
VS
66292011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6630
6631 AFFS never uses unicode.
6632
6633 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
6634 (grub_latin1_to_utf8): New inline function.
6635 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
6636
e7987e1b
VS
66372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6638
6639 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
6640 overflow.
6641
efc2616e
VS
66422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6643
6644 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
6645 (grub_squash_dirent_header): Likewise.
6646 (read_chunk): Don't double swap.
6647 (grub_squash_iterate_dir): Fix swap sizes.
6648
3c349f5a
VS
66492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6650
6651 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
6652
b453412d
VS
66532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6654
6655 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
6656 (grub_hfs_iterate_dir): Likewise.
6657
12e9d4d1
VS
66582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6659
6660 Fix video on platforms where unaligned access is forbidden.
6661 Make several optimisations while on it.
6662
6663 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
6664 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
6665 (grub_video_fbblit_replace_32bit_1bit): Likewise.
6666 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
6667 Disable.
6668 (grub_video_fbblit_replace_16bit_1bit):
6669 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
6670 (grub_video_fbblit_replace_8bit_1bit): Likewise.
6671 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
6672 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
6673 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
6674 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
6675 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
6676 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
6677 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
6678 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
6679 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
6680 (grub_video_fbblit_replace_index_RGB888): Likewise.
6681 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
6682 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
6683 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
6684 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
6685 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
6686 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
6687 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
6688 Disable.
6689 (grub_video_fbblit_blend_XXX565_1bit):
6690 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
6691 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
6692 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
6693 void *.
6694 * grub-core/video/fb/video_fb.c (common_blitter)
6695 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
6696 (grub_video_fb_create_render_target_from_pointer)
6697 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
6698 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
6699 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
6700 definition.
6701 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
6702
ace96609
VS
67032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6704
6705 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
6706 HH22 and HM10 relocations.
6707
fd261d73
VS
67082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6709
6710 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
6711
e59b7857
VS
67122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6713
6714 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
6715 allocation succeeded.
6716
9b4baaa4
VS
67172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6718
6719 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
6720 argument a u8 pointer. All users updated.
6721 Handle unaligned buffers.
6722
dc713193
VS
67232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6724
6725 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
6726 add_part to workaround compiler bug.
6727
30dd48c2
VS
67282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6729
6730 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
6731
0c6087a8
VS
67322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6733
6734 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
6735 Reserve alignment invariants.
6736 (grub_multiboot_load): Likewise.
6737 (retrieve_video_parameters): Likewise.
6738 (grub_multiboot_make_mbi): Likewise.
6739
c2e77777
VS
67402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6741
6742 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
6743 incorrect pointer.
6744
b70b6d11
VS
67452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6746
6747 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
6748 (grub_pata_pio_write): Likewise.
6749
02a2bf83
VS
67502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6751
6752 Add noreturn attributes and remove unreachable code.
6753
6754 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
6755 code.
6756 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
6757 code. Mark as noreturn.
6758 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
6759 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
6760 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
6761 unreachable code.
6762 * grub-core/kern/main.c (grub_main): Mark as noreturn.
6763 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
6764 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
6765 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
6766 * include/grub/kernel.h (grub_main): Mark as noreturn.
6767 * include/grub/reader.h (grub_rescue_run): Likewise.
6768
2019d09e
VS
67692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6770
6771 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
6772 redundant declaration.
6773
d1c501ee
VS
67742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6775
6776 * include/grub/net.h (grub_net_network_level_interfaces): Remove
6777 redundant declaration.
6778 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
6779
61664420
VS
67802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6781
6782 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
6783 to ensure alignment.
6784 (grub_hdparm_print_identify): Make argument uint16 * to ensure
6785 alignment. Ensure tmp alignment.
6786 (grub_cmd_hdparm): Ensure buf alignment.
6787 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
6788 to ensure alignment.
6789 (grub_ata_dumpinfo): Ensure text alignment.
6790 (grub_atapi_identify): Preserve alignment invariant.
6791 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
6792
0d51ee20
VS
67932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6794
6795 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
6796 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
6797 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
6798 * include/grub/misc.h (grub_reboot)
6799 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
6800 (grub_halt) [__mips__]: Likewise.
6801
753ef8c1
VS
68022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6803
6804 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
6805 Remove redundant declaration.
6806 (grub_mmap_get_post64): Likewise.
6807 (grub_mmap_get_upper): Likewise.
6808 (grub_mmap_get_lower): Likewise.
6809
85c85365
VS
68102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6811
6812 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
6813 uint32_t * to ensure alignment.
6814 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
6815
a23f2cc4
VS
68162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6817
93018f64
VS
6818 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
6819 uint16_t * to ensure alignment.
6820 (sun_pc_partition_map_iterate): Make `block' a union to ensure
6821 alignment.
6822
68232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6824
6825 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
6826 to ensure alignment.
6827 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
6828
58acccd6
VS
68292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6830
6831 * grub-core/fs/ntfs.c (u16at): Make into inline function.
6832 Handle unaligned pointers.
6833 (u32at): Likewise.
6834 (u64at): Likewise.
6835 (fixup): Use byte access instead of v16at.
6836 (find_attr): Fix imporper usage of v32at.
6837 (read_data): Likewise.
6838 (list_file): Handle byte-swapping and unaligned strings.
6839 (grub_ntfs_label): Likewise.
6840
9b05cad7
VS
68412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6842
6843 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
6844 as it's not necessarily aligned.
6845
b3950b84
VS
68462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6847
6848 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
6849 redundant declaration.
6850 (grub_serial_init): Likewise.
6851 (grub_terminfo_init): Likewise.
6852
fcd232b7
VS
68532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6854
6855 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
6856 function.
6857 (ZAP_HASH_IDX): Likewise.
6858 (ZAP_LEAF_HASH_SHIFT): Likewise.
6859 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
6860 (LEAF_HASH): Likewise.
6861 (ZAP_LEAF_NUMCHUNKS): Likewise.
6862 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
6863 alignment invariants. Return pointer. All users updated.
6864 (ZAP_LEAF_ENTRY): Make into inline function.
6865 (NBBY): Removed.
6866 (xor): LIkewise.
6867 (xor_out): Use grub_crypto_xor.
6868 (dnode_get_path): Use grub_get_unaligned.
6869 (nvlist_find_value): Likewise.
6870 (grub_zfs_nvlist_lookup_uint64): Likewise.
6871 (grub_zfs_nvlist_lookup_string): Likewise.
6872 (get_nvlist_size): Likewise.
6873 (grub_zfs_open): Likewise.
6874 (fill_fs_info): Likewise.
6875 (grub_zfs_dir): Likewise.
6876 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
6877 alignment invariants.
6878 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
6879 necessarily aligned.
6880
f138623a
VS
68812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6882
6883 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
6884
564840dc
VS
68852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6886
6887 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
6888 arithmetic to conserve alignment invariants.
6889
9b40df20
VS
68902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6891
6892 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
6893 redundant declaration.
6894 (grub_efiemu_mm_obtain_request): Likewise.
6895 (grub_efiemu_prepare): Likewise.
6896
d1c930f9
VS
68972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6898
6899 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
6900 to match types.
6901
4c5f3056
VS
69022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6903
6904 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
6905 case of aunaligned recptr.
6906 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
6907 alignment.
6908 (grub_hfsplus_btree_search): Handle unaligned index.
6909
728cba91
VS
69102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6911
6912 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
6913 to get freetag and skip.
6914
eb561f31
VS
69152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6916
6917 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
6918 array.
6919 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
6920 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
6921
20993fbb
VS
69222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6923
6924 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
6925 name for checksum and fix allocation algorithm.
6926
1f313b94
VS
69272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6928
6929 * include/grub/types.h (grub_properly_aligned_t): New type.
6930 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
6931 (grub_get_unaligned16): Add explicit casts.
6932 (grub_get_unaligned32): Likewise.
6933 (grub_get_unaligned64): Likewise.
6934 (grub_set_unaligned16): New function.
6935 (grub_set_unaligned32): Likewise.
6936
47ae27ec
VS
69372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6938
6939 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
6940
78c2cd1c
VS
69412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6942
6943 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
6944 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
6945 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
6946
53072f9b
VS
69472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6948
6949 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
6950 conditionals.
6951
055dc239
VS
69522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6953
6954 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
6955 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
6956
496bd074
VS
69572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6958
6959 Unify and improve RAID and crypto xor.
6960
6961 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
6962 changed to grub_crypto_xor
6963 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
6964 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
6965 Use bigger types when possible.
6966
ef6e4335
VS
69672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6968
6969 * grub-core/disk/raid.c (scan_devices): Fix condition.
6970
5d048bf2
VS
69712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6972
6973 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
6974 Make name a const ptr.
6975
ee533335
VS
69762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6977
6978 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
6979 first argument a const pointer.
6980 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
6981 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
6982 proto.
6983 (grub_children_iterate): Likewise.
6984 (grub_machine_mmap_iterate): Remove redundant declaration.
6985
cc8f3668
VS
69862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6987
6988 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
6989 (grub_cmd_acpi) [!x86]: Disable EBDA.
6990
c5fc563a
VS
69912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6992
6993 Enable UTF8 in gnulib regexp.
6994
6995 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
6996 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
6997 (isupper): Use grub_isupper.
6998 (isascii): New inline function.
6999 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
7000 * grub-core/lib/posix_wrap/wctype.h: Likewise.
7001 * grub-core/normal/charset.c (grub_utf8_process): New function.
7002 (grub_utf8_to_utf16): Use grub_utf8_process.
7003 (grub_encode_utf8_character): New function.
7004 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
7005 * include/grub/charset.h (grub_utf8_process): New declaration.
7006 (grub_encode_utf8_character): Likewise.
7007 * include/grub/misc.h (grub_islower): New inline function.
7008 (grub_isupper): Likewise.
7009 (grub_strchrsub): Moved down to fix the definitions.
7010
0af2346f
VS
70112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7012
7013 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
7014 specification.
7015
74dbd244
VS
70162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7017
7018 * include/grub/loader.h (grub_loader_register_preboot_hook):
7019 Use struct preboot * and not void * for handle. All users updated.
7020 (grub_loader_unregister_preboot_hook): Likewise.
7021
1bc8f60d
VS
70222011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
7023
7024 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
7025 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
7026 UTF-16-BE. All users updated.
7027 (grub_hfsplus_cmp_catkey): Fix unicode handling.
7028 (grub_hfsplus_iterate_dir): Likewise.
7029 (grub_hfsplus_label): Likewise.
7030
48d6e456
VS
70312011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
7032
7033 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
7034
bf3a3857
VS
70352011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
7036
7037 Add missing const qualifiers.
7038
7039 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
7040 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
7041 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
7042 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
7043 (grub_lvm_check_flag): Likewise.
7044 * grub-core/efiemu/i386/coredetect.c
7045 (grub_efiemu_get_default_core_name): Likewise
7046 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
7047 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
7048 * grub-core/fs/ntfs.c (fixup): Likewise.
7049 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
7050 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
7051 (fzap_lookup): Likewise.
7052 (zap_lookup): Likewise.
7053 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
7054 * grub-core/lib/legacy_parse.c (check_option): Likewise.
7055 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
7056 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
7057 (grub_freebsd_add_meta_module): Likewise.
7058 (grub_cmd_freebsd_module): Likewise.
7059 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
7060 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
7061 (grub_xnu_writetree_get_size): Likewise.
7062 (grub_xnu_writetree_toheap_real): Likewise.
7063 (grub_xnu_find_key): Likewise.
7064 (grub_xnu_create_key): Likewise.
7065 (grub_xnu_create_value): Likewise.
7066 (grub_xnu_register_memory): Likewise.
7067 (grub_xnu_check_os_bundle_required): Likewise.
7068 (grub_xnu_scan_dir_for_kexts): Likewise.
7069 (grub_xnu_load_kext_from_dir): Likewise.
7070 * grub-core/normal/color.c (color_list): Likewise.
7071 * grub-core/normal/completion.c (current_word): Likewise.
7072 * grub-core/normal/menu_entry.c (insert_string): Likewise.
7073 * grub-core/term/serial.c (grub_serial_find): Likewise.
7074 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
7075 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
7076 Likewise.
7077 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
7078 (grub_freebsd_add_meta_module): Likewise.
7079 * include/grub/lib/arg.h (grub_arg_option): Likewise.
7080 * include/grub/net.h (grub_net_card_driver): Likewise.
7081 (grub_net_card): Likewise.
7082 (grub_net_app_protocol): Likewise.
7083 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
7084 * include/grub/serial.h (grub_serial_find): Likewise.
7085 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
7086 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
7087 (grub_xnu_create_value): Likewise.
7088 (grub_xnu_find_key): Likewise.
7089 (grub_xnu_scan_dir_for_kexts): Likewise.
7090 (grub_xnu_load_kext_from_dir): Likewise.
7091
7092 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
7093 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
7094 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
7095 Moved from here ...
7096 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
7097
112b4837
CW
70982011-11-28 Colin Watson <cjwatson@ubuntu.com>
7099
7100 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
7101
49e891ac
VS
71022011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
7103
7104 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
7105 (read_device): Fix size calculation.
7106
fd258e5c
RM
71072011-11-25 Robert Millan <rmh@gnu.org>
7108
7109 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
7110 (find_root_device_from_libzfs): Add zpool output parser to be used
7111 as fallback when libzfs isn't available.
7112
78845dc2
SG
71132011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
7114
7115 * po/Makefile.in.in: Add missing escape-continuation.
7116
adac5211
VS
71172011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
7118
7119 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
7120
10b64f1c
VS
71212011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7122
7123 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
7124
bb416954
VS
71252011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7126
7127 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
7128
bdfe9eeb
VS
71292011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7130
7131 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
7132
581ffa8a
VS
71332011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7134
7135 * grub-core/lib/adler32.c: Add missing license specification.
7136 * grub-core/lib/crc64.c: Likewise.
7137 * grub-core/loader/i386/pc/plan9.c: Likewise.
7138 * grub-core/partmap/plan.c: Likewise.
7139
2536cf64
LK
71402011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
7141
7142 Add facility to debug GRUB with gdb under qemu.
7143
7144 * grub-core/gdb_grub.in: New file.
7145 * grub-core/gmodule.pl.in: Likewise.
7146 * grub-core/Makefile.core.def (gmodule.pl): New script.
7147 (gdb_grub): Likewise.
7148
bc108a4a
VS
71492011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7150
7151 * util/grub-mount.c (argp_parser): Accept relative pathes.
7152 * util/grub-fstest.c (argp_parser): Likewise.
7153
111c1778
VS
71542011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7155
7156 Plan9 support.
7157
7158 * Makefile.util.def (libgrubmods): Add
7159 grub-core/partmap/plan.c.
7160 * docs/grub.texi: Notice Plan9 support.
7161 * grub-core/Makefile.core.def (plan9): New module.
7162 (part_plan): Likewise.
7163 * grub-core/loader/i386/pc/plan9.c: New file.
7164 * grub-core/partmap/plan.c: Likewise.
7165 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
7166 define.
7167 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
7168 * include/grub/mm.h (grub_extend_alloc): New inline function.
7169
c30be3b6
VS
71702011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7171
7172 Make Reed-Solomon faster by using power of generator representation of
7173 GF(256)*.
7174
7175 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
7176 (gf_double_t): Likewise.
7177 (gf_invert): Removed.
7178 (gf_powx): New array.
7179 (gf_powx_inv): Likewise.
7180 (scratch): Move higher.
7181 (gf_reduce): Removed.
7182 (gf_mul): Use powx.
7183 (gf_invert): Likewise.
7184 (init_inverts): Replaced with ...
7185 (init_powx): ...this. All users updated.
7186 (pol_evaluate): Replace multiplications with additions.
7187 (rs_encode): Likewise.
7188 (gauss_eliminate): Call gf_invert.
7189 (grub_reed_solomon_add_redundancy): Call init_powx.
7190 (grub_reed_solomon_recover): Call init_powx unconditionally.
7191
fa5aeffc
VS
71922011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7193
7194 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
7195
a346b81c
VS
71962011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7197
7198 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
7199 disk->partiton for safety.
7200
d89ee414
VS
72012011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7202
7203 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
7204 Fix a memory leak.
7205 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
7206
91ee7b6d
VS
72072011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7208
7209 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
7210
91e5a33d
VS
72112011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7212
7213 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
7214
9edd7be2
VS
72152011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7216
7217 Fix spaces handling in proc/self/mountinfo.
7218
7219 * util/getroot.c (unescape): New function.
7220 (grub_find_root_device_from_mountinfo): Use unescape.
7221
ba102053
VS
72222011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7223
7224 Support ZFS embedding.
7225
7226 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
7227 (grub_zfs_fs): Register grub_zfs_embed.
7228
aa94b870
VS
72292011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7230
7231 Fix MIPS compilation.
7232
7233 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
7234 * include/grub/offsets.h: Rename decompressor fields from
7235 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
7236 * util/grub-mkimage.c (image_targets): Use new names.
7237
5fbdac14
VS
72382011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7239
7240 Defer multiboot device parsing until we're in compressed part.
7241
7242 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
7243 bsd_part. setdevice has fallen into disuse.
7244 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
7245 (bsd_part): Likewise.
7246 (boot_dev): New variable.
7247 (multiboot_trampoline): Don't parse multiboot device.
7248 Pass multiboot device in %edx.
7249 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
7250 grub_boot_device.
7251 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
7252 Likewise.
7253 * grub-core/kern/i386/pc/startup.S: Save edx.
7254 (grub_boot_drive): Removed.
7255 (grub_install_dos_part): Likewise.
7256 (grub_install_bsd_part): Likewise.
7257 (grub_boot_device): New variable.
7258 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
7259 (grub_install_bsd_part): Likewise.
7260 (grub_boot_drive): Likewise.
7261 (grub_boot_device): New variable.
7262 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
7263 Removed.
7264 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
7265 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
7266 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
7267 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
7268 * util/grub-install.in: Remove redundant condition.
7269
691cbb58
VS
72702011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7271
7272 Fix bug introduced by previous commit.
7273
7274 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
7275
60240b8b
VS
72762011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7277
7278 Use decompressors framework on i386-pc. It increases core size
7279 by 46 bytes but improves compatibility and maintainability.
7280
7281 * grub-core/Makefile.core.def (lzma_decompress): New image.
7282 (kernel): Add i386_pc_ldflags.
7283 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
7284 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
7285 to real_to_prot, prot_to_real and device info.
7286 * include/grub/offsets.h: Renamed decompressor offsets.
7287 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
7288 (image_target_desc): Remove raw_size and rename decompressor fields.
7289 (compress_kernel): Handle lzma.
7290 (generate_image): Handle decompressors on i386-pc.
7291
e9d3421c
VS
72922011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7293
7294 * configure.ac: Add -fno-asynchronous-unwind-tables.
7295
2b23074a
VS
72962011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7297
7298 Move assembly code to C by using intwrap. It increases core size
7299 by 88 bytes but improves compatibility and maintainability.
7300
7301 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
7302 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
7303 ... here. Translated to C.
7304 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
7305 * grub-core/term/i386/pc/console.c (grub_console_getkey):
7306 ... here. Translated to C.
7307 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
7308 * grub-core/term/i386/pc/console.c (grub_console_getxy):
7309 ... here. Translated to C.
7310 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
7311 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
7312 ... here. Translated to C.
7313 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
7314 * grub-core/term/i386/pc/console.c (grub_console_cls):
7315 ... here. Translated to C.
7316 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
7317 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
7318 ... here. Translated to C.
7319 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
7320 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
7321 Translated to C.
7322 * grub-core/term/i386/pc/console.c (int10_9): New function.
7323 (grub_console_putchar): Likewise.
7324 * include/grub/i386/pc/console.h: Removed the not anymore shared
7325 functions.
7326
678f4b67
VS
73272011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7328
7329 Move grub_chainloader_real_boot out of the kernel.
7330
7331 * grub-core/Makefile.am: Remove machine/loader.h.
7332 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
7333 Removed.
7334 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
7335 variable.
7336 (grub_relocator16_keep_a20_enabled): Likewise.
7337 (grub_relocator16_boot): Fill new variables.
7338 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
7339 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
7340 relocator.
7341 (grub_chainloader_unload): Likewise.
7342 (grub_chainloader_cmd): Likewise.
7343 * include/grub/i386/pc/loader.h: Removed.
7344 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
7345 and esi. All initialisers updated.
7346
4626edf6
VS
73472011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
73482011-11-12 Colin Watson <cjwatson@ubuntu.com>
7349
7350 * Makefile.util.def (grub-mount): New util.
7351 * .bzrignore: Add grub-mount.
7352 * configure.ac: Check for fuse and enable grub-mount if available.
7353 * docs/man/grub-mount.h2m: New file.
7354 * util/grub-mount.c: Likewise.
7355
10f0117b
VS
73562011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7357
7358 * grub-core/commands/efi/fixvideo.c: Gettextize.
7359 * grub-core/commands/hashsum.c: Likewise.
7360 * grub-core/commands/i386/cmostest.c: Likewise.
7361 * grub-core/commands/i386/pc/drivemap.c: Likewise.
7362 * grub-core/commands/i386/pc/lsapm.c: Likewise.
7363 * grub-core/commands/i386/pc/sendkey.c: Likewise.
7364 * grub-core/commands/lsmmap.c: Likewise.
7365 * grub-core/commands/menuentry.c: Likewise.
7366 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
7367 * grub-core/commands/setpci.c: Likewise.
7368 * grub-core/loader/i386/bsd.c: Likewise.
7369 * grub-core/loader/i386/linux.c: Likewise.
7370 * util/getroot.c: Likewise.
7371 * util/grub-editenv.c: Likewise.
7372 * util/grub-fstest.c: Likewise.
7373 * util/grub-mkfont.c: Likewise.
7374 * util/grub-mkimage.c: Likewise.
7375 * util/grub-mkpasswd-pbkdf2.c: Likewise.
7376 * util/grub-pe2elf.c: Likewise.
7377 * util/grub-probe.c: Likewise.
7378 * util/grub-setup.c: Likewise.
7379 * util/ieee1275/ofpath.c: Likewise.
7380 * util/misc.c: Likewise.
7381 * util/raid.c: Likewise.
7382
566f779b
RM
73832011-11-11 Robert Millan <rmh@gnu.org>
7384
7385 * util/getroot.c (grub_util_get_geom_abstraction): Remove
7386 __attribute__((unused)) from `os_dev', which *is* being used.
7387
b50787de
VS
73882011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7389
7390 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
7391 forgotten define.
7392 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
7393 GRUB_IA64_DL_GOT_ALIGN.
7394 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
7395 GRUB_IA64_DL_TRAMP_ALIGN.
7396
119d11c8
VS
73972011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7398
7399 Replace grub_fatal with normal errors in i386 linux loader.
7400
7401 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
7402 (allocate_pages): Check find_efi_mmap_size return value.
7403 (grub_e820_add_region): Return error.
7404 (grub_linux_boot): Check mmap return value.
7405
6e0632e2
VS
74062011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7407
7408 * grub-core/commands/acpihalt.c: Gettextized.
7409 * grub-core/commands/cacheinfo.c: Likewise.
7410 * grub-core/commands/cmp.c: Likewise.
7411 * grub-core/commands/efi/loadbios.c: Likewise.
7412 * grub-core/commands/gptsync.c: Likewise.
7413 * grub-core/commands/ieee1275/suspend.c: Likewise.
7414 * grub-core/commands/legacycfg.c: Likewise.
7415 * grub-core/commands/memrw.c: Likewise.
7416 * grub-core/commands/minicmd.c: Likewise.
7417 * grub-core/commands/parttool.c: Likewise.
7418 * grub-core/commands/time.c: Likewise.
7419 * grub-core/commands/videoinfo.c: Likewise.
7420 * grub-core/disk/geli.c: Likewise.
7421 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
7422 * grub-core/disk/luks.c: Likewise.
7423 * grub-core/disk/lvm.c: Likewise.
7424 * grub-core/font/font_cmd.c: Likewise.
7425 * grub-core/fs/zfs/zfscrypt.c: Likewise.
7426 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7427 * grub-core/gfxmenu/view.c: Likewise.
7428 * grub-core/kern/emu/hostdisk.c: Likewise.
7429 * grub-core/kern/emu/main.c: Likewise.
7430 * grub-core/kern/emu/misc.c: Likewise.
7431 * grub-core/kern/emu/mm.c: Likewise.
7432 * grub-core/kern/mips/arc/init.c: Likewise.
7433 * grub-core/kern/mips/loongson/init.c: Likewise.
7434 * grub-core/kern/partition.c: Likewise.
7435 * grub-core/lib/i386/halt.c: Likewise.
7436 * grub-core/lib/mips/arc/reboot.c: Likewise.
7437 * grub-core/lib/mips/loongson/reboot.c: Likewise.
7438 * grub-core/loader/i386/pc/chainloader.c: Likewise.
7439 * grub-core/loader/i386/xnu.c: Likewise.
7440 * grub-core/loader/multiboot.c: Likewise.
7441 * grub-core/net/bootp.c: Likewise.
7442 * grub-core/net/net.c: Likewise.
7443 * grub-core/normal/term.c: Likewise.
7444 * grub-core/partmap/bsdlabel.c: Likewise.
7445 * grub-core/parttool/msdospart.c: Likewise.
7446 * grub-core/term/gfxterm.c: Likewise.
7447 * grub-core/term/terminfo.c: Likewise.
7448 * grub-core/video/i386/pc/vbe.c: Likewise.
7449 * util/grub-menulst2cfg.c: Likewise.
7450 * util/grub-mkdevicemap.c: Likewise.
7451 * util/grub-mklayout.c: Likewise.
7452 * util/grub-mkrelpath.c: Likewise.
7453 * util/grub-script-check.c: Likewise.
7454 * util/ieee1275/grub-ofpathname.c: Likewise.
7455 * util/resolve.c: Likewise.
7456
073aa7a9
VS
74572011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7458
7459 Support %1$d syntax.
7460
7461 * tests/printf_unit_test.c: New file.
7462 * Makefile.util.def (printf_test): New test.
7463 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
7464
c76b5417
VS
74652011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7466
7467 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
7468 fix.
7469
df067ad1
VS
74702011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7471
7472 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
7473 dprintf.
7474 * grub-core/font/font.c (grub_font_load): Likewise.
7475
5b289bc5
VS
74762011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7477
7478 * util/grub-macho2img.c: Add comment concerning gettext.
7479 * grub-core/lib/legacy_parse.c: Likewise.
7480
c1860f87
VS
74812011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7482
7483 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
7484 (grub_xvasprintf): Likewise.
7485
d35d0d37
VS
74862011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7487
7488 Add const keyword to grub_env_get and gettextize week days.
7489
7490 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
7491 (grub_read_hook_datetime): Return const char *.
7492 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
7493 updated.
7494 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
7495 Mark for gettext.
7496 (grub_get_weekday_name): Return const char *. Call gettext.
7497 * grub-core/script/argv.c (grub_script_argv_append): Receive const
7498 char * and len as the argument. All users updated.
7499 (grub_script_argv_split_append): Receive const char *.
7500 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
7501 * include/grub/env.h (grub_env_get): Likewise.
7502 (grub_env_read_hook_t): Return const char *.
7503 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
7504 (grub_script_argv_split_append): Likewise.
7505
9aed8a71
VS
75062011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7507
7508 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
7509
067fdf00
VS
75102011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7511
7512 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
7513 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
7514
a8bd9d39
VS
75152011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7516
7517 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
7518 Fix prototype.
7519
f7ce5baf
VS
75202011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7521
7522 Fix mips compilation.
7523
7524 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
7525 normal decoder.
7526 (hashes): Use in embed decoder as well (for sizes).
7527 (dec_stream_header): Fix embed decompressor logic.
7528 (dec_stream_footer): Likewise.
7529
9bb182f3
VS
75302011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7531
7532 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
7533 an error and not a fatal on unrecognised relocation types.
7534
63a9e6f6
VS
75352011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7536
7537 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
7538 Issue error rather than printf on unknown arguments.
7539
4c458569
VS
75402011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7541
7542 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
7543 Make buf a const.
7544
e2d22baf
VS
75452011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7546
7547 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
7548 Fix module name.
7549
53dc8590
VS
75502011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7551
7552 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
7553 leftover debug printf.
7554
6c189294
VS
75552011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7556
7557 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
7558
f7688369
VS
75592011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7560
7561 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
7562 A stylistic fix.
7563
11a775a3
VS
75642011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7565
7566 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
7567
33f784e8
SL
75682011-11-10 Shea Levy <slevy@tieronedesign.com>
7569
7570 Allow all modules to perform serial IO
7571
7572 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
7573 * include/grub/serial.h (grub_serial_port_configure): New inline
7574 function.
7575 (grub_serial_port_fetch): Likewise.
7576 (grub_serial_port_put): Likewise.
7577 (grub_serial_port_fini): Likewise.
7578 (grub_serial_find): New proto.
7579
f6276525
VS
75802011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7581
7582 Put symlink at the end of the node and fix a potential
7583 memory corruption.
7584
7585 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
7586 Make symlink into an array.
7587 (set_rockridge): Set have_symlink and alloc_dirents.
7588 (grub_iso9660_read_symlink): Use new layout.
7589 (grub_iso9660_iterate_dir): Fix memory corruption.
7590 Use new layout.
7591 (grub_iso9660_dir): Set have_symlink.
7592 (grub_iso9660_open): Likewise.
7593
c3591189
VS
75942011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7595
7596 Remove local keyword.
7597
7598 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
7599 (version_test_gt): Likewise.
7600 (version_find_latest): Likewise.
7601 (gettext_printf): Likewise.
7602 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
7603
cb544caa
VS
76042011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7605
7606 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
7607
45bd824d
VS
76082011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7609
7610 Fix ZFS memory and resource leaks.
7611
7612 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
7613 All users updated.
7614 Free type on exit.
7615 (fill_vdev_info): New parameter inserted. All users updated.
7616 (check_pool_label): Likewise.
7617 (scan_disk): Likewise.
7618 (scan_devices): Close non-inserted disks.
7619 (fzap_iterate): Free l.
7620 (unmount_device): Free children descripto memory.
7621
ad9a2f44
VS
76222011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7623
7624 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
7625 argument (access out of bounds).
7626
6b68db81
VS
76272011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7628
7629 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
7630 >= 6 drives.
7631
28840fda
VS
76322011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7633
7634 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
7635 Fix declaration.
7636
8a5a3a5b
VS
76372011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7638
7639 Fix several memory leaks.
7640
7641 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
7642 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
7643 (grub_cpio_dir): Likewise.
7644 * grub-core/fs/fat.c (grub_fat_label): Likewise.
7645 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
7646 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
7647 (grub_romfs_label): Likewise.
7648 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
7649 (squash_unmount): New function.
7650 (grub_squash_dir): Fix memory leak.
7651 (grub_squash_open): Likewise.
7652 (grub_squash_read): Likewise.
7653 (grub_squash_mtime): Likewise.
7654 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
7655 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
7656 * util/grub-fstest.c (fstest): Likewise.
7657
57b01250
VS
76582011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7659
7660 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
7661 avoid accessing beyond the array.
7662
19e81ba7
VS
76632011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7664
7665 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
7666
52b656c0
VS
76672011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7668
7669 Several AFFS fixes.
7670
7671 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
7672 (GRUB_AFFS_FLAG_FFS): Removed.
7673 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
7674 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
7675 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
7676 (grub_fshelp_node): Make block 32-bit.
7677 Add block_cache and last_block_cache.
7678 (grub_affs_read_block): Fill and use block cache.
7679 (grub_affs_read_file): Removed.
7680 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
7681 boot block.
7682 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
7683 safety.
7684 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
7685 space.
7686 (grub_affs_close): Free block cache.
7687 (grub_affs_read): Use grub_fshelp_read_file directly.
7688
438a746a
VS
76892011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7690
7691 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
7692 with no error set.
7693
49a45021
VS
76942011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7695
7696 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
7697 used variable.
7698 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
7699 Likewise.
7700
3ae17eb8
VS
77012011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7702
7703 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
7704
7705 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
7706 byteswap when needed.
7707
27610c38
VS
77082011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7709
7710 Fix FreeBSD compilation.
7711
7712 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
7713 to avoid circular dependency.
7714 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
7715 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
7716 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
7717
4a19b601
VS
77182011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7719
7720 Fix ZFS crypto error types.
7721
7722 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
7723 (grub_gcm_decrypt): Likewise.
7724 (grub_zfs_load_key_real): Fix error code type. Handle possible error
7725 from PBKDF2.
7726
958ee221
VS
77272011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7728
7729 Illumos support.
7730
7731 * Makefile.util.def (10_illumos): New script.
7732 * configure.ac: Set COND_HOST_ILLUMOS.
7733 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
7734 Support Illumos calls.
7735 (find_partition_start) [__sun__]: Likewise.
7736 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
7737 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
7738 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
7739 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
7740 device.
7741 * util/grub-probe.c (probe) [__sun__]: Do character check.
7742 * util/grub.d/10_illumos.in: New file.
7743
cac14fb6
VS
77442011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7745
7746 Support escaped commas in hostdisk.
7747
7748 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
7749 (find_grub_drive): Use unescape_cmp.
7750 (make_device_name): Escape commas.
7751
78e08dc3
VS
77522011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7753
7754 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
7755
9f421dd1
VS
77562011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7757
7758 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
7759 variable.
7760
ed64e9e2
VS
77612011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7762
7763 Support trampoline jumps on powerpc.
7764
7765 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
7766 __ia64__ path.
7767 (grub_dl_load_segments): Set mod->sz.
7768 (grub_dl_flush_cache): Flush whole space occupied by module, not just
7769 segments.
7770 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
7771 (jump): Likewise.
7772 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
7773 function.
7774 (trampoline): New struct.
7775 (trampoline_template): New const.
7776 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
7777 * include/grub/dl.h (grub_dl): Add sz element.
7778 [__powerpc__]: Follow __ia64__.
7779 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
7780 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
7781 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
7782 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
7783
3084ede4
VS
77842011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7785
7786 ZFS crypto support.
7787
7788 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
7789 * grub-core/Makefile.core.def (zfscrypt): New module.
7790 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
7791 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
7792 it. All users updated.
7793 (grub_zfs_decrypt): New var.
7794 (grub_zfs_load_key): Likewise.
7795 (zio_checksum_functions): Add SHA256+MAC.
7796 (zio_checksum_verify): Handle incomplete comparison due to MAC.
7797 (zio_read): Handle encrypted blocks.
7798 (zap_verify): Remove incorrect check.
7799 (fzap_iterate): Handle non-standard fzap.
7800 (zap_iterate): Likewise.
7801 (zap_iterate_u64): New function.
7802 (dnode_get_fullpath): Load keys.
7803 * grub-core/fs/zfs/zfscrypt.c: New file.
7804 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
7805 (grub_crypto_ecb_encrypt): Make input const.
7806 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
7807 (grub_crypto_ecb_encrypt): Make input const.
7808 (GRUB_CIPHER_AES): New macro.
7809 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
7810 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
7811 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
7812 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
7813 prefix. All users updated.
7814 (grub_zfs_add_key): New proto.
7815 (grub_zfs_decrypt): Likewise.
7816 (grub_zfs_load_key): Likewise.
7817 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
7818 * util/grub-fstest.c (options): Add -K option.
7819 (argp_parser): Likewise.
7820
b632b404
VS
78212011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
7822
7823 Support zle compression on ZFS.
7824
7825 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
7826 (decomp_table): Add zle.
7827 * include/grub/zfs/zio.h (zio_compress): Add zle.
7828
c7ba4f69
VS
78292011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
7830
7831 Support BtrFS embedding.
7832
7833 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
7834 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
7835 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
7836 * util/grub-setup.c (setup): Use fs embedding if available.
7837 Add additional sanity check.
7838
455377d9
VS
78392011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
7840
7841 * util/grub-install.in: Fix condition for config_opt.
7842
c2fd16ca
VS
78432011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7844
7845 Support third redundancy strip on raidz3.
7846
7847 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
7848 Return error on singularity. All users updated.
7849 (read_device): Don't stop on 3rd failure on raidz3.
7850
8622923b
VS
78512011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7852
7853 Support case-insensitive ZFS subvolumes.
7854
7855 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
7856 All users updated.
7857 (zap_hash): Likewise.
7858 (name_cmp): New function.
7859 (zap_leaf_array_equal): New parameter case_insensitive.
7860 All users updated.
7861 (zap_leaf_lookup): Likewise.
7862 (fzap_lookup): Likewise.
7863 (zap_lookup): Likewise.
7864 (dnode_get_path): New parameter case_insensitive. Retrieve case
7865 sensitiviness of a volume. All users updated.
7866 (dnode_get_fullpath): New parameter case_insensitive.
7867 All users updated.
7868 (grub_zfs_dir): Set info.case_insensitiveness.
7869
95f2e860
VS
78702011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7871
7872 Support second redundancy strip on raidz(2,3).
7873
7874 * grub-core/fs/zfs/zfs.c (powx): New array.
7875 (powx_inv): Likewise.
7876 (poly): New const.
7877 (xor_out): New function.
7878 (gf_mul): Likewise.
7879 (recovery): Likewise.
7880 (read_device): Use second redundancy strip.
7881
11ee4389
VS
78822011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7883
7884 Use a power of generator representation of GF(256) multiplication group
7885 to save space time and complexity.
7886
7887 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
7888 (raid6_table2): Likewise.
7889 (powx): New array.
7890 (powx_inv): Likewise.
7891 (poly): New const.
7892 (grub_raid_block_mul): Replace with ...
7893 (grub_raid_block_mulx): ...this.
7894 (grub_raid6_init_table): Rewritten.
7895 (grub_raid6_recover): Use power of generator representation.
7896
09e2763f
VS
78972011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7898
7899 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
7900 for the right device.
7901
8bec9a28
VS
79022011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7903
7904 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
7905 expected by grub-mkimage and it's more clear since there is no implicit
7906 padding.
7907
dbd3a32e
VS
79082011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7909
7910 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
7911 disk.
7912 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
7913
182c872a
PMH
79142011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
7915
7916 * util/grub-mkrescue.in: Fix handling xorriso option.
7917
1e51cabd
VS
79182011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7919
7920 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
7921 NULL.
7922
9cc3581d 79232011-11-03 crocket <crockabiscuit@gmail.com>
7924
7925 * util/grub.d/10_linux.in: Add Slackware initrd naming.
7926
158dc1ea
VS
79272011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7928
7929 XZ CRC64 and SHA256 support.
7930
7931 * Makefile.util.def (libgrubmods): Add crc64.c.
7932 * grub-core/Makefile.core.def (crc64): New module.
7933 * grub-core/lib/crc64.c: New file.
7934 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
7935 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
7936 Fix the type.
7937 (MAX_HASH_SIZE): New define.
7938 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
7939 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
7940 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
7941 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
7942 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
7943 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
7944 Handle non-crc32 hashes.
7945 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
7946 (dec_stream_header): Handle non-crc32 hashes.
7947 (dec_stream_footer): Likewise.
7948 (dec_block_header): Likewise.
7949 (dec_main): Likewise.
7950 (xz_dec_init): Likewise.
7951 (xz_dec_reset): Likewise.
7952 (xz_dec_end): Likewise.
7953 * util/import_gcry.py: Add CRC64 line.
7954
9d9b3d2f
VS
79552011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7956
7957 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
7958 as well.
7959
7d0ac931
VS
79602011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7961
7962 Make reiserfs label retrieval similar to other *_label functions.
7963
7964 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
7965 (REISERFS_MAX_LABEL_LENGTH): Removed.
7966 (REISERFS_LABEL_OFFSET): Likewise.
7967 (grub_reiserfs_label): Rewritten.
7968
79692011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7970
7971 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
7972 field.
7973
cf5ba824
VS
79742011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7975
7976 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
7977
17744004
VS
79782011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
7979
7980 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
7981 drive failure on both raidz and raidz2.
7982
aca5aefc
VS
79832011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
7984
7985 Fix RAIDZ(2) for >= 5 devices.
7986
7987 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
7988 asize argument. All users updated.
7989
ce8ca56e
VS
79902011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7991
7992 Fix RAIDZ(2).
7993
7994 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
7995 (fill_vdev_info_real): Set ashift.
7996 (read_device): Rewrite RAIDZ part based on reverse engineering.
7997
7c01e783
VS
79982011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
7999
8000 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
8001 don't report potentially unavialiable fields in debug output.
8002 (find_path): Fix double-free and memory leak.
8003
ce109e84
VS
80042011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8005
8006 Read label on UFS1.
8007
8008 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
8009 (grub_ufs_fs): Always set .label.
8010
87661123
VS
80112011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8012
8013 Use shifts in UFS.
8014
8015 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
8016 (grub_ufs_data): New field log2_blksz.
8017 (grub_ufs_read_file): Use shifts.
8018 (grub_ufs_mount): Check block size and logarithm it.
8019
46bc1dc2
VS
80202011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8021
8022 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
8023 long symlinks.
8024
19ee2987
VS
80252011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8026
8027 Handle symlinks and long names on tar and cpio.
8028
8029 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
8030 (ATTR_FILE): Likewise.
8031 (ATTR_DIR): Likewise.
8032 (ATTR_LNK): Likewise.
8033 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
8034 (grub_cpio_find_file): Fill mode, handle linkname field as well as
8035 L and K entries.
8036 (grub_cpio_mount): Zero-fill data.
8037 (handle_symlink): New function.
46bc1dc2
VS
8038 (grub_cpio_dir): Handle symlinks.
8039 (grub_cpio_open): Likewise.
8040 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 8041
c83a08d8
VS
80422011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8043
8044 Fix iso9660 filename limitations and fix memory leaks.
8045
8046 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
8047 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
8048
45cdd3ea
VS
80492011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8050
8051 Fix JFS file name length limitations.
8052
8053 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
8054 (grub_jfs_diropen): Fix maximum filename length.
8055 (grub_jfs_getent): Fix filename length.
8056 (grub_jfs_lookup_symlink): Fix size checks.
8057
94ef05c2
VS
80582011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8059
8060 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
8061 string.
8062
785ab8c7
VS
80632011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8064
eb0b6b45
VS
8065 Leverage BFS implementation to read AFS.
8066
8067 * Makefile.util.def (libgrubmods): Add afs.c.
8068 * grub-core/Makefile.core.def (afs): New module
8069 * grub-core/fs/afs.c: New file.
8070 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
8071
80722011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8073
8074 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 8075
c4a1628f
VS
80762011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8077
8078 * grub-core/fs/bfs.c: Run indent.
8079
5825b379
VS
80802011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8081
8082 BFS implementation based on the specification.
8083
8084 * grub-core/fs/bfs.c: New file.
8085 * Makefile.util.def (libgrubmods): Add bfs.c.
8086 * grub-core/Makefile.core.def (bfs): New module.
8087
42b2a706
VS
80882011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8089
8090 * util/grub-fstest.c (cmd_cp): Clarify error message.
8091 (cmd_cmp): Likewise.
8092
61b99bfc
YB
80932011-10-30 Yves Blusseau <blusseau@zetam.org>
8094
8095 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
8096 and befs_be.
8097
faba3d16
VS
80982011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
8099
8100 Remove afs and befs because of copyright problem.
8101
8102 * grub-core/fs/afs.c: Removed.
8103 * grub-core/fs/afs_be.c: Removed.
8104 * grub-core/fs/befs.c: Removed.
8105 * grub-core/fs/befs_be.c: Removed.
8106 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
8107 * grub-core/Makefile.core.def (afs): Removed.
8108 (afs_be): Likewise.
8109 (befs): Likewise.
8110 (befs_be): Likewise.
8111
c39224b0
VS
81122011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8113
8114 Prefer rockridge over Joliet.
8115
8116 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
8117 to ...
8118 (set_rockridge): ... here.
8119 (grub_iso9660_mount): Check rockridge on the primary label when
8120 discovering. Ignore Joliet if Rockridge is present.
8121
e551115a
VS
81222011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8123
8124 Use shifts in nilfs2.
8125
8126 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
8127 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
8128 (grub_nilfs2_palloc_entries_per_group): Replace with ...
8129 (grub_nilfs2_log_palloc_entries_per_group): ... this.
8130 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
8131 (grub_nilfs2_entries_per_block): Replaced with ...
8132 (grub_nilfs2_log_entries_per_block_log): ... this.
8133 (grub_nilfs2_blocks_per_group): Replaced with ...
8134 (grub_nilfs2_blocks_per_group_log): ... this.
8135 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
8136 (grub_nilfs2_blocks_per_desc_block_log): ... this.
8137 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
8138 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
8139 (grub_nilfs2_palloc_entry_offset): Replaced ...
8140 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
8141 (grub_nilfs2_dat_translate): Use shifts.
8142 (grub_nilfs2_read_inode): Likewise.
8143 (GRUB_MOD_INIT): Ensure that logs are correct.
8144
564dd58c
VS
81452011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8146
8147 Use shifts in minix filesystem.
8148
8149 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
8150 (GRUB_MINIX_ZONE2SECT): Likewise.
8151 (grub_minix_data): Replace block_size with log_block_size.
8152 (grub_minix_read_file): Use shifts.
8153 (grub_minix_mount): Check block size and take a logarithm.
8154
ed9ba06d
VS
81552011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8156
8157 Use shifts in squash4.
8158
8159 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
8160 (squash_mount): Check block size and take logarithm.
8161 (direct_read): Use shifts.
8162
ad03fe76
VS
81632011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8164
8165 Correct befs block counting logic.
8166
8167 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
8168 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
8169 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
8170 (grub_afs_read_inode): Use block_shift.
8171 (RANGE_SHIFT): New definition.
8172 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
8173 unexpected conditions, use shifts and appropriate types.
8174 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
8175
6563f63d
VS
81762011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8177
8178 * grub-core/disk/raid.c (scan_devices): Check partition.
8179 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
8180
5b1ae25f
VS
81812011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
8182
8183 Support BFS (befs) UUID.
8184
8185 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
8186 (grub_afs_small_data_element_header): New struct.
8187 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
8188 (grub_afs_read_attribute) [MODE_BFS]: New function.
8189 (grub_afs_iterate_dir): Allocate for complete inode.
8190 (grub_afs_mount): Likewise.
8191 (grub_afs_uuid) [MODE_BFS]: New function.
8192 (grub_afs_fs) [MODE_BFS]: Add .uuid.
8193
f8d82408
VS
81942011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
8195
8196 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
8197 (zfs_unmount): Fix memory leak.
8198
5773fb64
VS
81992011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8200
8201 Support NTFS reparse points.
8202
8203 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
8204 (symlink_descriptor): New struct.
8205 (grub_ntfs_read_symlink): New function.
8206 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
8207 (grub_ntfs_open): Likewise.
8208
91c3fdde
VS
82092011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8210
8211 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
8212
3be82e10
VS
82132011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8214
8215 fstest xnu_uuid subcommand.
8216
8217 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
8218 grub-core/commands/xnu_uuid.c.
8219 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
8220 (fstest): Handle xnu_uuid.
8221 (options): Document xnu_uuid.
8222 (argp_parser): Parse xnu_uuid.
8223
8e32442e
VS
82242011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8225
8226 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
8227 -l argument. Add newline at the end if printing.
8228 (GRUB_MOD_INIT): Document -l.
8229
52a05075
VS
82302011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8231
8232 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
8233
1869edb5
VS
82342011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8235
8236 ZFS multi-device and version 33 support.
8237
8238 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
8239 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
8240 (grub_zfs_data): Add multidev-ice-related fields.
8241 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
8242 (dva_get_offset): Make dva const.
8243 (zfs_fetch_nvlist): New function.
8244 (fill_vdev_info_real): Likewise.
8245 (fill_vdev_info): Likewise.
8246 (check_pool_label): Likewise.
8247 (scan_disk): Likewise.
8248 (scan_devices): Likewise.
8249 (read_device): Likewise.
8250 (read_dva): Likewise.
8251 (zio_read_gang): Use read_dva.
8252 (zio_read_data): Likewise.
8253 (zap_leaf_lookup): Add missing endian conversion.
8254 (zap_verify): Add missing endian conversion. All users updated.
8255 (fzap_lookup): Likewise.
8256 (fzap_iterate): Likewise.
8257 (dnode_get_path): Handle SA bonus.
8258 (nvlist_find_value): Make input const. All users updated.
8259 (unmount_device): New function.
8260 (zfs_unmount): Use unmount_device.
8261 (zfs_mount): Use scan_disk.
8262 (zfs_mtime): New function.
8263 (grub_zfs_open): Handle system attributes.
8264 (fill_fs_info): Likewise.
8265 (grub_zfs_dir): Likewise.
8266 (grub_zfs_fs): Add mtime.
8267 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
8268 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
8269 (SA_MTIME_OFFSET): Likewise.
8270 (SA_SYMLINK_OFFSET): Likewise.
8271 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
8272 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
8273 (fstest): Support zfsinfo.
8274 (argp_parser): Likewise.
8275
186b4028
VS
82762011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8277
8278 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
8279 error.
8280
82812011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
8282
8283 ZFS fixes.
8284
8285 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
8286 sharing the same block. Iterate over correct number of indices.
8287 (dnode_get_path): Handle symlinks correctly.
8288
c0584900
VS
82892011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8290
8291 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
8292
67e2bd71
VS
82932011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8294
8295 Read label on HFS+.
8296
8297 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
8298 (grub_hfsplus_btree_search): Fix types.
8299 (grub_hfsplus_label): Implement.
8300
e9cc6b7b
VS
83012011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8302
8303 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
8304
19832ddb
VS
83052011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8306
8307 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
8308
66b40850
VS
83092011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8310
8311 Fix symlink handling on iso9660.
8312
8313 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
8314 All users updated.
8315 (grub_iso9660_susp_iterate): Accept zero-size iterate.
8316 (grub_iso9660_read_symlink): Moved most of code ...
8317 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
8318
db821363
VS
83192011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8320
8321 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
8322 Use union to avoid breaking strict-aliasing rules.
8323
e1211949
VS
83242011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8325
8326 Support multi-extent iso files.
8327
8328 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
8329 Add node.
8330 (grub_fshelp_node): Revamp. All users updated.
8331 (FLAG_*): New enum.
8332 (read_node): New function.
8333 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
8334 All users updated.
8335 (grub_iso9660_mount): Don't attempt to read sua when there is none.
8336 (get_node_size): New function.
8337 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
8338 entries.
8339 Fix memory leak on . and ..
8340 (grub_iso9660_read): Use read_node.
8341 (grub_iso9660_close): Free node.
8342
d4888031
VS
83432011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8344
8345 Fix tar 4G limit and handle paths containing dot.
8346
8347 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
8348 (canonicalize): New function.
8349 (grub_cpio_find_file): Use canonicalize. Store offs in
8350 grub_disk_addr_t.
8351 (grub_cpio_dir): Use grub_disk_addr_t.
8352 (grub_cpio_open): Likewise.
8353
9f12e664
VS
83542011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8355
8356 Fix handling of uncompressed blocks on squashfs and break 4G limit.
8357
8358 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
8359 unused flags.
8360 (grub_squash_inode): Add long_file and block_size.
8361 (grub_squash_cache_inode): New struct.
8362 (grub_squash_dirent): Make types into enum.
8363 (SQUASH_TYPE_LONG_REGULAR): New type.
8364 (grub_squash_frag_desc): Add field size.
8365 (SQUASH_BLOCK_FLAGS): New enum.
8366 (grub_squash_data): Use grub_squash_cache_inode.
8367 (grub_fshelp_node): Make ino_chunk 64-bit.
8368 (read_chunk): Minor argument change. All users updated.
8369 (squash_mount): Use correct le_to_cpu.
8370 (grub_squash_open): Handle LONG_REGULAR.
8371 (direct_read): New function.
8372 (grub_squash_read_data): Handle blocks correctly.
8373
9f326fba
VS
83742011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8375
8376 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
8377
f4d9b64b
VS
83782011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8379
8380 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
8381
5bbd28b8
VS
83822011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8383
8384 Fix 2G limit on ZFS.
8385
8386 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
8387 types.
8388 (uberblock_verify): Likewise.
8389 (dmu_read): Likewise.
8390 (grub_zfs_read): Likewise. Remove invalid cast.
8391
68c72069
VS
83922011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8393
8394 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
8395 (grub_jfs_blkno): Fix incorrect shift.
8396 (grub_jfs_read_file): Use more appropriate types.
8397
6e536dc8
VS
83982011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8399
8400 Support triple indirect on minix2 and minix3.
8401
8402 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
8403 Declare triple_indir_zone.
8404 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
8405 indirect.
8406
e0864e7a
VS
84072011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8408
8409 Minix FS fixes.
8410
8411 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
8412 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
8413 Rename ctime to mtime. All users updated.
8414 (grub_minix_get_file_block): Fix types and double indirect computations.
8415
89481cab
VS
84162011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8417
8418 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
8419 if no label is found.
8420 (grub_fat_iterate_dir): Fix file size type.
8421 (grub_fat_iterate_dir): Likewise.
8422
f646e143
VS
84232011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8424
8425 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
8426 save some space.
8427 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
8428 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
8429
534d769e
VS
84302011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8431
8432 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
8433
e084ba18
VS
84342011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8435
8436 * util/import_gcry.py: Accept space between # and include.
8437
3471ecdf
VS
84382011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8439
8440 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
8441
124df5f6
VS
84422011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8443
8444 Fine grainely disable warnings on lexer. Remove Wno-error on it.
8445
8446 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
8447 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
8448 yylex_strncpy.
8449 * grub-core/script/yylex.l: Add fine-grained #pragma.
8450
4defb8d5
VS
84512011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8452
8453 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
8454 New inline function.
8455 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
8456 Likewise.
8457 (memset) [GRUB_UTIL]: Likewise.
8458 (memcmp) [GRUB_UTIL]: Likewise.
8459
4e94ae65
VS
84602011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8461
8462 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
8463 inline function rather than a define.
8464
18c575e5
VS
84652011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8466
8467 * util/grub-setup.c: Add missing include.
8468
f8bc22a8
VS
84692011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8470
8471 * util/ieee1275/grub-ofpathname.c: Add missing include.
8472
3ce69fc9
VS
84732011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8474
8475 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
8476 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
8477 Likewise.
8478
d1e293bb
VS
84792011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8480
8481 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
8482 grub_memcmp usage.
8483
7a5c54a4
VS
84842011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8485
8486 * util/grub-install.in: Add datarootdir as per automake manual
8487 suggestion.
8488 * util/grub-mknetdir.in: Likewise.
8489
84902011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
8491
8492 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
8493 suggestion.
8494 * util/grub.d/10_kfreebsd.in: Likewise.
8495 * util/grub.d/10_linux.in: Likewise.
8496 * util/grub.d/10_netbsd.in: Likewise.
8497 * util/grub.d/10_windows.in: Likewise.
8498 * util/grub.d/20_linux_xen.in: Likewise.
8499
766f7d08
VS
85002011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
8501
8502 Remove redundant grub_kernel_image_size.
8503
8504 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
8505 _edata and _start.
8506 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
8507 the small code. It moves it only by few bytes but simplifies the code.
8508 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
8509 _start.
8510 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
8511 (grub_kernel_image_size): Removed.
8512 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
8513 (grub_kernel_image_size): Removed.
8514 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
8515 compiled with Apple toolchain.
8516 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
8517 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
8518 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
8519 (grub_total_module_size): Likewise.
8520 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
8521 Removed.
8522 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
8523 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
8524 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
8525 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
8526 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
8527 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
8528 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
8529 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
8530 Removed.
8531 (grub_total_module_size): Removed.
8532 * util/grub-mkimage.c (image_target_desc): Remove image_size.
8533 (image_targets): Likewise.
8534 Set .compressed_size to no field on sparc.
8535 (generate_image): Remove kernel_image_size handling.
8536
fcf1d672
SJ
85372011-10-19 Szymon Janc <szymon@janc.net.pl>
8538
8539 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
8540 NULL pointer dereference.
8541
de9c615e
VS
85422011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8543
8544 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
8545 done with a dedicated section.
8546
8547 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
8548 Ensure the correct position of boot_path.
8549 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
8550 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
8551 other fields.
8552 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
8553 * include/grub/boot.h: Removed. All references removed.
8554 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
8555 Removed.
8556 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
8557
e55599dc
VS
85582011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8559
8560 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
8561 name.
8562
36dd20ad
VS
85632011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8564
8565 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
8566
f8f72eb8
VS
85672011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8568
8569 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
8570 Don't add the bogus brackets.
8571
a374751b
VS
85722011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8573
8574 ExFAT support.
8575
8576 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
8577 * grub-core/Makefile.core.def (exfat): New module.
8578 * grub-core/fs/exfat.c: New file.
8579 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
8580 (GRUB_FAT_ATTR_*): Make into an enum.
8581 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
8582 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
8583 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
8584 (GRUB_FAT_MAXFILE): Removed.
8585 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
8586 (grub_current_fat_bpb_t): New type.
8587 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
8588 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
8589 (grub_fat_dir_node_t): New type.
8590 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
8591 (fat_log2) [MODE_EXFAT]: Removed.
8592 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
8593 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
8594 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
8595 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
8596 (grub_fat_label) [MODE_EXFAT]: New function.
8597 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
8598 reserved_first_sector to 0.
8599
544c2487
VS
86002011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8601
8602 Move grub_reboot out of the kernel.
8603
8604 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
8605 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
8606 * grub-core/lib/efi/reboot.c: ... here.
8607 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
8608 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
8609 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
8610 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
8611 * grub-core/lib/i386/reboot_trampoline.S: ... here.
8612 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
8613 * grub-core/lib/ieee1275/reboot.c: ... here.
8614 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
8615 * grub-core/lib/mips/arc/reboot.c: ... here.
8616 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
8617 * grub-core/lib/mips/loongson/reboot.c: ...here.
8618 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
8619 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
8620 * include/grub/emu/misc.h (grub_reboot): New function declaration.
8621 * include/grub/i386/reboot.h: New file.
8622 * include/grub/mips/loongson/ec.h: Fix includes.
8623 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
8624 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
8625 * grub-core/lib/i386/reboot.c: New file.
8626
a97501d2
VS
86272011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
8628
8629 Make grub_prefix into module to fix the arbitrary limit and save
8630 some space.
8631
8632 * grub-core/kern/emu/main.c (grub_prefix): Removed.
8633 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
8634 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
8635 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
8636 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
8637 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
8638 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
8639 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
8640 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
8641 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
8642 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
8643 * include/grub/ia64/efi/kernel.h: Removed.
8644 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
8645 (grub_prefix): Removed.
8646 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
8647 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
8648 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
8649 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
8650 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
8651 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
8652 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
8653 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
8654 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
8655 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
8656 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
8657 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
8658 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
8659 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
8660 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
8661 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
8662 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
8663 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
8664 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
8665 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
8666 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
8667 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
8668 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
8669 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
8670 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
8671 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
8672 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
8673 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
8674 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
8675 from module.
8676 * util/grub-mkimage.c (image_target_desc): Removed prefix and
8677 prefix_end.
8678 (image_targets): Likewise.
8679 (generate_image): Put prefix as a module.
8680
39705fad
VS
86812011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8682
8683 Replace grub_module_iterate with FOR_MODULES.
8684
8685 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
8686 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
8687 (grub_efi_modules_addr): ...this.
8688 * grub-core/kern/efi/init.c (grub_modbase): New variable.
8689 (grub_efi_init): Set grub_modbase.
8690 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
8691 (grub_modbase): New variable.
8692 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
8693 (grub_modbase): New variable.
8694 (grub_machine_init): Set grub_modbase.
8695 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
8696 (grub_modbase): New variable.
8697 (grub_machine_init): Set grub_modbase.
8698 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
8699 (grub_modbase): New variable.
8700 (grub_machine_init): Set grub_modbase.
8701 * grub-core/kern/main.c (grub_module_iterate): Remove.
8702 (grub_modules_get_end): Use grub_modbase.
8703 (grub_load_modules): Use FOR_MODULES.
8704 (grub_load_config): Likewise.
8705 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
8706 (grub_modbase): New variable.
8707 (grub_machine_init): Set grub_modbase.
8708 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
8709 (grub_modbase): New variable.
8710 (grub_machine_init): Set grub_modbase.
8711 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
8712 Removed.
8713 (grub_modbase): New variable.
8714 (grub_machine_init): Set grub_modbase.
8715 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
8716 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
8717 (grub_module_iterate): Likewise.
8718 (grub_modbase): New variable declaration.
8719 (FOR_MODULES): New macro.
8720
2afb7f6c
VS
87212011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8722
8723 * configure.ac: Check for __ctzdi2 and __ctzsi2.
8724 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
8725
366e34fa
VS
87262011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8727
8728 Fix few obvious type discrepancies.
8729
8730 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
8731 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
8732 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
8733 variable.
8734 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
8735 and connected types.
8736 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
8737 offset.
8738 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
8739 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
8740 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
8741 and connected types.
8742
177b960e
VS
87432011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8744
8745 Fix python 3.x incompatibilities.
8746
8747 * gentpl.py: Put brackets around print strings.
8748 * util/import_gcry.py: Open explicitly as utf-8.
8749 Use in instead of has_key.
8750
3b619ae1
VS
87512011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8752
8753 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
8754 (GRUB_XFS_INO_AGBITS): Make into inline function.
8755 (GRUB_XFS_INO_INOINAG): Likewise.
8756 (GRUB_XFS_INO_AG): Likewise.
8757 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
8758 (GRUB_XFS_EXTENT_OFFSET): Likewise.
8759 (GRUB_XFS_EXTENT_BLOCK): Likewise.
8760 (GRUB_XFS_EXTENT_SIZE): Likewise.
8761 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
8762 (GRUB_XFS_NEXT_DIRENT): Likewise.
8763 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
8764 (grub_xfs_read_file): Fix offset type.
8765
8bcebcb8
RM
87662011-10-15 Robert Millan <rmh@gnu.org>
8767
8768 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
8769
0017e5ef
RM
87702011-10-15 Robert Millan <rmh@gnu.org>
8771
8772 Fix build problem on FreeBSD and GNU/kFreeBSD.
8773
8774 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
8775
d8919552
VS
87762011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8777
8778 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
8779
8780 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
8781 types.
8782 (grub_hfsplus_btree_recoffset): Likewise.
8783 (grub_hfsplus_btree_recptr): Likewise.
8784 (grub_hfsplus_find_block): Likewise.
8785 (grub_hfsplus_btree_search): Likewise.
8786 (grub_hfsplus_read_block): Likewise.
8787 (grub_hfsplus_read_file): Likewise.
8788 (grub_hfsplus_mount): Likewise.
8789 (grub_hfsplus_btree_iterate_node): Likewise.
8790 (grub_hfsplus_btree_search): Likewise.
8791 (grub_hfsplus_iterate_dir): Likewise.
8792 (grub_hfsplus_read): A small code simplification.
8793
c81296b6
VS
87942011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8795
8796 * grub-core/kern/emu/hostdisk.c
8797 (convert_system_partition_to_system_disk): Don't assume that children
8798 of mapper nodes are mapper nodes.
8799
0eb8ffb1
VS
88002011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8801
8802 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
8803 * include/grub/misc.h (grub_isxdigit): New function.
8804 * grub-core/video/colors.c (my_isxdigit): Removed. All users
8805 switched to grub_isxdigit.
8806 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
8807 number starting with a letter.
8808
a98f4a08
RM
88092011-10-09 Robert Millan <rmh@gnu.org>
8810
8811 LVM support for FreeBSD and GNU/kFreeBSD.
8812
8813 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
8814 GNU/kFreeBSD.
8815 (LVM_DEV_MAPPER_STRING): Move from here ...
8816 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
8817 * util/getroot.c: Include `<grub/util/lvm.h>'.
8818 (grub_util_get_dev_abstraction): Enable
8819 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
8820 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
8821 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
8822 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
8823 support it.
8824 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
8825 GNU/kFreeBSD.
8826 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
8827 when LVM abstraction is required for ${GRUB_DEVICE}.
8828
050e8e90
SJ
88292011-10-06 Szymon Janc <szymon@janc.net.pl>
8830
8831 Add support for LZO compression in GRUB:
8832 - import of minilzo library,
8833 - LZO decompression for btrfs,
8834 - lzop files decompression.
8835
8836 * grub-core/io/lzopio.c: New file.
8837 * grub-core/lib/adler32.c: Likewise.
8838 * grub-core/lib/minilzo/lzoconf.h: Likewise.
8839 * grub-core/lib/minilzo/lzodefs.h: Likewise.
8840 * grub-core/lib/minilzo/minilzo.c: Likewise.
8841 * grub-core/lib/minilzo/minilzo.h: Likewise.
8842 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
8843 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
8844 grub-core/lib/minilzo/minilzo.c to common.
8845 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
8846 cflags in cppflags.
8847 * grub-core/Makefile.core.def (btrfs): Likewise.
8848 * grub-core/Makefile.core.def (lzopio): New module.
8849 (adler32): Likewise.
8850 * grub-core/fs/btrfs.c: Include minilzo.h.
8851 (GRUB_BTRFS_COMPRESSION_LZO): New define.
8852 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
8853 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
8854 (grub_btrfs_lzo_decompress): New function.
8855 (grub_btrfs_extent_read): Add support for LZO compression type.
8856 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
8857 (GRUB_USHRT_MAX): Likewise.
8858 (GRUB_UINT_MAX): Likewise.
8859 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
8860 (UINT_MAX): Likewise.
8861 (CHAR_BIT): Likewise.
8862 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
8863 grub-core/lib/posix_wrap/limits.h
8864 (UCHAR_MAX): Likewise.
8865 * include/grub/file.h (grub_file_filter_id): New compression filter
8866 GRUB_FILE_FILTER_LZOPIO.
8867 * include/grub/file.h (grub_file_filter_id): Set
8868 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
8869 * include/grub/types.h (grub_get_unaligned16): New function.
8870 (grub_get_unaligned32): Likewise.
8871 (grub_get_unaligned64): Likewise.
8872 * util/import_gcry.py (cryptolist): Add adler32.
8873
0eb8ffb1
VS
88742011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
8875
8876 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
8877 in perspective decreases the complexity of build system and fixes
8878 compilation right now.
8879
ce79cc99 88802011-10-01 Ales Nesrsta <starous@volny.cz>
8881
8882 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
8883 (fixed problem related to using UHCI with coreboot).
8884
8667a314
BC
88852011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
8886
8887 * gentpl.py: Use Autogen macros so that the output template file
8888 (Makefile.tpl) size is reduced.
8889
fc5efcc0
MK
88902011-09-29 Mads Kiilerich <mads@kiilerich.com>
8891
8892 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
8893 extra_dist.
8894
d1ab689d
ML
88952011-09-29 Mario Limonciello <mario_limonciello@dell.com>
8896
8897 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
8898 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
8899
c05de032
ML
89002011-09-29 Mario Limonciello <mario_limonciello@dell.com>
8901
8902 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
8903 _fullpath.
8904
cca7ccd8
ML
89052011-09-29 Mario Limonciello <mario_limonciello@dell.com>
8906
8907 Remove extra declaration of sleep for mingw32.
8908
8909 * util/misc.c (sleep) [__MINGW32__]: Removed.
8910 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
8911
e0b0dc83
GS
89122011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
8913
8914 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
8915 type and packname.
8916 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
8917 Resurrected.
8918 (NETBSD_BTINFO_BOOTWEDGE): New definition.
8919 (grub_netbsd_btinfo_bootwedge): New struct.
8920 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
8921 New function.
8922 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
8923
91a1a164
TH
89242011-09-28 Thomas Haller <thomas.haller@fen-net.de>
8925
8926 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
8927 loader.
8928
2ded951e
AB
89292011-09-28 Andreas Born <futur.andy@googlemail.com>
8930
8931 Fix incorrect identifiers in bash-completion.
8932
8933 * util/bash-completion.d/grub-completion.bash.in
8934 (_grub_mkpasswd-pbkdf2): Rename to ...
8935 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
8936 (_grub_script-check): Rename to ...
8937 (_grub_script_check): ... this. All users updated.
8938
69915030
VS
89392011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
8940
8941 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
8942 Return 0 if disk isn't biosdisk.
8943
20fd15f9
GS
89442011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
8945
8946 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
8947 on NetBSD.
8948 * Makefile.util.def (grub-fstest): Likewise.
8949
1a7d7db9
GS
89502011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
8951
8952 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
8953 Get sector size from disk label.
8954
2221ab6c
CW
89552011-09-05 Colin Watson <cjwatson@ubuntu.com>
8956
8957 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
8958 */README* as well as README*.
8959 Reported by: Axel Beckert.
8960
ca51c4a0
VS
89612011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8962
8963 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
8964 case of less than 256 MiB of RAM.
8965
ab80f326
VS
89662011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8967
8968 * grub-core/commands/wildcard.c (make_regex): Handle @.
8969
4155e697
VS
89702011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8971
8972 * util/grub-install.in: Move cryptodisk logic to appropriate place.
8973
ab178c08
SJ
89742011-08-21 Szymon Janc <szymon@janc.net.pl>
8975
8976 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
8977 AC_LANG_CONFTEST macros.
8978
7dc3c686
SJ
89792011-08-20 Szymon Janc <szymon@janc.net.pl>
8980
8981 Add grub-fstest option to uncompress data for commands.
8982
8983 * util/grub-fstest.c (uncompress): New var.
8984 (options): New option -u.
8985
fe8d4a7b
SJ
89862011-08-20 Szymon Janc <szymon@janc.net.pl>
8987
8988 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
8989 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
8990
a5219af1
SJ
89912011-08-20 Szymon Janc <szymon@janc.net.pl>
8992
8993 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
8994 file type was not recognized correctly (not gzip or corrupted).
8995
f87abff5
VS
89962011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8997
8998 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
8999 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
9000
d94497ea
VS
90012011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9002
9003 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
9004 loongson.
9005 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
9006 video_radeon_fuloong2e.
9007 * grub-core/video/radeon_fuloong2e.c: New file.
9008 * include/grub/video.h (grub_video_id_t): Add new ID
9009 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
9010
0d1fd011
VS
90112011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9012
9013 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
9014 define.
9015 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
9016 that PRID matches the detected subplatform and reset the subplatform
9017 if it doesn't.
9018
84beb0ee
VS
90192011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9020
9021 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
9022
1227c133
VS
90232011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9024
9025 Fix PCI iterating on functions >= 4.
9026
9027 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
9028 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
9029 Removed.
9030 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
9031 (grub_pci_read): Fix bitmask.
9032 (grub_pci_read_word): Likewise.
9033 (grub_pci_read_byte): Likewise.
9034 (grub_pci_write): Likewise.
9035 (grub_pci_write_word): Likewise.
9036 (grub_pci_write_byte): Likewise.
9037
9594c689
VS
90382011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9039
9040 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
9041 can still be specified in TARGET_CFLAGS)
9042
14a2562c
VS
90432011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9044
9045 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
9046
9047 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
9048 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
9049 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
9050 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
9051 (FULOONG): Rename to ...
9052 (FULOONG2F): ... this. All users updated.
9053 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
9054 (machtype_fuloong2f_str): ... this.
9055 (machtype_fuloong2e_str): New string.
9056 Check for machtype_fuloong2e_str.
9057 * grub-core/loader/mips/linux.c (loongson_machtypes)
9058 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
9059 * grub-core/term/serial.c (loongson_defserial)
9060 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
9061 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
9062 loongson_defserial.
9063 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
9064 Rename to ...
9065 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
9066 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
9067 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
9068 to IMAGE_FULOONG2F_FLASH. All users updated.
9069 (image_targets): Rename images.
9070 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
9071
b526cbb6
SJ
90722011-08-19 Szymon Janc <szymon@janc.net.pl>
9073
9074 Make enable of disk cache statistics code configurable.
9075
9076 * configure.ac: --enable-cache-stats added.
9077 * config.h.in (DISK_CACHE_STATS): New define.
9078 * grub-core/Makefile.core.def (cacheinfo): New command.
9079 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
9080 * grub-core/commands/cacheinfo.c: New file.
9081 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
9082 moved to cacheinfo.c.
9083 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
9084 debug code.
9085 * include/grub/disk.h: Likewise.
9086
fb739ccd
SJ
90872011-08-19 Szymon Janc <szymon@janc.net.pl>
9088
9089 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
9090 * grub-core/Makefile.am: Likewise.
9091
2bba8cfd
VS
90922011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9093
9094 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
9095 non-zero pull.
9096
43526629
VS
90972011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9098
9099 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
9100 All users updated.
9101 (grub_jfs_lookup_symlink): Use correct starting inode.
9102
5c144cc8
VS
91032011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9104
9105 * util/grub-setup.c (main): Add missing gcry initialisation.
9106
b1257f65
VS
91072011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9108
9109 Don't accept text modes on EFI when booting Linux.
9110
9111 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
9112 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
9113
828bc390
ML
91142011-08-15 Mario Limonciello <mario_limonciello@dell.com>
91152011-08-15 Colin Watson <cjwatson@ubuntu.com>
9116
9117 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
9118 use of "/path/.." as in grub-install for EFI as well as handling
9119 symlinks correctly.
9120 Fixes Debian bug #637768.
9121
5f60ccac
CW
91222011-08-15 Colin Watson <cjwatson@ubuntu.com>
9123
9124 * util/grub-probe.c: Remove duplicate #include.
9125
6dc212f9
RM
91262011-08-10 Robert Millan <rmh@gnu.org>
9127
9128 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
9129
9130 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
9131 function.
9132 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
9133 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
9134
66816d85
RM
91352011-08-03 Robert Millan <rmh@gnu.org>
9136
9137 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
9138 la_array as packed.
9139 Reported by: Zachary Bedell
9140
20168fca
CW
91412011-07-26 Colin Watson <cjwatson@ubuntu.com>
9142
9143 * configure.ac: The Loongson port requires grub-mkfont due to its
9144 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
9145 be built.
9146
303b6246
CW
91472011-07-26 Colin Watson <cjwatson@ubuntu.com>
9148
9149 * util/grub-install.in: Don't source grub-mkconfig_lib until after
9150 processing arguments (otherwise help2man fails when GRUB has not yet
9151 been installed).
9152
6795300e
VS
91532011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9154
41aa28ea
VS
9155 New script grub-mkstandalone.
9156
9157 * Makefile.util.def (grub-mkstandalone): New script.
9158 * docs/man/grub-mkstandalone.h2m: New file.
9159 * util/grub-mkstandalone.in: Likewise.
9160
91612011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9162
9163 Support ATA disks with 4K sectors.
6795300e
VS
9164
9165 * include/grub/ata.h (grub_ata): New member log_sector_size.
9166 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
9167 (grub_ata_identify): Read sector size.
9168 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
9169
92227597
VS
91702011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9171
9172 * util/grub-install.in: Don't use uhci outside of x86.
9173
c77069f5
VS
91742011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9175
9176 * util/grub-mkrescue.in: Add missing quotes.
9177
91782011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
9179
9180 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
9181 dereference.
9182
583168a2
VS
91832011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9184
9185 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
9186
6be1c01f
VS
91872011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9188
9189 * include/grub/video.h: add missing EXPORT_FUND on
9190 grub_video_edid_checksum and grub_video_edid_preferred_mode.
9191
a1167439
VS
91922011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9193
9194 * include/grub/mips/kernel.h: Fix define conflict.
9195
bf66054f
VS
91962011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9197
9198 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
9199 all four ways.
9200
8fc4fa45
CW
92012011-07-21 Colin Watson <cjwatson@ubuntu.com>
9202
9203 Preferred resolution detection for VBE.
9204
9205 * grub-core/video/video.c (grub_video_edid_checksum): New function.
9206 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
9207 the Flat Panel extension, in line with the X.org VESA driver.
9208 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
9209 New function.
9210 (grub_vbe_bios_get_ddc_capabilities): Likewise.
9211 (grub_vbe_bios_read_edid): Likewise.
9212 (grub_vbe_get_preferred_mode): Likewise.
9213 (grub_video_vbe_setup): When the mode is "auto", try to get the
9214 preferred mode from VBE, and use the largest mode that is no larger
9215 than the preferred mode (some BIOSes expose a preferred mode that is
9216 not in their mode list!). If this fails, fall back to 640x480 as a
9217 safe conservative choice.
9218 (grub_video_vbe_get_edid): New function.
9219 (grub_video_vbe_adapter): Add get_edid.
9220 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
9221 (struct grub_video_adapter): Add get_edid.
9222 (grub_video_edid_checksum): Add prototype.
9223 (grub_video_edid_preferred_mode): Likewise.
9224 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
9225 structure.
9226
9227 * grub-core/commands/videoinfo.c (print_edid): New function.
9228 (grub_cmd_videoinfo): Print EDID if available.
9229
9230 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
9231 is more appropriate on a wider range of platforms than 640x480.
9232 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
9233 documentation.
9234
ca5572a9
VS
92352011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9236
9237 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
9238
e4bcf625
VS
92392011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9240
9241 * po/POTFILES.in: Regenerate.
9242
c4edd548
VS
92432011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9244
9245 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
9246 incorrect memory usage.
9247
16a2bab0
VS
92482011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9249
9250 * util/grub-install.in: Source grub-mkconfig_lib.
9251
2e418de6
VS
92522011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
9253
9254 Remove getroot.c from core on emu platform.
9255
9256 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
9257 kern/emu/raid.c.
9258 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
9259 useless.
9260 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
9261 * util/getroot.c (get_win32_path): ... here.
9262 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
9263 * util/getroot.c (fini_libzfs): ... here.
9264 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
9265 * util/getroot.c (grub_get_libzfs_handle): ... here.
9266 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
9267 Moved from here...
9268 * util/getroot.c (grub_find_zpool_from_dir): ... here.
9269 * grub-core/kern/emu/misc.c
9270 (grub_make_system_path_relative_to_its_root): Moved from here...
9271 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
9272 * grub-core/kern/emu/getroot.c: Moved from here ...
9273 * util/getroot.c: ... here. All users updated.
9274 * grub-core/kern/emu/raid.c: Moved from here ...
9275 * util/raid.c: ... here. All users updated.
9276
def9832a
VS
92772011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
9278
9279 * po/POTFILES.in: Regenerate.
9280
cd8fe79a
VS
92812011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9282
9283 Fix compilation on GNU/Linux.
9284
9285 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
9286 Disable geli.
9287 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
9288 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
9289 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
9290
a251b719
VS
92912011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
92922011-07-07 Michael Gorven <michael@gorven.za.net>
92932011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
9294
9295 LUKS and GELI support.
9296
9297 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
9298 grub-core/disk/luks.c, grub-core/disk/geli.c,
9299 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
9300 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
9301 grub-core/lib/arg.c.
9302 (libgrubmods.a): Remove gcrypts cflags and cppflags.
9303 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
9304 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
9305 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
9306 (grub-bin2h): Add libgcry.a.
9307 (grub-mkimage): Likewise.
9308 (grub-mkrelpath): Likewise.
9309 (grub-script-check): Likewise.
9310 (grub-editenv): Likewise.
9311 (grub-mkpasswd-pbkdf2): Likewise.
9312 (grub-pe2elf): Likewise.
9313 (grub-fstest): Likewise.
9314 (grub-mkfont): Likewise.
9315 (grub-mkdevicemap): Likewise.
9316 (grub-probe): Likewise.
9317 (grub-ofpath): Likewise.
9318 (grub-mklayout): Likewise.
9319 (example_unit_test): Likewise.
9320 (grub-menulst2cfg): Likewise.
9321 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
9322 * grub-core/Makefile.core.def (cryptodisk): New module.
9323 (luks): Likewise.
9324 (geli): Likewise.
9325 * grub-core/disk/AFSplitter.c: New file.
9326 * grub-core/disk/cryptodisk.c: Likewise.
9327 * grub-core/disk/geli.c: Likewise.
9328 * grub-core/disk/luks.c: Likewise.
9329 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
9330 grub_util_is_lvm.
9331 (grub_util_get_dm_abstraction): New function.
9332 (grub_util_follow_gpart_up): Likewise.
9333 (grub_util_get_geom_abstraction): Likewise.
9334 (grub_util_get_dev_abstraction): Use new functions.
9335 (grub_util_pull_device): Pull GELI and LUKS.
9336 (grub_util_get_grub_dev): Handle LUKS and GELI.
9337 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
9338 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
9339 (follow_geom_up): Removed.
9340 (grub_util_fd_seek): New function.
9341 (open_device): Use grub_util_fd_seek.
9342 (nread): Rename to ..
9343 (grub_util_fd_read): ... this. All users updated.
9344 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
9345 (grub_crypto_cbc_decrypt): Likewise.
9346 (grub_crypto_hmac_write): Likewise.
9347 (grub_crypto_hmac_buffer): Likewise.
9348 (grub_password_get): Extend to util.
9349 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
9350 New member modname.
9351 (gcry_md_spec) [GRUB_UTIL]: Likewise.
9352 * include/grub/cryptodisk.h: New file.
9353 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
9354 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
9355 LUKS and GELI.
9356 (grub_util_follow_gpart_up): New proto.
9357 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
9358 (grub_util_fd_read): Likewise.
9359 (grub_cryptodisk_cheat_mount): Likewise.
9360 (grub_util_cryptodisk_print_uuid): Likewise.
9361 (grub_util_get_fd_sectors): Likewise.
9362 * util/grub-fstest.c (mount_crypt): New var.
9363 (fstest): Mount crypto if requested.
9364 (options): New option -C.
9365 (argp_parser): Parse -C.
9366 (main): Init and fini gcry.
9367 * util/grub-install.in: Support cryptodisk install.
9368 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
9369 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
9370 cryptodisk.
9371 (prepare_grub_to_access_device): Likewise.
9372 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
9373 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
9374 (probe_cryptodisk_uuid): New function.
9375 (probe_abstraction): Likewise.
9376 (probe): Use new functions.
9377 * util/import_gcry.py: Create Makefile.utilgcry.def.
9378 Add modname member.
9379
9bfdcbbc
VS
93802011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9381
9382 Lazy device scanning.
9383
9384 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
9385 (grub-setup): Remove util/raid.c.
9386 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
9387 * grub-core/disk/lvm.c (scan_depth): New variable.
9388 (grub_lvm_iterate): Rescan if necessary.
9389 (find_lv): New function based on grub_lvm_open.
9390 (grub_lvm_open): Use find_lv. Rescan on error.
9391 (is_node_readable): New function.
9392 (is_lv_readable): Likewise.
9393 (grub_lvm_scan_device): Skip already found disks.
9394 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
9395 Stop if searched device is found and readable.
9396 * grub-core/disk/raid.c (inscnt): New variable.
9397 (scan_depth): Likewise.
9398 (scan_devices): New function based on grub_raid_register. Abort if
9399 looked for device is found.
9400 (grub_raid_iterate): Rescan if needed.
9401 (find_array): NEw function based on -grub_raid_open.
9402 (grub_raid_open): Use find_array and rescan.
9403 (insert_array): Set became_readable_at.
9404 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
9405 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
9406 New function.
9407 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
9408 (grub_util_pull_device): New function.
9409 (grub_util_get_grub_dev): Call grub_util_pull_device.
9410 * util/raid.c: Moved to ..
9411 * grub-core/kern/emu/raid.c: ... here.
9412 (grub_util_raid_getmembers): New parameter "bootable".
9413 All users updated. Support 1.x.
9414 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
9415 All users updated.
9416 * include/grub/disk.h (grub_disk_pull_t): New enum.
9417 (grub_disk_dev): Change iterate prototype.
9418 All users updated.
9419 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
9420 New proto.
9421 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
9422 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
9423 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
9424 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
9425 All users updated.
9426 * include/grub/util/raid.h: Removed.
9427
1c358e59
VS
94282011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
9429
9430 * po/POTFILES.in: Regenerate.
9431
abee94ed
VS
94322011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
9433
9434 Unify sparc init with other ieee1275.
9435
9436 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
9437 instead of kern/sparc64/ieee1275/init.c.
9438 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
9439 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
9440 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
9441 grub/machine/kernel.h.
9442 (grub_ieee1275_original_stack) [__sparc__]: New variable.
9443 (grub_claim_heap) [__sparc__]: Use sparc version.
9444 (grub_machine_init): Moved args parsing to
9445 (grub_parse_cmdline): ...this.
9446 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
9447 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
9448 New definition.
9449 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
9450
9451 Move BOOTP to separate file.
9452
9453 * grub-core/Makefile.core.def (net): Add net/bootp.c.
9454 * grub-core/net/net.c: Move all BOOTP functions to
9455 * grub-core/net/bootp.c: ... here.
9456
9457 Use frame interface on PXE.
9458
9459 * grub-core/Makefile.core.def (pxecmd): Removed.
9460 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
9461 * grub-core/commands/i386/pc/pxecmd.c: Removed.
9462 * grub-core/i386/pc/pxe.c: Moved from here ...
9463 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
9464 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
9465 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
9466
9467 EFI network support.
9468
9469 * grub-core/Makefile.core.def (efinet): New module.
9470 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
9471 here...
9472 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
9473 All users updated.
9474 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
9475 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
9476 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
9477 * grub-core/net/drivers/efi/efinet.c: New file.
9478 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
9479 (grub_efi_net_config): New extern var.
9480
9481 Various cleanups and bugfixes.
9482
9483 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
9484 error.
9485 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
9486 disk declared as partition.
9487 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
9488 leak on failure.
9489 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
9490 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
9491 (grub_debug_zalloc): Likewise.
9492 (grub_debug_realloc): Likewise.
9493 (grub_debug_memalign): Likewise.
9494 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
9495 Check that target is IPv4.
9496 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
9497 local-mac-address as fallback.
9498 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
9499 memory leak.
9500 * grub-core/net/ip.c (ipchksum): Rename to ...
9501 (grub_net_ip_chksum): ... this. All users updated.
9502 (grub_net_recv_ip_packets): Special handling for DHCP.
9503 * util/grub-mkimage.c (generate_image): Zero-out aout header.
9504
9505 Unify prefix handling
9506
9507 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
9508 (grub_machine_get_bootlocation): ... this.
9509 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
9510 (grub_machine_get_bootlocation): ... this.
9511 (grub_prefix): New variable.
9512 (prefix): Removed.
9513 (root_dev): New variable.
9514 (dir): Likewise.
9515 (main): Use new variables.
9516 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
9517 Revamped into ...
9518 (grub_machine_get_bootlocation): ... this.
9519 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
9520 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
9521 (grub_machine_get_bootlocation): ... this.
9522 (grub_machine_set_prefix): Removed.
9523 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
9524 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
9525 Revamped into ...
9526 (grub_machine_get_bootlocation): ... this.
9527 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
9528 (grub_set_prefix_and_root): ... this. All users updated.
9529 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
9530 Revamped into ...
9531 (grub_machine_get_bootlocation): ... this.
9532 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
9533 (grub_machine_get_bootlocation): New proto.
9534 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
9535
9536 Less intrusive and more reliable seek on network implementation.
9537
9538 * grub-core/kern/file.c (grub_file_net_seek): Removed.
9539 (grub_file_seek): Don't call grub_file_net_seek.
9540 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
9541 (grub_net_fs_read_real): .. this.
9542 (grub_net_seek_real): Use net->offset.
9543 (grub_net_fs_read): Seek if necessary.
9544
9545 Unify IEEE1275 netwotk config with the other platforms.
9546
9547 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
9548 New variable.
9549 (grub_machine_get_bootlocation): Support network.
9550 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
9551 Support type and device parsing.
9552 (grub_ieee1275_get_device_type): New function.
9553 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
9554 into ...
9555 (grub_ieee1275_net_config_real): ... this.
9556 (grub_ofnet_probecards): Removed.
9557 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
9558 * include/grub/ieee1275/ofnet.h: Removed.
9559 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
9560 extern var.
9561 (grub_ieee1275_get_device_type): New function.
9562
9563 Unify network device closing across platforms and make more robust.
9564
9565 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
9566 grub_grubnet_fini.
9567 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
9568 already.
9569 * grub-core/net/net.c (grub_net_network_level_interface_register):
9570 Update num_ifaces.
9571 (grub_net_card_unregister): Close all interfaces.
9572 (receive_packets): Don't poll if no iterfaces are registered.
9573 Open if necessary.
9574 (grub_net_fini_hw): New function.
9575 (grub_net_restore_hw): Likewise.
9576 (fini_hnd): New variable.
9577 (GRUB_MOD_INIT): Register preboot hook.
9578 (GRUB_MOD_FINI): Run and unregister preboot hook.
9579
9580 Poll network cards when idle.
9581
9582 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
9583 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
9584 * grub-core/net/net.c (receive_packets): Save last poll time.
9585 (grub_net_poll_cards_idle_real): New function.
9586 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
9587 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
9588 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
9589
9590 Rename ofnet interfaces.
9591
9592 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
9593 (grub_ofnet_findcards): Use ofnet_%s names.
9594
9595 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
9596
9597 Cleanup socket opening.
9598
9599 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
9600 (grub_net_fs_close): Likewise.
9601 (grub_net_fs_read_real): Use eof member.
9602 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
9603 (+grub_net_udp_close): New inline function.
9604
9605 * include/grub/net/tftp.h: Moved to the top of ...
9606 * grub-core/net/tftp.c: ... here.
9607 * include/grub/net/ip.h: Moved mostly to the top of ...
9608 * grub-core/net/ip.c: ... here.
9609 * include/grub/net/ethernet.h: Moved mostly to the top of ...
9610 * grub-core/net/ethernet.c: ... here.
9611
9612 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
9613
9614 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
9615 FS name.
9616
9617 * include/grub/net/ip.h (ipv4_ini): Removed.
9618 (ipv4_fini): Likewise.
9619
9620 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
9621 (grub_net_send_ip_packets): Likewise.
9622
cf1337aa
VS
96232011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9624
9625 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
9626 grub_read_cmos prototype.
9627
93c06ff9
VS
96282011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9629
9630 VGA text support in qemu-mips
9631
9632 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
9633 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
9634 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
9635 text.
9636 * grub-core/kern/i386/qemu/init.c: Renamed to ...
9637 * grub-core/kern/vga_init.c: ... this.
9638 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
9639 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
9640 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
9641 Adjust.
9642 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
9643 GRUB_MACHINE_PCI_IO_BASE.
9644
748ccabe
VS
96452011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9646
9647 MIPS qemu flash support.
9648
9649 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
9650 magic.
9651 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
9652 (grub_machine_init): Probe memory if its size isn't known.
9653 * util/grub-mkimage.c (image_targets): Add flash targets.
9654 (generate_image): Handle flash targets.
9655
d7345994
VS
96562011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9657
9658 MIPS qemu at_keyboard support.
9659
9660 * gentpl.py (videoinkernel): Add qemu-mips.
9661 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
9662 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
9663 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
9664 modules.
9665 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
9666 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
9667 * grub-core/term/serial.c (grub_serial_register)
9668 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
9669
a07a81b3
VS
96702011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9671
9672 CMOS support on sparc.
9673
9674 * gentpl.py (cmos): Add powerpc and sparc.
9675 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
9676 powerpc and sparc.
9677 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
9678 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
9679 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
9680 grub_set_datetime_cmos.
9681 * grub-core/lib/ieee1275/cmos.c: New file.
9682 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
9683 (find_rtc): Set no_ieee1275_rtc on error.
9684 (grub_get_datetime): Call grub_get_datetime_cmos on error.
9685 (grub_set_datetime): Call grub_set_datetime_cmos on error.
9686 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
9687 fail. Move value to argument. All users updated
9688 (grub_cmos_write): Likewise.
9689 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
9690 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
9691 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
9692 grub_get_datetime_cmos and grub_set_datetime_cmos.
9693
77546584
GS
96942011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
9695
9696 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
9697 sourcing grub-mkconfig_lib.
9698 * util/update-grub_lib.in: Likewise.
9699 * util/grub.d/00_header.in: Likewise.
9700 * util/grub.d/10_hurd.in: Likewise.
9701 * util/grub.d/10_kfreebsd.in: Likewise.
9702 * util/grub.d/10_linux.in: Likewise.
9703 * util/grub.d/10_netbsd.in: Likewise.
9704 * util/grub.d/10_windows.in: Likewise.
9705 * util/grub.d/20_linux_xen.in: Likewise.
9706 * util/grub.d/30_os-prober.in: Likewise.
9707
54894791
CW
97082011-06-28 Colin Watson <cjwatson@ubuntu.com>
9709
9710 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
9711 default_bg_color rather than black.
9712 (grub_gfxterm_fullscreen): Likewise.
9713 (grub_gfxterm_background_color_cmd): Save new background color in
9714 default_bg_color.
9715
8d5d8444
VS
97162011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9717
9718 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
9719
5afeb5bd
VS
97202011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9721
9722 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
9723 mismerge.
9724
ba7df45e
VS
97252011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9726
9727 Chainloading on coreboot support.
9728
9729 * grub-core/Makefile.core.def (chain): Add coreboot.
9730 * grub-core/loader/i386/coreboot/chainloader.c: New file.
9731
d0b526b2
VS
97322011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9733
9734 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
9735 if it happens.
9736
5ff1d945
VS
97372011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9738
9739 Implement time command.
9740
9741 * grub-core/Makefile.core.def (time): New module.
9742 * grub-core/commands/time.c: New file.
9743 * grub-core/script/parser.y: Remove "time" keyword.
9744 * grub-core/script/yylex.l: Likewise.
9745
5ebaad7e
VS
97462011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9747
9748 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
9749
bdea3798
VS
97502011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9751
9752 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
9753 when handling leftovers.
9754
b28c5655
VS
97552011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9756
9757 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
9758 so that help2man doesn't fail.
9759
b6f945dc
VS
97602011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9761
9762 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
9763 type in pointers on sparc64.
9764 (get_card_packet): Likewise.
9765
f9b75e8a
CW
97662011-06-27 Colin Watson <cjwatson@ubuntu.com>
9767
9768 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
9769 with `*'.
9770 (grub_cmd_videoinfo): Fetch current video mode.
9771
1e3d9b86
VS
97722011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9773
9774 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
9775 because of underlying system restrictions.
9776
efff4b1c
VS
97772011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9778
9779 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
9780 necessary.
9781
9fc9ce37
VS
97822011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9783
9784 Coreboot video support.
9785
9786 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
9787 (vbe): Likewise.
9788 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
9789 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
9790 here ...
9791 * grub-core/kern/i386/int.S: ... here.
9792 * grub-core/video/i386/pc/vbe.c: Updated includes.
9793 * grub-core/video/i386/pc/vga.c: Likewise.
9794 * include/grub/i386/coreboot/memory.h
9795 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
9796 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
9797 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
9798 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
9799 Disable interrupts.
9800 * include/grub/i386/pc/vga.h: Removed. All users updated.
9801
41bec7fe
VS
98022011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9803
9804 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
9805 definitions for dprintf.
9806 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
9807
ca80309d
VS
98082011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9809
9810 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
9811 prototype.
9812 (get_card_packet): Likewise.
9813
9e322ce8
YB
98142011-06-26 Yves Blusseau <blusseau@zetam.org>
9815
9816 Display the path of the file when file is not found
9817
9818 * grub-core/fs/fat.c: Display the filename when file is not found.
9819 * grub-core/fs/fshelp.c: Likewise.
9820 * grub-core/fs/hfs.c: Likewise.
9821 * grub-core/fs/jfs.c: Likewise.
9822 * grub-core/fs/minix.c: Likewise.
9823 * grub-core/fs/ufs.c: Likewise.
9824 * grub-core/fs/btrfs.c: Likewise.
9825 * grub-core/commands/i386/pc/play.c: Likewise.
9826
cbf597af
SJ
98272011-06-26 Szymon Janc <szymon@janc.net.pl>
9828
9829 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
9830 pointer checks before calling grub_free().
9831 * grub-core/commands/wildcard.c (match_devices): Likewise.
9832 * grub-core/commands/wildcard.c (match_files): Likewise.
9833 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
9834 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
9835 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
9836 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
9837 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
9838 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
9839 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
9840 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
9841 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
9842
6295b32f
P
98432011-06-25 Patrick <p55@mailinator.com>
9844
9845 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
9846
77c0840b
VS
98472011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
9848
9849 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
9850 (grub_pxe_send): Likewise.
9851 (GRUB_MOD_INIT): Fix types.
9852
40ea05de
SJ
98532011-06-24 Szymon Janc <szymon@janc.net.pl>
9854
9855 * grub-core/io/xzio.c: Fix code style issues
9856
90162423
MRA
98572011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
98582011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
9859
9860 Network infrastructure.
9861 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
9862
9863 * include/grub/net/arp.h: New file.
90162423
MRA
9864 * include/grub/net/device.h: Likewise.
9865 * include/grub/net/ethernet.h: Likewise.
9866 * include/grub/net/ip.h: Likewise.
9867 * include/grub/net/netbuff.h: Likewise.
9868 * include/grub/net/tftp.h: Likewise.
9869 * include/grub/net/udp.h: Likewise.
9870 * include/grub/ieee1275/ofnet.h: Likewise.
9871 * include/grub/emu/export.h: Likewise.
9872 * include/grub/net.h: Likewise.
9873 * grub-core/net/arp.c: Likewise.
9874 * grub-core/net/ethernet.c: Likewise.
9875 * grub-core/net/ip.c: Likewise.
9876 * grub-core/net/udp.c: Likewise.
9877 * grub-core/net/tftp.c: Likewise.
9878 * grub-core/net/netbuff.c: Likewise.
9879 * grub-core/net/net.c: Likewise.
9880 * grub-core/net/drivers/emu/emunet.c: Likewise.
9881 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
9882 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
9883 export.h.
9884 * grub-core/Makefile.core.def (net): New module.
9885 (tftp): Likewise.
9886 (ofnet): Likewise.
9887 (emunet): Likewise.
9888 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
9889 network protocols.
9890 * grub-core/kern/device.c (grub_net_open) : New variable.
9891 (grub_device_open): Handle network device.
9892 (grub_device_close): Likewise.
9893 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
9894 (grub_grubnet_fini): Likewise.
9895 (grub_file_seek): Seek in network device.
9896 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
9897 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
9898 network root.
9899 (grub_machine_fini): Call grub_grubnet_fini.
9900 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
9901 network.
9902 (grub_ieee1275_get_aliasdevname): New function.
9903 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
9904 Add unofficial Solaris network info.
9905 (grub_multiboot_make_mbi): Likewise.
9906 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
9907 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
9908 * include/grub/device.h (grub_fs): Removed.
9909 * include/grub/err.h (grub_err_t): Add network-related values.
9910 * include/grub/i386/pc/pxe.h: Removed bootp parts.
9911 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
9912 (grub_ieee1275_get_aliasdevname): New proto.
9913 * include/grub/net.h: Rewritten.
423a1849 9914
031f22a0
VS
99152011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9916
9917 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
9918 names.
9919
4388ca72
VS
99202011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9921
9922 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
9923 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
9924 it truncates the output.
9925 Reported by: Ximin Luo.
9926
98e2f506
VS
99272011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9928
9929 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
9930
2a5e94d8
VS
99312011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9932
9933 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
9934 partmap before abstraction.
9935
535c1910
AK
99362011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
9937
9938 * util/grub-mkconfig_lib.in: Add missing quotes.
9939
bc09e1a2
VS
99402011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9941
9942 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
9943 old method if mountinfo would return /dev/root and /dev/root doesn't
9944 exist.
9945
290766fb
VS
99462011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9947
9948 ZFS zlib support
9949
9950 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
9951 (decomp_table): Add zlib entries.
9952 (zio_read): USe 8 bits for compression function rather than 3.
9953 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
9954
99552011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9956
9957 * grub-core/disk/ahci.c: Add missing license statements.
9958 * grub-core/fs/romfs.c: Likewise.
9959 * grub-core/lib/ia64/setjmp.S: Likewise.
9960 * grub-core/loader/i386/pc/freedos.c: Likewise.
9961 * grub-core/loader/ia64/efi/linux.c: Likewise.
9962 * grub-core/video/colors.c: Likewise.
9963 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
9964
5ab3f48a
VS
99652011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9966
9967 AHCI support.
9968
9969 * grub-core/Makefile.core.def (ata_pthru): Removed.
9970 (ahci): New module.
9971 (pata): Likewise.
9972 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
9973 on unload.
9974 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
9975 readwrite.
9976 (grub_hdparm_do_check_powermode_cmd): Likewise.
9977 (grub_hdparm_do_smart_cmd): Likewise.
9978 (grub_hdparm_set_val_cmd): Likewise.
9979 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
9980 * grub-core/disk/ahci.c: New file.
9981 * grub-core/disk/ata.c: Factor out the low-level part into ...
9982 * grub-core/disk/pata.c: ... here.
9983 * grub-core/disk/ata_pthru.c: Contents moved to ...
9984 * grub-core/disk/pata.c: ... here.
9985 * grub-core/disk/scsi.c (grub_scsi_names): New array.
9986 (grub_scsi_iterate): Use grub_scsi_names.
9987 (grub_scsi_open): Likewise.
9988 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
9989 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
9990 (grub_ata_regs_t): New struct.
9991 (grub_disk_ata_pass_through_parms): Likewise.
9992 (grub_ata_device): Renamed to ...
9993 (grub_ata): ... this.
9994 (grub_ata_dev): New struct.
9995 Removed all low-level inline functions.
9996 * include/grub/scsi.h: Add PATA and AHCI subsystems.
9997 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
9998 iterate hooks and open. All users updated.
9999 * util/grub-install.in: Handle AHCI disk module.
10000
c31dc5f5
SJ
100012011-06-23 Szymon Janc <szymon@janc.net.pl>
10002
10003 Add support for DRI and RSTn markers in JPEG files.
10004
10005 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
10006 (JPEG_MARKER_RST0): Likewise.
10007 (JPEG_MARKER_RST1): Likewise.
10008 (JPEG_MARKER_RST2): Likewise.
10009 (JPEG_MARKER_RST3): Likewise.
10010 (JPEG_MARKER_RST4): Likewise.
10011 (JPEG_MARKER_RST5): Likewise.
10012 (JPEG_MARKER_RST6): Likewise.
10013 (JPEG_MARKER_RST7): Likewise.
10014 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
10015 (grub_jpeg_decode_dri): New function.
10016 (grub_jpeg_decode_sos): Move image data related part into
10017 grub_jpeg_decode_data function.
10018 (grub_jpeg_decode_data): New function.
10019 (grub_jpeg_reset): New function.
10020 (grub_jpeg_decode_jpeg): Handle new markers.
10021
fe12fd5b
VS
100222011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10023
10024 * util/ieee1275/ofpath.c (check_sas): Close fd.
10025 (main): Free of_path.
10026 Reported by: David Volgyes <dvolgyes>.
10027
03147f46
VS
100282011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10029
10030 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
10031 Reported by: David Volgyes <dvolgyes>.
10032
cad3237f
VS
100332011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10034
10035 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
10036 file after stat.
10037 Reported by: David Volgyes <dvolgyes>.
10038
13548d26
VS
100392011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10040
10041 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
10042
10043 Reported by: David Volgyes <dvolgyes>.
10044
e061a1b5
VS
100452011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10046
10047 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
10048 Prevent memory leak.
10049
1abe47dc
VS
100502011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10051
10052 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
10053 (main): Close file.
e061a1b5 10054 Reported by: David Volgyes <dvolgyes>.
1abe47dc 10055
fbc62666
VS
100562011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10057
10058 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
10059 to continue if allocation is failed.
10060
10061 Reported by: David Volgyes <dvolgyes>.
10062
e98c83e9
DV
100632011-06-23 David Volgyes <dvolgyes>
10064
10065 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
10066 dereference.
10067
a199a8cd
VS
100682011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10069
10070 Fix spurious warning.
10071
10072 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
10073 (acorn_partition_map_find): Use .bin member.
10074
e2d1dba0
VS
100752011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10076
10077 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
10078 /dev/root as a valid device.
10079
8a5d6919
JM
100802011-06-23 Jim Meyering <meyering@redhat.com>
10081
e2d1dba0
VS
10082 Avoid NULL deref in grub_device_open.
10083
8a5d6919
JM
10084 * grub-core/kern/device.c (grub_device_open): Don't dereference
10085 a NULL pointer upon failed grub_env_get.
10086
f7db6f4a
VS
100872011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10088
10089 Support non-512B sectors and agglomerate reads.
10090
10091 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
10092 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
10093 (disk_io_guid): Removed.
10094 (make_devices): Locate solely by BlockIO.
10095 (grub_efidisk_open): Fill log_sector_size and total_sectors.
10096 (grub_efidisk_read): Use read_blocks.
10097 (grub_efidisk_write): Use write_blocks.
10098 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
10099 log_sector_size.
10100 (get_safe_sectors): Handle non-512B sectors.
10101 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
10102 sectors.
10103 (grub_biosdisk_write): Handle non-512B sectors.
10104 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
10105 (grub_scsi_read): Remove special non-512B block handling (now handled
10106 one level up).
10107 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
10108 and do sanity checks.
10109 (grub_disk_adjust_range): Handle non-512B sectors.
10110 (transform_sector): New function.
10111 (grub_disk_read_small): Likewise.
10112 (grub_disk_read): Rewritten.
10113 (grub_disk_write): Handle non-512B sectors.
10114 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
10115 log_sector_size.
10116 (open_device): Use log_sector_size.
10117 (grub_util_biosdisk_read): Likewise.
10118 (grub_util_biosdisk_write): Likewise.
10119 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
10120 non-512B sectors.
10121 (pc_partition_map_embed): Likewise.
10122 * include/grub/disk.h (grub_disk): New field log_sector_size.
10123 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
10124 (GRUB_DISK_CACHE_BITS): Increased to 6.
10125 * util/grub-fstest.c (fstest): New command testload.
10126 (argp_parser): Likewise.
10127
881ac815
RM
101282011-06-16 Robert Millan <rmh@gnu.org>
10129
10130 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
10131 `ata' driver on kernel of FreeBSD 9.
10132
10133 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
10134 (get_ataraid_disk_name): New functions.
10135 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
10136 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
10137 get_ataraid_disk_name() and get_ada_disk_name().
10138
1e9aef7d
CW
101392011-06-13 Colin Watson <cjwatson@ubuntu.com>
10140
10141 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
10142 input format.
10143
351c7c8a
CW
101442011-05-29 Colin Watson <cjwatson@ubuntu.com>
10145
10146 * docs/grub.texi (Obtaining and Building GRUB): Substitute
10147 `ftp.gnu.org' for `alpha.gnu.org'.
10148
6b4e6430
CW
101492011-05-27 Colin Watson <cjwatson@ubuntu.com>
10150
10151 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
10152 partitions under /dev/disk/by-id/.
10153
c64db050
CW
101542011-05-27 Colin Watson <cjwatson@ubuntu.com>
10155
10156 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
10157 after ten consecutive open failures. Scanning all the way up to
10158 10000 is excessive and can cause serious performance problems in
10159 some configurations.
10160 Fixes Ubuntu bug #787461.
10161
245f4aba
VS
101622011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10163
10164 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
10165 opening new one.
10166
f767c929
VS
101672011-05-21 Colin Watson <cjwatson@ubuntu.com>
101682011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10169
10170 Don't stat devices unless we have to.
10171
10172 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
10173 dir == /dev/mapper.
10174 (grub_guess_root_device): Use already known os_dev if possible.
10175 * grub-core/kern/emu/hostdisk.c
10176 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
10177 if device is known to be a dm one.
10178
f35fa3a6
CW
101792011-05-20 Colin Watson <cjwatson@ubuntu.com>
10180
10181 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
10182 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
10183 Reported by: Pawel Tecza.
10184
9a79fcf2
VS
101852011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
10186
10187 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
10188 (lsefisystab): Likewise.
10189 (lssal): Likewise.
10190 (lsefimmap): Likewise.
10191 (hdparm): Enable on qemu-mips.
10192 (setjmp): Add ia64 nodist.
10193 (serial): Simplify tags.
10194
63e3eea9
CW
101952011-05-18 Colin Watson <cjwatson@ubuntu.com>
10196
10197 * Makefile.util.def (grub-ofpathname): Install manual page.
10198
09728256
CW
101992011-05-18 Colin Watson <cjwatson@ubuntu.com>
10200
10201 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
10202
8b63a142
CW
102032011-05-18 Colin Watson <cjwatson@ubuntu.com>
10204
10205 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
10206
e775d8ed
VS
102072011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10208
10209 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
10210 into dprintf.
10211
bf947d36
VS
102122011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10213
10214 Use full 64-bit division.
10215
10216 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
10217 (grub_divmod64): ... this.
10218 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
10219 version.
10220
b84f26c5
CW
102212011-05-18 Colin Watson <cjwatson@ubuntu.com>
10222
10223 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
10224 `source'.
10225
5626056f
CW
102262011-05-18 Colin Watson <cjwatson@ubuntu.com>
10227
10228 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
10229 to avoid accidents when debugging with 'sh -x'.
10230 * grub-core/gensyminfo.sh.in: Likewise.
10231 * tests/example_scripted_test.in: Likewise.
10232 * tests/grub_cmd_regexp.in: Likewise.
10233 * tests/grub_script_blanklines.in: Likewise.
10234 * tests/grub_script_dollar.in: Likewise.
10235 * tests/grub_script_expansion.in: Likewise.
10236 * tests/grub_script_final_semicolon.in: Likewise.
10237 * tests/partmap_test.in: Likewise.
10238 * tests/util/grub-shell-tester.in: Likewise.
10239 * tests/util/grub-shell.in: Likewise.
10240
e2965f4a
CW
102412011-05-18 Colin Watson <cjwatson@ubuntu.com>
10242
10243 Move gfxmenu color handling to video, so that gfxterm can use it
10244 too.
10245
10246 * grub-core/gfxmenu/named_colors.c: Move to ...
10247 * grub-core/video/colors.c: ... here. Rename
10248 grub_gui_get_named_color to grub_video_get_named_color.
10249 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
10250 * grub-core/video/colors.c (my_isxdigit): ... here.
10251 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
10252 Move to ...
10253 * grub-core/video/colors.c (parse_hex_color_component): ... here.
10254 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
10255 to ...
10256 * grub-core/video/colors.c (grub_video_parse_color): ... here.
10257
10258 * include/grub/gui.h (grub_gui_color_t): Move to ...
10259 * include/grub/video.h (grub_video_rgba_color_t): ... here.
10260 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
10261 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
10262 * include/grub/gui.h (grub_gui_map_color): Move to ...
10263 * include/grub/video.h (grub_video_map_rgba_color): ... here.
10264 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
10265 to ...
10266 * include/grub/video.h (grub_video_get_named_color): ... here.
10267 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
10268 * include/grub/video.h (grub_video_parse_color): ... here.
10269
10270 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
10271 video/colors.c.
10272 (gfxmenu): Remove gfxmenu/named_colors.c.
10273 (video) [videomodules]: Add video/colors.c.
10274
10275 Add a background_color command.
10276
10277 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
10278 function.
10279 (GRUB_MOD_INIT): Register background_color command.
10280 (GRUB_MOD_FINI): Unregister background_color command.
10281 (redraw_screen_rect): Allow blend/replace of text layer to be
10282 controlled independently from whether there is a background bitmap.
10283 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
10284 changing bitmap.
10285
1e4b4390
VS
102862011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10287
26618ff0
VS
10288 Patch BPB in ntldr and chainloader --bpb.
10289
1e4b4390
VS
10290 * grub-core/fs/fat.c: Include grub/fat.h.
10291 (grub_fat_bpb): Moved to ...
10292 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
10293 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
10294 grub/ntfs.h.
10295 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
10296 Moved from here...
10297 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
10298 here.
10299 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
10300 New function.
10301 (grub_chainloader_cmd): Patch BPB if --bpb is given.
10302 (GRUB_MOD_INIT): Show --bpb.
10303 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
10304 * grub-core/normal/main.c (features): New variable.
10305 (GRUB_MOD_INIT): Set feature_* variables.
10306 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
10307 proto.
10308 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
10309
cf02731e
VS
103102011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10311
10312 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
10313 for cleanness.
10314
e3a1073f
VS
103152011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10316
10317 FreeDOS direct loading support.
10318
10319 * docs/grub.texi (Supported OS): Add FreeDOS.
10320 * grub-core/Makefile.core.def (freedos): New module.
10321 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
10322 variable.
10323 (grub_relocator16_boot): Handle %ebx.
10324 * grub-core/lib/i386/relocator16.S: Likewise.
10325 * grub-core/loader/i386/pc/freedos.c: New file.
10326
05caa461
VS
103272011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10328
10329 Long Linux command line support.
10330
10331 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
10332 (maximal_cmdline_size): New variable.
10333 (allocate_pages): Use maximal_cmdline_size.
10334 (grub_cmd_linux): Set and use maximal_cmdline_size.
10335 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
10336 (allocate_pages): Use maximal_cmdline_size.
10337 (grub_cmd_linux): Set and use maximal_cmdline_size.
10338 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
10339 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
10340 and cmdline_size.
10341
a2491e23
VS
103422011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
103432011-05-18 Colin Watson <cjwatson@ubuntu.com>
10344
10345 Improve devmapper support
10346
10347 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
10348 (grub_util_is_lvm): New function.
10349 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
10350 than lvm if not dmraid.
10351 Handle mapped md nodes.
10352 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
10353 (grub_util_device_is_mapped): ... this. Make always available. All users
10354 updated.
10355 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
10356 (convert_system_partition_to_system_disk): Handle lvm, mpath and
10357 dmraid nodes.
10358 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
10359
6ad6223e
VS
103602011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10361
10362 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
10363
10364 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
10365 * grub-core/modinfo.sh.in: New file.
10366 * grub-core/Makefile.core.def (modinfo.sh): New script.
10367 * util/grub-mknetdir.in: Use modinfo.sh.
10368 * util/grub-mkrescue.in: Likewise.
10369
543a8f6e
VS
103702011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10371
10372 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
10373 Fix potential usage of Elf32 instead of Elf64 when compiling on
10374 32-bit architecture. Add endianness macros while on it.
10375
4959e111
VS
103762011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10377
10378 Use mipsel- rather than mips- in directories involving mipsel ports to
10379 allow both endiannesses coexist.
10380
10381 * configure.ac: proparate target_cpu=mipsel rather than resetting to
10382 mips. All conditions adjusted.
10383 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
10384 variable.
10385 * util/grub-install.in: Adjust conditions to take renaming into account.
10386 * util/grub-mkimage.c (image_targets): Likewise. New target
10387 mips-qemu_mips-elf for bigendian mips.
10388
35341bbc
VS
103892011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10390
10391 Avoid unnecessary copying on MIPS.
10392
10393 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
10394 early if src == dest.
10395 * util/grub-mkimage.c (generate_image): Arange for src == dest if
10396 compression is none.
10397
b772baed
VS
103982011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10399
10400 Reduce memory footprint on SGI by putting modules before the kernel
10401 as opposed to after.
10402
10403 * grub-core/Makefile.core.def (kernel): Increase linking address.
10404 (none_decompress): Likewise.
10405 (xz_decompress): Likewise.
10406 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
10407 address.
10408 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
10409 layout change.
10410 (grub_arch_modules_addr): New function.
10411 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
10412 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
10413 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
10414 here.
10415 * grub-core/kern/mips/startup.S (total_size): Rename to ...
10416 (grub_total_modules_size): ... this. Make global.
10417 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
10418 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
10419 New definition.
10420 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
10421 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
10422 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
10423 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
10424 * util/grub-mkimage.c (image_target_desc): New flag
10425 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
10426 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
10427 (generate_image): Handle images with modules before kernel.
10428
566a1917
VS
104292011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10430
10431 Prevent potential loss of memory map by overwrite on qemu-mips.
10432
10433 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
10434 Save ram size in $s4.
10435 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
10436 All users changed to grub_arch_memsize.
10437 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
10438 Loongson.
10439 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
10440 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
10441 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
10442 external variable.
10443
5d420cd9
CW
104442011-05-17 Colin Watson <cjwatson@ubuntu.com>
10445
10446 * .bzrignore: Remove grub-dumpbios.
10447
d064b830
CW
104482011-05-17 Colin Watson <cjwatson@ubuntu.com>
10449
10450 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
10451 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
10452 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
10453 existing options which append).
10454 * docs/grub.texi (Simple configuration): Document new options.
10455 Reported by: Ian Jackson. Fixes Debian bug #617538.
10456
3ca2b466
CW
104572011-05-17 Colin Watson <cjwatson@ubuntu.com>
10458
10459 * util/grub-fstest.c (cmd_cat): New function.
10460 (fstest): Handle CMD_CAT.
10461 (options): Add cat.
10462 (argp_parser): Handle cat.
10463
24c9143a
CW
104642011-05-17 Colin Watson <cjwatson@ubuntu.com>
10465
10466 * Makefile.util.def (grub-bin2h): Don't install.
10467 * docs/man/grub-bin2h.h2m: Remove.
10468
90f7ac19
VS
104692011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10470
10471 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
10472 place.
10473
8d4a5178
VS
104742011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10475
10476 Reenable qemu-mips port.
10477
10478 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
10479 Fix small arc bug while on it.
10480 * gentpl.py: Handle qemu_mips.
10481 * grub-core/Makefile.am: Likewise.
10482 * grub-core/Makefile.core.def: Likewise.
10483 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
10484 inappropriate includes.
10485 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
10486 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
10487 * grub-core/kern/main.c (grub_modules_get_end)
10488 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
10489 * grub-core/kern/mips/qemu-mips: Moved to ..
10490 * grub-core/kern/mips/qemu_mips: ... this.
10491 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
10492 (grub_machine_init): Call terminfo_init and serial_init.
10493 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
10494 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
10495 New variable.
10496 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
10497 parameter passing.
10498 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
10499 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
10500 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
10501 * include/grub/mips/qemu_mips/cmos.h: New file.
10502 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
10503 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
10504 Removed.
10505 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
10506 Use correct mips-style address.
10507 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
10508 (GRUB_TICKS_PER_SECOND): Removed.
10509 (grub_get_rtc): Likewise.
10510 (grub_cpu_idle): Likewise.
10511 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
10512 New definition.
10513 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
10514 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
10515 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
10516 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
10517 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
10518 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
10519 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
10520 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
10521
400b9371
VS
105222011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10523
10524 SGI ARCS port.
10525
10526 * Makefile.util.def (libgrubmods.a): Add dvh.c.
10527 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
10528 platforms.
10529 * configure.ac: New target mips-arc.
10530 * gentpl.py: Likewise.
10531 * grub-core/Makefile.am: Likewise.
10532 * grub-core/Makefile.core.def: Likewise.
10533 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
10534 (none_decompress): Likewise.
10535 (lsdev): New module.
10536 (datetime): Use lib/arc/datetime.c on ARC.
10537 (part_dvh): New module.
10538 * grub-core/commands/arc/lsdev.c: New file.
10539 * grub-core/disk/arc/arcdisk.c: Likewise.
10540 * grub-core/kern/mips/arc/init.c: Likewise.
10541 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
10542 aligned addresses.
10543 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
10544 support.
10545 (grub_arch_dl_relocate_symbols): Likewise.
10546 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
10547 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
10548 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
10549 platforms.
10550 * grub-core/lib/arc/datetime.c: New file.
10551 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
10552 pci.h on non-loongson.
10553 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
10554 (grub_linux_boot): Set unused registers to 0.
10555 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
10556 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
10557 * grub-core/mmap/mips/uppermem.c: ...here.
10558 * grub-core/partmap/dvh.c: New file.
10559 * grub-core/term/arc/console.c: Likewise.
10560 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
10561 (grub_terminfo_set_current): Add terminal "arc".
10562 (grub_terminfo_readkey): Support ARC sequences.
10563 * include/grub/arc/arc.h: New file.
10564 * include/grub/arc/console.h: Likewise.
10565 * include/grub/disk.h (grub_disk_dev_id): Add
10566 GRUB_DISK_DEVICE_ARCDISK_ID.
10567 * include/grub/mips/arc/kernel.h: New file.
10568 * include/grub/mips/arc/memory.h: Likewise.
10569 * include/grub/mips/arc/time.h: Likewise.
10570 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
10571 * include/grub/mips/kernel.h (grub_halt): ... here.
10572 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
10573 here...
10574 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
10575 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
10576 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
10577 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
10578 proto.
10579 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
10580 from here ...
10581 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
10582 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
10583 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
10584 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
10585 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
10586 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
10587 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
10588 (grub_phys_addr_t): Moved from here ...
10589 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
10590 (grub_vtop): Moved from here ...
10591 * include/grub/mips/memory.h (grub_vtop): ... here.
10592 (grub_map_memory): Moved from here ...
10593 * include/grub/mips/memory.h (grub_map_memory): ... here.
10594 (grub_unmap_memory): Moved from here ...
10595 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
10596 (grub_machine_mmap_iterate): Moved from here ...
10597 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
10598 (grub_mmap_get_lower): Moved from here ...
10599 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
10600 (grub_mmap_get_upper): Moved from here ...
10601 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
10602 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
10603 here ...
10604 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
10605 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
10606 here ...
10607 * include/grub/mips/time.h (grub_get_rtc): ... here.
10608 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
10609 here ...
10610 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
10611 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
10612 here ...
10613 * include/grub/mips/time.h (grub_cpu_idle): ... here.
10614 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
10615 definition.
10616 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
10617 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
10618 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
10619 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
10620 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
10621 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
10622 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
10623 (GRUB_MACHINE_LINK_ADDR): Likewise.
10624 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
10625 to 6.
10626 * util/grub-install.in: Run dvhtool on ARC.
10627 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 10628 (generate_image): Handle ECOFF output for mips-arc.
400b9371 10629
c8ecc840
VS
106302011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
10631
10632 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
10633 blocks.
10634
153a4b55
VS
106352011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
10636
10637 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
10638 after enabling port.
10639
ff44d107
VS
106402011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
10641
10642 Skip incorrect USB devices.
10643
10644 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
10645 configcnt == 0.
10646 * include/grub/usb.h (grub_usb_err_t): New enum value
10647 GRUB_USB_ERR_BADDEVICE.
10648
638dbe4f
VS
106492011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
10650
10651 Fuloong video init support.
10652
10653 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
10654 well.
10655 (grub_vga_read_arx): New function.
10656 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
10657 definition.
10658 (framebuffer): New members io, mmioptr and mmiobase.
10659 (read_sis_cmd): New function.
10660 (write_sis_cmd): Likewise.
10661 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
10662 rather than 640x400.
10663 * grub-core/video/sis315_init.c: New file.
10664
c3fc520c
VS
106652011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10666
10667 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
10668 non-loongson.
10669 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
10670 to grub_dl_register_symbol.
10671
67b1e5c9
VS
106722011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10673
10674 Fix compilation errors.
10675
10676 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
10677 potentially unused.
10678 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
10679 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
10680 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
10681 to loongson machines.
10682
b756f75f
VS
106832011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10684
10685 Several FS mtime support.
10686
10687 * grub-core/fs/affs.c (grub_affs_time): New struct.
10688 (grub_affs_file): New field mtime.
10689 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
10690 type. Removed 'size'. New field 'di'. All users updated.
10691 (grub_affs_mount): Simplify checsum checking.
10692 (grub_affs_iterate_dir): New helper grub_affs_create_node.
10693 (grub_affs_dir): Handle mtime.
10694 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
10695 (grub_cpio_dir): Likewise.
10696 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
10697 (grub_hfs_filerec): New field mtime.
10698 (grub_hfs_dir): Handle mtime.
10699 (grub_hfs_mtime): New function.
10700 (grub_hfs_fs): Register grub_hfs_mtime.
10701 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
10702 (grub_iso9660_dir): New field mtime.
10703 (grub_fshelp_node): New field dirent.
10704 (iso9660_to_unixtime): New function.
10705 (iso9660_to_unixtime2): Likewise.
10706 (grub_iso9660_read_symlink): Use node->dirent.
10707 (grub_iso9660_iterate_dir): Likewise.
10708 (grub_iso9660_dir): Set mtime.
10709 (grub_iso9660_mtime): New function.
10710 (grub_iso9660_fs): Register grub_iso9660_mtime.
10711 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
10712 (grub_jfs_inode): New fields atime, ctime and mtime.
10713 (grub_jfs_dir): Set mtime.
10714 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
10715 * grub-core/fs/ntfs.c (list_file): Set mtime.
10716 (grub_ntfs_dir): Likewise.
10717 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
10718 (grub_reiserfs_iterate_dir): Set mtime.
10719 (grub_reiserfs_dir): Likewise.
10720 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
10721 (grub_fshelp_node): Likewise.
10722 (grub_sfs_iterate_dir): Set mtime.
10723 (grub_sfs_dir): Likewise.
10724 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
10725 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
10726 (grub_xfs_inode): New fields atime, mtime, ctime.
10727 (grub_xfs_dir): Set mtime.
10728 * include/grub/datetime.h (grub_datetime2unixtime): New function.
10729 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
10730 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
10731
10732 Support UDF symlinks.
10733
10734 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
10735 (grub_ufs_read_symlink): New function. All users updated.
10736
10737 Check amiga partmap checksum.
10738
10739 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
10740 (grub_amiga_partition): Likewise.
10741 (amiga_partition_map_checksum): New function.
10742 (amiga_partition_map_iterate): Check checksum.
10743
5470225d
VS
107442011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10745
10746 ROMFS support.
10747
10748 * Makefile.util.def (libgrubmods.a): Add romfs.
10749 * grub-core/Makefile.core.def (romfs): New module.
10750 * grub-core/fs/romfs.c: New file.
10751
d4680a35
VS
107522011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10753
10754 Squashfs v4 support.
10755
10756 * Makefile.util.def (libgrubmods.a): Add squash4.
10757 * grub-core/Makefile.core.def (squash4): New module.
10758 * grub-core/fs/squash4.c: New file.
10759 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
10760 disk_input_start, disk_input.
10761 (get_byte): Handle disk_input.
10762 (grub_zlib_disk_read): New function.
10763 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
10764
bcb18e74
FZ
107652011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
107662011-05-15 Feiran Zheng <famcool@gmail.com>
10767
10768 * Makefile.util.def (libgrubmods.a): Add minix3.
10769 * grub-core/Makefile.core.def (minix3): New module.
10770 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
10771 (GRUB_MINIX_BSIZE): Removed.
10772 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
10773 (grub_minix_ino_t): New type.
10774 (grub_minix_le_to_cpu_ino): New macro.
10775 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
10776 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
10777 (grub_minix_data): New field block_size.
10778 (grub_minix_read_file): Handle 64-bit correctly.
10779 * grub-core/fs/minix3.c: New file.
10780
32297d5f
TG
107812011-05-15 Tristan Gingold <gingold@free.fr>
107822011-05-15 Robert Millan <rmh.grub@aybabtu.com>
107832011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10784
10785 IA64 support.
10786
10787 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
10788 * configure.ac: Add ia64-efi target.
10789 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
10790 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
10791 * gentpl.py: Add ia64_efi platform.
10792 Rename x86_efi to efi and Add ia64-efi. All users updated.
10793 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
10794 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
10795 Remove kern/generic/rtc_get_time_ms.c on EFI.
10796 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
10797 kern/ia64/dl_helper.c on ia64-efi.
10798 Add kern/emu/cache.c on emu.
10799 (linux): Use on loader/ia64/efi/linux.c on ia64.
10800 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
10801 whether symbol is a function.
10802 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
10803 (grub_symbol): New field 'isfunc'.
10804 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
10805 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
10806 (grub_dl_load_segments): Place all sections into the same region.
10807 [__ia64__]: Create trampolines and got.
10808 [GRUB_MACHINE_EMU]: Call mprotect.
10809 (grub_dl_resolve_symbols): Resolve symbol type as well.
10810 [__ia64__]: Create function descriptors.
10811 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
10812 (grub_rtc_get_time_ms): ... this. Expressions simplified.
10813 (grub_get_rtc): New function.
10814 * grub-core/kern/emu/cache.c [__ia64__]: New file.
10815 * grub-core/kern/emu/cache.S: Renamed to ...
10816 * grub-core/kern/emu/cache_s.S: ... this.
10817 [__ia64__]: Add a nop.
10818 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
10819 [__ia64__]: New function.
10820 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
10821 * grub-core/kern/ia64/dl.c: New file.
10822 * grub-core/kern/ia64/dl_helper.c: Likewise.
10823 * grub-core/kern/ia64/efi/init.c: New file.
10824 * grub-core/kern/ia64/efi/startup.S: Likewise.
10825 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
10826 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
10827 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
10828 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
10829 * grub-core/loader/ia64/efi/linux.c: New file.
10830 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
10831 (GRUB_MOD_DEP): Likewise.
10832 (grub_dl) [__ia64__]: New fields got and tramp.
10833 (grub_dl): New field 'base'.
10834 (grub_dl_register_symbol): New argument isfunc. All users updated.
10835 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
10836 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
10837 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
10838 (grub_ia64_dl_get_tramp_got_size): New proto.
10839 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
10840 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
10841 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
10842 * include/grub/efi/api.h: Skip call wrappers on ia64.
10843 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
10844 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
10845 * include/grub/elf.h (ELF_ST_INFO): New definition.
10846 * include/grub/ia64/efi/kernel.h: New file.
10847 * include/grub/ia64/efi/memory.h: Likewise.
10848 * include/grub/ia64/efi/time.h: Likewise.
10849 * include/grub/ia64/kernel.h: Likewise.
10850 * include/grub/ia64/setjmp.h: Likewise (from glibc).
10851 * include/grub/ia64/time.h: New file.
10852 * include/grub/ia64/types.h: Likewise.
10853 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
10854 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
10855 New protos.
10856 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
10857 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
10858 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
10859 * util/grub-mkimage.c (image_target_desc): New field pe_target.
10860 All users updated.
10861 (EFI64_HEADER_SIZE): New definition. All users updated.
10862 (image_targets): Add ia64-efi.
10863 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
10864 jumpers_addr. All users updated.
10865 Create function descriptors.
10866 (count_funcs): New function.
10867 (unaligned_uint32): New struct.
10868 (MASK20): New definition.
10869 (MASK19): Likewise.
10870 (MASKF21): Likewise.
10871 (add_value_to_slot_20b): New function.
10872 (add_value_to_slot_21_real): Likewise.
10873 (add_value_to_slot_21): Likewise.
10874 (ia64_kernel_trampoline): New struct.
10875 (nopm): New variable.
10876 (jump): Likewise.
10877 (make_trampoline): New function.
10878 (relocate_addresses): Handle ia64.
10879 (make_reloc_section): Likewise.
10880 (load_image): Likewise.
10881
983b414d
VS
108822011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10883
10884 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
10885 warning. Move variables before code while on it.
10886
5d063cdc
VS
108872011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10888
10889 Fuloong support.
10890
10891 * configure.ac: Rename yeeloong platform to loongson. All users updated.
10892 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
10893 * grub-core/boot/mips/loongson/fuloong.S: New file.
10894 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
10895 Explicitly init CS5536.
10896 [FULOONG]: Don't use serial until CS5536 is available.
10897 Set GPIO based on dumps.
10898 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
10899 [FULOONG]: Handle GPIO and memory controller differences.
10900 Parse machine type in $a2.
10901 * grub-core/boot/mips/startup_raw.S: Determine and save the
10902 architecture.
10903 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
10904 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
10905 init on architecture type.
10906 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
10907 SIS315E. Don't init at_keyboard on fuloong.
10908 (grub_halt): Support Fuloong.
10909 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
10910 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
10911 (loongson_machtypes): New array.
10912 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
10913 type.
10914 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
10915 config. All users updated. Handle CS5536 serial.
10916 * grub-core/term/serial.c (grub_serial_register): Conditionalise
10917 default port on machine type. Register serial as inactive.
10918 * grub-core/video/sis315pro.c: New file.
10919 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
10920 definition.
10921 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
10922 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
10923 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
10924 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
10925 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
10926 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
10927 to ...
10928 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
10929 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
10930 definition.
10931 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
10932 (grub_arch_machine): New extern var.
10933 * include/grub/mips/loongson/serial.h
10934 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
10935 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
10936 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
10937 (GRUB_MACHINE_SERIAL_PORT0): ... this.
10938 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
10939 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
10940 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
10941 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
10942 * include/grub/term.h (grub_term_register_input_inactive): New inline
10943 function.
10944 (grub_term_register_output_inactive): Likewise.
10945 * include/grub/video.h (grub_video_driver_id): New value
10946 GRUB_VIDEO_DRIVER_SIS315PRO.
10947 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
10948 New field "names". All users updated.
10949 New field value IMAGE_FULOONG_FLASH.
10950 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
10951
6ada82d1
JU
109522011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
10953
10954 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
10955 and add some clarification.
10956
90c571a4
VS
109572011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10958
10959 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
10960 platforms if kernel is compressed.
10961
de04eecf
VS
109622011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10963
10964 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
10965 unused modules since currently referrence counter isn't reliable and
10966 there isn't much memory to recover there anyway.
10967
57688121
VS
109682011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10969
10970 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
10971 rather than resetting it to allow modules to reference themselves
10972 in init.
10973
3d2c7e35
VS
109742011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10975
10976 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
10977 counter on dependencies since grub_dl_unref already handles this.
10978
b25db218
VS
109792011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10980
10981 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
10982 on error if not already done.
10983
25a45338
VS
109842011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10985
10986 Fix few potential memory misusage.
10987
10988 * grub-core/font/font.c (load_font_index): Don't free char_index to
10989 avoid double free.
b25db218
VS
10990 (grub_font_load): Zero-fill font at alloc for safety.
10991 Close file on error.
10992 (free_font): Free bmp_idx.
25a45338 10993
0cac83df
VS
109942011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10995
10996 * docs/grub.texi (Installation): Fix several outdated claims.
10997
2217a143
VS
109982011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10999
11000 Handle module_license on windows.
11001
11002 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
11003 sections shifted.
11004 (insert_string): Make argument const char * instead of char *.
11005 (write_section_data): Handle long section names.
11006 Handle module_license.
11007
d4de6b01
VS
110082011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11009
11010 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
11011 handle class-free menuentries.
11012 (grub_normal_add_menu_entry): Add a check to be sure.
11013
4c2a3b43
VS
110142011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11015
11016 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
11017 PgUp and PgDown.
11018
85c6210f
VS
110192011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11020
11021 * configure.ac: Bump version to 1.99.
11022
36084912
VS
110232011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11024
11025 Give ATA device a bit more time on first try in order to allow disks
11026 to spin up.
11027
11028 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
11029 if dev->present is 1. Reset dev->present on failure.
11030 (grub_ata_device_initialize): Set dev->present to 1.
11031 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
11032 (grub_ata_device): New member 'present'.
11033
bda0e219
VS
110342011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11035
11036 * util/grub-mkimage.c (generate_image): Update hash.
11037
19e1c41b
VS
110382011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11039
11040 Flush caches on DMA memory.
11041
11042 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
11043 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
11044 (grub_dma_free): Likewise.
11045 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
11046
91bbcc0c
VS
110472011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11048
11049 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
11050 to avoid asm treating ld and sd as macros.
11051
60ddfad3
VS
110522011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11053
11054 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
11055 decompressor.
11056
a298aa04
VS
110572011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11058
11059 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
11060 grub_decompress_core since later would fail if grub_decompress_core
11061 is too far.
11062
9b44feca
VS
110632011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11064
11065 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
11066 R_MIPS_JALR since it's used by newer compiler.
11067
56dbe7b4
VS
110682011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
11069
11070 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
11071
52856af2
VS
110722011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11073
11074 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
11075 file_path to 0 for surety.
11076 (grub_chainloader_boot): Set exit_data to NULL.
11077 Unset the loader once done.
11078 (grub_cmd_chainloader): Fix confusing error message if file is empty.
11079
9c9bfc6d
VS
110802011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11081
11082 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
11083 unknown key into a dprintf.
11084
dd94a3df
VS
110852011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11086
11087 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
11088 on first non-existant partition.
11089
fa68d99c
VS
110902011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11091
11092 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
11093 openning fails.
11094 Reported by: Mark Korenberg.
11095
157effb7
VS
110962011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11097
11098 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
11099 overflow.
11100
ea75312f
VS
111012011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11102
11103 * util/grub-mkimage.c (main): Explicitely flush and sync the output
11104 before closing to ensure that it will be readable by grub-setup.
11105
072b5d31
VS
111062011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11107
11108 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
11109 (devpath_1): Use MAKE_PIWG_PATH.
11110 (devpath_2): Likewise.
11111 (devpath_3): Likewise.
11112 (devpath_4): Likewise.
11113 (devpath_5): Likewise.
11114 (devpath_6): Likewise.
11115
11116 The appleldr.mod was checked that to be binary identical to previous
11117 version.
11118
7fae0051
Z
111192011-05-05 Zach <mikezackles>
11120
11121 Support 2010 Macbooks.
11122
11123 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
11124 (devs): Add devpath_6.
11125
7c515bee
VS
111262011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11127
11128 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
11129 /dev/random. /dev/urandom is good enough for our purposes (salting).
11130
ed660bd8
VS
111312011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11132
11133 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
11134
ee5614b7
VS
111352011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11136
11137 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
11138 hexadecimal.
11139
664889a6
VS
111402011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11141
11142 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
11143 and not 0 on failure.
11144
bd405bbc
CW
111452011-05-03 Colin Watson <cjwatson@ubuntu.com>
11146
11147 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
11148 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
11149 disk; otherwise grub_fs_probe will not fall back to the next
11150 filesystem.
11151 (grub_pxefs_open): Likewise, for consistency.
11152 Reported and tested by: Ezekiel Grave.
11153
4ebff753
CW
111542011-05-03 Colin Watson <cjwatson@ubuntu.com>
11155
11156 * tests/partmap_test.in: Don't hardcode path to parted.
11157 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
11158
8f942553
CW
111592011-05-01 Colin Watson <cjwatson@ubuntu.com>
11160
11161 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
11162 of `ls' to find out which devices are available.
11163
3c62402d
VS
111642011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11165
11166 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
11167 than source address for efi mmap buffer.
11168
723f63f2
VS
111692011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11170
11171 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
11172 wrong action on non-detecting the magic.
11173
68797f92
VS
111742011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11175
11176 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
11177 already supplied by another part of the module (fixes compilation on
11178 FreeBSD).
11179
6be8715d
VS
111802011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11181
11182 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
11183 match the one used by mdadm.
11184
e91dba5b
CW
111852011-04-21 Colin Watson <cjwatson@ubuntu.com>
11186
11187 * po/README: Add instructions for creating po/LINGUAS.
11188
c85140b3
CW
111892011-04-21 Colin Watson <cjwatson@ubuntu.com>
11190
11191 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
11192 #551428.
11193
11194 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
11195 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
11196 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
11197 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
11198 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
11199 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
11200 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
11201 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
11202 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
11203 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
11204 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
11205 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
11206 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
11207 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
11208 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
11209 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
11210 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
11211 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
11212 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
11213 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
11214 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
11215 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
11216
92051871
CW
112172011-04-21 Colin Watson <cjwatson@ubuntu.com>
11218
11219 * grub-core/kern/emu/getroot.c
11220 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
11221 test that was incorrectly reintroduced in r3214.
11222 Reported by: Ian Dall. Fixes Savannah bug #33133.
11223
b13f79a4
CW
112242011-04-21 Colin Watson <cjwatson@ubuntu.com>
11225
11226 Fix stack pointer handling in 16-bit relocator.
11227
11228 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
11229 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
11230 Fixes Ubuntu bug #683904.
11231
9b710a88
VS
112322011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11233
11234 * configure.ac: Bump version to 1.99~rc2.
11235
d97e7b59
VS
112362011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11237
11238 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
11239 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
11240 * grub-core/lib/x86_64/setjmp.S: Likewise.
11241 * grub-core/lib/mips/setjmp.S: Likewise.
11242 * grub-core/lib/powerpc/setjmp.S: Likewise.
11243 * grub-core/lib/sparc64/setjmp.S: Likewise.
11244
0624551c
VS
112452011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11246
11247 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
11248 * grub-core/lib/efi/datetime.c: Likewise.
11249
e8f28d4c
VS
112502011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11251
11252 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
11253 New function.
11254 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
11255 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
11256 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
11257
bba79a15
VS
112582011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11259
11260 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
11261 bitmap.
11262 (grub_gfxterm_term_init): Likewise.
11263
abc474ef
VS
112642011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11265
11266 Take into account the decorations the computing menu entry width.
11267
11268 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
11269 (grub_gfxmenu_create_box): Register get_border_width.
11270 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
11271 if available.
11272 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
11273 get_border_width.
11274
e74b3947
EP
112752011-04-18 Endres Puschner <code@e7p.de>
11276
11277 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
11278 Don't skip first class.
11279
34faa595
VS
112802011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11281
11282 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
11283 chunks.
11284 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
11285
93a777e3
VS
112862011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11287
11288 Complete 64-bit division support.
11289
11290 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
11291 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
11292 * include/grub/misc.h (grub_divmod64): Rename to ...
11293 (grub_divmod64_full): ... this.
11294 (grub_divmod64): New inline function.
11295
a5102d94
VS
112962011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11297
11298 * util/grub-mkimage.c (generate_image): Add forgotten comma.
11299
f3fb7b36
VS
113002011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11301
11302 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
11303 performing the necessary test.
11304
9ac718b0
VS
113052011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11306
11307 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
11308 (kfreebsd.elf): Likewise.
11309 (pc-chainloader.elf): Likewise.
11310 (ntldr.elf): Likewise.
11311
50d2cc5a
VS
113122011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11313
11314 Identify RAID by its UUID rather than (guessed) name.
11315
11316 * grub-core/disk/raid.c (ascii2hex): New function.
11317 (grub_raid_open): Accept mduuid/%s specification.
11318 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
11319 (get_mdadm_uuid): ... this.
11320 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
11321
e03f7bea
VS
113222011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
11323
11324 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
11325 to negative size.
11326
e74c3112
CW
113272011-04-13 Colin Watson <cjwatson@ubuntu.com>
11328
11329 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
11330 btrfs subvolume.
11331 * util/grub.d/20_linux_xen.in: Likewise.
11332
78fa584f
CW
113332011-04-13 Colin Watson <cjwatson@ubuntu.com>
11334
11335 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
11336 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
11337
11338 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
11339 Build a list of relevant visible mounts using the mnt_id and
11340 parent_mnt_id fields, and then scan that list at the end.
11341
9d5f8162
CW
113422011-04-12 Colin Watson <cjwatson@ubuntu.com>
11343
11344 * docs/grub.texi (normal): New section.
11345 (normal_exit): New section.
11346 (Embedded configuration): Add reference to normal.
11347 (GRUB only offers a rescue shell): Likewise.
11348 * docs/grub-dev.texi (Error Handling): Fix typo.
11349
09a9d66f
CW
113502011-04-12 Colin Watson <cjwatson@ubuntu.com>
11351
11352 * NEWS: Drop obsolete entry about probe-only btrfs support.
11353
0c676933
CW
113542011-04-12 Colin Watson <cjwatson@ubuntu.com>
11355
11356 * util/import_gcry.py: Fix typo.
11357
ec9f5e0d
VS
113582011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11359
11360 * NEWS: Add btrfs support.
11361
fe6b2cba
VS
113622011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
113632011-04-11 Colin Watson <cjwatson@ubuntu.com>
11364
11365 BtrFS support. Written by me (Vladimir) with important bugfixes and
11366 even more important testing by Colin.
11367
11368 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
11369 * grub-core/Makefile.core.def (btrfs): Add crc.c.
11370 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
11371 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
11372 mem_input_off and mem_input. All users updated to accept in-RAM input.
11373 (gzio_seek): New function.
11374 (test_zlib_header): Likewise.
11375 (grub_gzio_read): Likewise.
11376 (grub_zlib_decompress): Likewise.
11377 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
11378 Accept partial and non-virtual mounts.
11379 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
11380 avoid receiving /dev/dm-X as device.
11381 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
11382 Handle bind and partial mounts.
11383 * grub-core/lib/crc.c: New file.
11384 * include/grub/deflate.h: Likewise.
11385 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
11386 proto.
11387 * include/grub/lib/crc.h: New file.
11388
e745cf0c
VS
113892011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11390
11391 Implement automatic module license checking according to new GNU
11392 guidelines.
11393
11394 * grub-core/kern/dl.c (grub_dl_check_license): New function.
11395 (grub_dl_load_core): Use grub_dl_check_license.
11396 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
11397 (GRUB_MOD_LICENSE): Likewise.
11398 (GRUB_MOD_DUAL_LICENSE): Likewise.
11399 All modules updated.
11400
2a9bc016
CW
114012011-04-11 Colin Watson <cjwatson@ubuntu.com>
11402
11403 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
11404 reserved_first_sector to 1. btrfs reserves plenty of space for boot
11405 loaders.
11406 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
11407
8a3bc88e
VS
114082011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11409
11410 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
11411
af869a4a
VS
114122011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11413
11414 * util/grub-fstest.c (read_file): Report GRUB error if file opening
11415 failed.
11416
9ee8d94f
VS
114172011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11418
11419 * grub-core/kern/file.c (grub_file_open): Don't take into account the
11420 parenthesis in the middle of the filename.
11421
b01abe3e
VS
114222011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11423
11424 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
11425 rather than trying to put initrd way too high.
11426 Reported by: Ryan Lortie <desrt@desrt.ca>
11427
335bda1e
VS
114282011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11429
11430 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
11431 improperly removed string.
11432
5ca1a64d
VS
114332011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11434
11435 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
11436 is_disk.
11437 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
11438 (open_device) Likewise.
11439 (grub_util_biosdisk_close): Likewise.
d8ce9995 11440 Reported by: Mark Korenberg.
5ca1a64d 11441
cbac5b1e
AK
114422011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
11443
11444 * util/grub-mkconfig_lib.in: Add missing quotes.
11445
088cdb65
CW
114462011-04-10 Colin Watson <cjwatson@ubuntu.com>
11447
11448 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
11449 is NULL.
11450
8b8a81fa
VS
114512011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11452
11453 Dynamically count the number of lines for the lower banner.
11454
11455 * grub-core/normal/menu_entry.c (per_term_screen): New member
11456 num_entries.
11457 (print_down): Use num_entries.
11458 (update_screen): Likewise.
11459 (grub_menu_entry_run): Set num_entries.
11460 * grub-core/normal/menu_text.c (menu_viewer_data): New member
11461 num_entries.
11462 (grub_print_message_indented): Move real part to ...
11463 (grub_print_message_indented_real): ... here. Additional argument
11464 dry_run.
11465 (draw_border): Additional argument num_entries.
11466 (print_message): Additional argument dry_run.
11467 (print_entries): Receive menu viewer data.
11468 (grub_menu_init_page): New argment num_entries.
11469 (menu_text_set_chosen_entry): Use num_entries.
11470 (grub_menu_try_text): Likewise.
11471 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
11472 All users updated.
11473 (grub_ucs4_count_lines): New function.
11474 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
11475 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
11476 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
11477 (grub_term_border_height): Likewise.
11478 (grub_term_num_entries): Likewise.
11479
277f955b
VS
114802011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11481
11482 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
11483 Remove now unused string.
11484
536ce85a
CW
114852011-04-09 Colin Watson <cjwatson@ubuntu.com>
11486
11487 * docs/grub-dev.texi (Finding your way around): Update for 1.99
11488 build system.
11489 (Getting started): GRUB is developed in Bazaar now, not Subversion.
11490
11491 (Comment): Fix typo.
11492 (Getting started): General copy-editing.
11493 (Typical Development Experience): Likewise.
11494 (Error Handling): Likewise.
11495 (Video API): Likewise.
11496
2cf09e32
CW
114972011-04-09 Colin Watson <cjwatson@ubuntu.com>
11498
11499 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
11500 throughout.
11501
1ec652f4
VS
115022011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11503
11504 * util/grub-mkimage.c (main): Handle special naming of yeeloong
11505 directory.
11506
2c583728
CW
115072011-04-08 Colin Watson <cjwatson@ubuntu.com>
11508
11509 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
11510 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
11511 "development".
11512
d7a565e9
VS
115132011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11514
11515 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
11516 grub_strcpy since the lines aren't necessarily 0-terminated.
11517
7c2e4909
VS
115182011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11519
11520 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
11521 root on legacy.
11522
34c09785
VS
115232011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11524
11525 * grub-core/commands/probe.c (options): Argument to set isn't optional.
11526 (GRUB_MOD_INIT): DEVICE isn't optional.
11527
6a6f8058
VS
115282011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11529
11530 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
11531 word on new line if it's too long anyway. Fixes a hang.
11532
2e335e90
VS
115332011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11534
11535 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
11536 const.
11537 * util/grub-setup.c (main): Reuse md device name if available.
11538 * util/raid.c (grub_util_raid_getmembers): Receive device name and
11539 not GRUB name as argument.
11540 Based on patch by: Florian Wagner <fwagner>.
11541
10a7a867
VS
115422011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11543
11544 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
11545 Place mbi on low memory for better compatibility.
11546
7a3d6cd9
VS
115472011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11548
11549 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
11550
18dd6b47
VS
115512011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
115522011-04-08 Colin Watson <cjwatson@ubuntu.com>
11553
11554 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 11555 * conf/Makefile.common: Likewise.
18dd6b47 11556
3c0e3f14
VS
115572011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11558
f7148863
VS
11559 * grub-core/normal/menu.c: Add missing include.
11560
115612011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11562
11563 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 11564
6d1fa41f
MZ
115652011-04-08 Martin Zuther <mzuther@mzuther.de>
11566
11567 * util/grub-mkconfig.in: Ignore emacsen backup.
11568
478182a8
VS
115692011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11570
11571 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
11572 on open.
11573 (grub_util_biosdisk_close): Likewise.
11574
72a89a54
VS
115752011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11576
11577 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
11578 const attribute and use grub_isdigit.
11579
b5ebecfa
A
115802011-04-06 Andrey <dev_null@ukr.net>
11581
11582 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
11583 gcc warning.
11584
7755f66e
VS
115852011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11586
11587 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
11588 useful grub_dprintf's.
11589
461121ff
VS
115902011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11591
11592 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
11593
2a961775
VS
115942011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11595
11596 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
11597
adf594cc
VS
115982011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11599
11600 Output errors if theme loading failed.
11601
11602 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
11603 grub_gfxterm_fullscreen on error paths to ...
11604 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
11605 theme loading error.
11606
665900a3
VS
116072011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11608
11609 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
11610 space for older compilers.
11611 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
11612
a562b479
VS
116132011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11614
11615 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
11616 and report them as not RAID members since they are useless for GRUB.
11617 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11618
850e9373
VS
116192011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11620
11621 Increase LVM implementation robustness in order not to crash on
11622 configurations like pvmove. Previously code assumed that in some places
11623 only lvs or only pvs are used whereas it seems that they are used
11624 interchangeably.
11625
11626 * grub-core/disk/lvm.c (read_node): New function.
11627 (read_lv): Use read_node.
11628 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
11629 Match volumes only at the end when all lvs are found. Take both
11630 pvs (first) and lvs (second) into account.
11631 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
11632 mirror_* into node_*. All users updated.
11633 (grub_lvm_stripe): Merge this ...
11634 (grub_lvm_mirror): ... and this ...
11635 (grub_lvm_node): ... into this. All users updated.
11636
6f332153
VS
116372011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11638
11639 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
11640 of function to allow further scanning for LVMs.
11641
829ea451
VS
116422011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11643
11644 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
11645 on failed seek as it breaks open fd reusage.
11646
09ceb9a5
VS
116472011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11648
11649 * util/grub-install.in: Add a recommendation to use --recheck before
11650 reporting bugs.
11651
67e11623
VS
116522011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11653
11654 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
11655 are obtained.
11656
caee5efd
VS
116572011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11658
11659 GRUB developper manual based on existing Internals section and
11660 contributions by the various authors with active copyright assignment.
11661
11662 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
11663 * docs/font_char_metrics.png: New file.
11664 * docs/font_char_metrics.txt: Likewise.
11665 * docs/grub-dev.texi: Likewise.
11666 * docs/grub.texi (Internals): Move from here ...
11667 * docs/grub-dev.texi: ... here.
11668
2cccc747
CW
116692011-04-01 Colin Watson <cjwatson@ubuntu.com>
11670
11671 Store the loopback device as data on loopback grub_disk structures,
11672 rather than the file it points to. This fixes use of freed memory
11673 if an existing loopback device is replaced.
11674
11675 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
11676 disk->data, not dev->file.
11677 (grub_loopback_read): Adjust file assignment to match.
11678 Fixes Ubuntu bug #742967.
11679
186ae367
CW
116802011-04-01 Colin Watson <cjwatson@ubuntu.com>
11681
11682 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
11683 when replacing an existing device.
11684
cfed2ad0
VS
116852011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11686
11687 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
11688 memory corruptions.
11689
11690 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
11691 unsigned.
11692 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
11693 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
11694 (grub_jfs_read_inode): Likewise.
11695 (grub_jfs_opendir): Likewise. Remove now useless casts.
11696 (grub_jfs_getent): Likewise.
11697 Make ino a grub_uint32_t rather than int.
11698 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
11699 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
11700 division and module with bit operations.
11701 (grub_jfs_find_file): Make ino a grub_uint32_t.
11702 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
11703
05d2ed32
CW
117042011-04-01 Colin Watson <cjwatson@ubuntu.com>
11705
11706 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
11707 warning. (This was in fact always initialised before use, but GCC
11708 wasn't smart enough to prove that.)
11709 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
11710
91dc6073
VS
117112011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11712
11713 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
11714 stack alignment.
11715 (efi_wrap_1): Likewise.
11716 (efi_wrap_2): Likewise.
11717 (efi_wrap_3): Likewise.
11718 (efi_wrap_4): Likewise.
11719 (efi_wrap_5): Likewise.
11720 (efi_wrap_6): Likewise.
11721 (efi_wrap_10): Likewise.
11722 Based on information by: Red Hat/Peter Jones.
11723
a8afc1d1
CW
117242011-03-31 Colin Watson <cjwatson@ubuntu.com>
11725
11726 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
11727 set-but-not-used variable.
11728
a826cc7d
CW
117292011-03-31 Colin Watson <cjwatson@ubuntu.com>
11730
11731 * docs/grub.texi (Simple configuration): Be more explicit about
11732 GRUB_DEFAULT, and add an example.
11733 Reported by: Leslie Rhorer.
11734
875b67ba
CW
117352011-03-30 Colin Watson <cjwatson@ubuntu.com>
11736
11737 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
11738 shell".
11739
fd7cd914
AS
117402011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
11741
11742 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
11743 * util/grub.d/20_linux_xen.in: Likewise.
11744
090b1b6a
VS
117452011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11746
11747 * util/grub.d/10_linux.in: Try alternative config filenames where
11748 we parse config file.
11749 * util/grub.d/20_linux_xen.in: Likewise.
11750
baad885c
AS
117512011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
11752
11753 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
11754 * util/grub.d/20_linux_xen.in: Likewise.
11755
241e41f5
VS
117562011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11757
11758 * grub-core/disk/raid.c (insert_array): Add few potentially
11759 useful grub_util_info.
11760 (grub_raid_register): Likewise.
11761
56445fb2
VS
117622011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11763
11764 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
11765 Preserve partition number in mdadm code path.
11766
c871b1c6
VS
117672011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11768
11769 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
11770 few potentially useful grub_util_info.
11771
5e631b4f
CW
117722011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11773
11774 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
11775
2d5d0333
CW
117762011-03-30 Colin Watson <cjwatson@ubuntu.com>
11777
11778 * docs/grub.texi (default): Use @example rather than nested
11779 itemized lists to avoid breaking gendocs.
11780
3d7ed04e
CW
117812011-03-30 Colin Watson <cjwatson@ubuntu.com>
11782
11783 * docs/grub.texi (Future): Update.
11784
abf04200 117852011-03-30 Colin Watson <cjwatson@ubuntu.com>
11786
11787 * docs/grub.texi (Environment): New chapter.
11788 (Changes from GRUB Legacy): Link to "Environment block" section for
11789 details of limitations.
11790 (Simple configuration): Likewise. Link to documentation of gfxmode
11791 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
11792 respectively.
11793 (Shell-like scripting): Note that normal variables are stored in the
11794 environment.
11795 (gettext): Link to documentation of lang and locale_dir.
11796 (list_env): New section.
11797 (load_env): New section.
11798 (save_env): New section.
11799
11800 (Reporting bugs): Fix typo.
11801
e1ad0edd
VS
118022011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11803
11804 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
11805 the example.
11806
5d803174
VS
118072011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11808
11809 * grub-core/term/at_keyboard.c (set_scancodes)
11810 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
11811
2a2da1d0
CW
118122011-03-30 Colin Watson <cjwatson@ubuntu.com>
11813
11814 * docs/grub.texi (Menu-specific commands): Remove some semantics
11815 that were true in GRUB Legacy but not in GRUB 2.
11816 (submenu): New section.
11817 (false): New section.
11818 (read): New section.
11819 (true): New section.
11820
a7527639
CW
118212011-03-30 Colin Watson <cjwatson@ubuntu.com>
11822
11823 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
11824
118252011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
11826
11827 * docs/grub.texi (Simple configuration): Explain some of the
11828 current limitations of grub-mkconfig.
8a748df2 11829 Reported by: Leslie Rhorer.
e30af029 11830
fc858482
VS
118312011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11832
11833 Old macs search for boot.efi rather than for bootia32.efi.
11834
11835 * util/grub-install.in: Copy bootia32.efi to boot.efi.
11836 * util/grub-mkrescue.in: Likewise.
11837 Suggested by: Peter Jones.
11838
e1eb511d
VS
118392011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11840
11841 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
11842
70e75364
VS
118432011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11844
11845 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
11846 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
11847 (grub_lvm_mirror): New struct.
11848 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
11849 (grub_lvm_iterate): Iterate only visible volumes.
11850 (grub_lvm_read): Factor out to ..
11851 (read_lv): ... this. Support mirrors.
11852 (grub_lvm_read): New wrapper function.
11853 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
11854 stripped or mirrored.
11855
fc18f6a3
VS
118562011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11857
11858 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
11859
5c650f4c
CW
118602011-03-29 Colin Watson <cjwatson@ubuntu.com>
11861
11862 * docs/grub.texi (loopback): New section.
11863
61d7156b
CW
118642011-03-29 Colin Watson <cjwatson@ubuntu.com>
11865
11866 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
11867 removed -p option.
11868
994b8264
CW
118692011-03-29 Colin Watson <cjwatson@ubuntu.com>
11870
11871 * docs/grub.texi (BIOS installation): New section, partly based on
11872 previous text in other sections.
11873 (Installing GRUB using grub-install): Replace BIOS discussion with a
11874 cross-reference.
11875 (Images): Likewise.
11876
9e4d19e0
VS
118772011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11878
11879 * grub-core/kern/emu/hostdisk.c (find_partition_start)
11880 [HAVE_DIOCGDINFO]: Add safety checks.
11881
a307c0b2
VS
118822011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11883
11884 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
11885 per default compiled in kernel and prior to 8.0 isn't shipped at all.
11886
b4db4f39
CW
118872011-03-29 Colin Watson <cjwatson@ubuntu.com>
11888
11889 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
11890 real_sb->size is zero (e.g. RAID-0), get the disk size from
11891 real_sb->data_size instead.
11892 Fixes Ubuntu bug #743136.
11893
35e5f84c
VS
118942011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11895
11896 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
11897 printf clauses for printing size and start.
11898
d2e29d81
VS
118992011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11900
11901 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
11902 Reported and tested by: Timothy Nikkel.
11903
ed5587af
VS
119042011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11905
11906 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
11907 (dirty_region_add_real): ... this.
11908 (dirty_region_add): Don't discard margin refresh when performing
11909 scheduled repaint.
11910
a1dc717c
VS
119112011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11912
11913 * grub-core/lib/relocator.c (allocate_regstart)
11914 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
11915 terminals are capabple of malloc-free operation.
11916 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
11917 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
11918
9f3677d3
VS
119192011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
11920
11921 * util/grub-setup.c: Copy the partition table zone if floppy support
11922 is disabled, even if no partition table is found.
11923
11924 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
11925 during POST if an invalid partition table is contained in the PBR
11926 of the active partition when GRUB is installed to a partition.
11927
24148725
CW
119282011-03-28 Colin Watson <cjwatson@debian.org>
11929
11930 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
11931 comment.
11932
f329eda7
CW
119332011-03-28 Colin Watson <cjwatson@debian.org>
11934
11935 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
11936 to be specific about what kind of RAID device we're scanning for.
11937
c482ad98
SG
119382011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
11939
11940 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
11941 return freed string.
11942
5ee04984
VS
119432011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11944
11945 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
11946
f4727da9
VS
119472011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11948
11949 Use libgeom on FreeBSD to detect partitions.
11950
11951 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
11952 (grub-mkrelpath): Likewise.
11953 (grub-script-check): Likewise.
11954 (grub-editenv): Likewise.
11955 (grub-mkpasswd-pbkdf2): Likewise.
11956 (grub-fstest): Likewise.
11957 (grub-mkfont): Likewise.
11958 (grub-mkdevicemap): Likewise.
11959 (grub-probe): Likewise.
11960 (grub-setup): Likewise.
11961 (grub-ofpathname): Likewise.
11962 (grub-mklayout): Likewise.
11963 (example_unit_test): Likewise.
11964 (grub-menulst2cfg): Likewise.
11965 * grub-core/Makefile.core.def (grub-emu): Likewise.
11966 (grub-emu-lite): Likewise.
11967 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
11968 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
11969 define HAVE_DIOCGDINFO.
11970 (follow_geom_up) [FreeBSD]: New function.
11971 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
11972 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
11973 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
11974 unconditionally of HAVE_DIOCGDINFO.
11975
82fe6c75
VS
119762011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11977
11978 Fix FreeBSD compilation problem.
11979
11980 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
11981 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
11982
4c6c9431
CW
119832011-03-24 Colin Watson <cjwatson@ubuntu.com>
11984
11985 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
11986 Switch back to page zero before loading a kernel, since some kernel
11987 drivers expect that.
11988 Thanks to: Felix Kuehling.
11989
c7064d94
VS
119902011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
11991
11992 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
11993 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
11994 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
11995
3f71cded
VS
119962011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
11997
11998 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
11999 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
12000
ef6de21a
VS
120012011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12002
12003 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
12004 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
12005 malloc is disabled.
12006
8bc66a2c
VS
120072011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12008
12009 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
12010 for modules headers when counting the needed allocation size.
12011
5657722c
VS
120122011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12013
12014 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
12015 if no ASCII character is found to prevent crash.
12016
41a85f55
AK
120172011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
12018
12019 * grub-core/video/bitmap.c (match_extension): Ignore case.
12020
59e1e5f1
VS
120212011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12022
12023 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
12024
bd4d051a
VS
120252011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12026
12027 * grub-core/script/parser.y: Declare "time" as valid argument.
12028
bae7fcc1
PJ
120292011-03-23 Peter Jones <pjones@redhat.com>
12030
12031 Fix incorrect assert failure reporting.
12032
12033 * grub-core/tests/example_functional_test.c (example_test): Add
12034 a failure comment.
12035 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
12036 (failure_start): ...this. Check that malloc succeeded.
12037 Don't call xvasprintf. Return failure struct.
12038 (failure_append_vtext): New function.
12039 (failure_append_text): Likewise.
12040 (add_failure): Likewise.
12041 (grub_test_assert_helper): Likewise.
12042 * include/grub/test.h (grub_test_assert_helper): New declaration.
12043 (grub_test_assert): Macro rewritten.
12044
537dc9be
VS
120452011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12046
12047 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
12048
fa3e01bf
VS
120492011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12050
12051 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
12052
b1d28404
VS
120532011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12054
12055 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
12056 into GRUB-style one.
12057
2e3e2e09
VS
120582011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12059
12060 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
12061 error and not grub_errno.
12062 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
12063
ed57e557
VS
120642011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12065
12066 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
12067 GRUB_USB_SPEED_NONE in case of failure and not the error code.
12068
d1611f01
VS
120692011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12070
12071 * grub-core/efiemu/i386/pc/cfgtables.c
12072 (grub_machine_efiemu_init_tables): Make declaration a prototype.
12073 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
12074 (grub_xnu_unlock): Likewise.
12075 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
12076
7d4e39d6
VS
120772011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12078
12079 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
12080 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
12081 * grub-core/commands/hashsum.c (aliases): Likewise.
12082 * grub-core/commands/setpci.c (pci_registers): Likewise.
12083 * grub-core/disk/usbms.c (attach_hook): Likewise.
12084 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
12085 (zio_checksum_table): Likewise.
12086 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
12087 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
12088 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
12089 * grub-core/lib/relocator.c (leftovers): Likewise.
12090 (extra_blocks): Likewise.
12091 * grub-core/loader/i386/bsd.c (relocator): Likewise.
12092 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
12093 (modules_last): Likewise.
12094 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
12095 (devices): Likewise.
12096 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
12097 (modules_last): Likewise.
12098 * grub-core/normal/auth.c (users): Likewise.
12099 * grub-core/normal/context.c (initial_menu): Likewise.
12100 (current_menu): Likewise.
12101 * grub-core/normal/crypto.c (crypto_specs): Likewise.
12102 * grub-core/term/serial.c (grub_serial_ports): Likewise.
12103 (grub_serial_terminfo_input_template): Likewise.
12104 (grub_serial_terminfo_output_template): Likewise.
12105 (grub_serial_terminfo_input): Likewise.
12106 (grub_serial_terminfo_output): Likewise.
12107 (registered): Likewise.
12108 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
12109
40fc4659
VS
121102011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12111
12112 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
12113 grub_video_mode_type_t.
12114 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
12115 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
12116 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
12117
2da48d28
VS
121182011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12119
12120 * util/grub-install.in: Correct the x86-64 name as x86_64.
12121
9b43bf39
CW
121222011-03-11 Colin Watson <cjwatson@ubuntu.com>
12123
12124 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
12125 initial chunk read from the kernel always includes GRUB's multiboot
12126 header, which is now outside the first sector.
12127
be1a7ce0
CW
121282011-03-09 Colin Watson <cjwatson@ubuntu.com>
12129
12130 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
12131 cached mmap_size, so that this works correctly when called multiple
12132 times.
12133 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
12134
83a3c48d
CW
121352011-03-09 Colin Watson <cjwatson@ubuntu.com>
12136
12137 * docs/grub.texi (Simple configuration): Tidy up formatting.
12138
57d75699
SJ
121392011-03-07 Szymon Janc <szymon@janc.net.pl>
12140
12141 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
12142 Set-but-not-used variable removed.
12143
028501a0
VS
121442011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12145
12146 Workaround yet another IEEE1275 bug.
12147
12148 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
12149 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
12150 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
12151 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
12152 is set.
12153 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12154 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
12155
d998657d
VS
121562011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12157
12158 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
12159 error.
12160
fee7cdd4
CW
121612011-02-11 Colin Watson <cjwatson@ubuntu.com>
12162
12163 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
12164 empty, since in that case we can only generate either nothing or a
12165 syntactically invalid configuration file.
12166 Reported by: Michal Suchanek. Fixes Debian bug #612898.
12167
97286eb5
CW
121682011-02-09 Colin Watson <cjwatson@ubuntu.com>
12169
12170 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
12171 (Making a GRUB bootable CD-ROM): Likewise.
12172 (Invoking grub-mkrescue): New section.
12173 Reported by: Yann Dirson. Fixes Debian bug #612585.
12174
22b28eb3
CW
121752011-02-09 Colin Watson <cjwatson@ubuntu.com>
12176
12177 * util/grub-install.in: Remove unnecessary brackets from tr
12178 arguments.
12179 * util/grub.d/10_hurd.in: Likewise.
12180 * util/grub.d/10_kfreebsd.in: Likewise.
12181 * util/grub.d/10_linux.in: Likewise.
12182 * util/grub.d/20_linux_xen.in: Likewise.
12183 Reported by: Jamie Heilman. Fixes Debian bug #612564.
12184
7e735e43
CW
121852011-02-08 Colin Watson <cjwatson@ubuntu.com>
12186
12187 * include/grub/file.h (not_easly_seekable): Rename to ...
12188 (not_easily_seekable): ... this. Update all users.
12189
800f1881
CW
121902011-01-28 Colin Watson <cjwatson@ubuntu.com>
12191
12192 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
12193 grub-mkrescue.
12194
3281d3d6
VS
121952011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12196
12197 * util/grub-mkimage.c (generate_image): Refuse to create the images
12198 bigger than the actual flash (512K) in Loongson machines. 512K is also
12199 the biggest chip supported by them.
12200
3533413c
VS
122012011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12202
12203 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
12204
73ae4f4f
VS
122052011-01-22 Anthony DeRobertis <anthony@derobert.net>
12206
12207 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
12208 super_offset field.
12209
37f4f608
VS
122102011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12211
12212 * util/grub-install.in: Ignore install device on platforms
12213 where it doesn't make sense. Always use UUIDs except on pc, efi and
12214 sparc64.
12215 Reported by: Daniel Kahn Gillmor.
12216
03a4ccb5
VS
122172011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12218
12219 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
12220
ffc8f4d8
VS
122212011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12222
12223 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
12224 (iterate_real): Don't rely on partition being non-NULL.
12225
80f23be7
VS
122262011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12227
12228 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
12229 supported platforms. Put a compile time assert for this rather than
12230 generate a warning with 32-bit shift.
12231
5d4f4dd5
VS
122322011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12233
12234 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
12235 logical expression more readable.
12236
e489601a
VS
122372011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12238
12239 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
12240 even if some elements have a name.
12241 Reported by: Alexander GQ Gerasiov.
12242
96e0a6ea
CW
122432011-01-22 Colin Watson <cjwatson@ubuntu.com>
12244
12245 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
12246 path unreadable if `grub-probe -t abstraction' fails, for example if
12247 memberlist fails on an LVM volume group.
12248 Reported by: Darius Jahandarie.
12249
81431e2b
CW
122502011-01-22 Colin Watson <cjwatson@ubuntu.com>
12251
12252 * docs/grub.texi (Simple configuration): Document
12253 GRUB_PRELOAD_MODULES.
12254
5e79d66a
CW
122552011-01-17 Colin Watson <cjwatson@ubuntu.com>
12256
12257 * .bzrignore: Remove nonexistent grub-pbkdf2.
12258
646ada34
VS
122592011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
12260
12261 * configure.ac: Bump version to 1.99~rc1.
12262
04360337
VS
122632011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
12264
12265 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
12266 for safety.
12267
46c9db88
VS
122682011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12269
12270 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
12271 module.
12272
122732011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
12274
12275 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
12276
4fbf1852
VS
122772011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12278
12279 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
12280 diskdevid.
12281
f1632d4d
VS
122822011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12283
12284 Fix compilation on cygwin.
12285
12286 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
12287 -R .drectve on cygwin.
12288 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
12289 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
12290 (COND_CYGWIN): New condition.
12291 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
12292 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
12293 not @TARGET_OBJ2ELF@.
12294 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
12295 type to determine whether aux is to be used.
12296
0b5e127b
VS
122972011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12298
12299 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
12300 realpath'ed device string.
12301 Handle floppy (somewhat).
12302 Issue error in unknown case rather than garbage.
12303 Reported by: Axel Beckert.
12304
173b71e9
VS
123052011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12306
12307 * util/grub.d/00_header.in (load_video): Handle the case when no video
12308 drivers available.
12309 Thanks to: Axel Beckert.
12310
f8f479db
VS
123112011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12312
12313 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
12314 variable. Fixes problem on big endian platforms.
12315
8fc0a245
VS
123162011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12317
12318 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
12319 It doesn't work well there.
12320
b8494fbe
VS
123212011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12322
12323 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
12324 warning.
12325 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
12326 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
12327 counter.
12328
b44a558c
VS
123292011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12330
12331 Use alias->path rather than buggy "canon".
12332
12333 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
12334 (ofdisk_hash_add): New argument curcan. All users updated.
12335
51fa856c
CW
123362011-01-11 Colin Watson <cjwatson@ubuntu.com>
12337
12338 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
12339
9da068a5
VS
123402011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12341
12342 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
12343 loadmask before doing any calculations. Use correct type for offset.
12344 (grub_linux_load64): Likewise.
12345
86205c94
CW
123462011-01-11 Colin Watson <cjwatson@ubuntu.com>
12347
12348 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
12349 with NULL.
12350 (console_grub_equivalences_unshift): Likewise.
12351 Reported by: Daniel Dehennin.
12352
4531a206
VS
123532011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12354
12355 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
12356 (set_env_limn_ro): Likewise.
12357 (GRUB_MOD_INIT): Likewise.
12358 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
12359 ARRAY_SIZE while on it.
12360 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
12361 * grub-core/normal/context.c (grub_env_export): Move from here ...
12362 * grub-core/kern/env.c (grub_env_export): ... here.
12363 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
12364 prefix.
12365 * grub-core/kern/main.c (grub_main): Export root and prefix.
12366 * include/grub/env.h (grub_env_export): Export.
12367 Reported by: Seth Goldberg.
12368
45146057
VS
123692011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12370
12371 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12372 Take into account space used by ELF sections and multiboot palette.
12373 Reported by: Grégoire Sutre.
12374
f093110b
VS
123752011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12376
12377 * BUGS: New file.
12378
3395fe52
VS
123792011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12380
12381 Pass more appropriate video id to Linux.
12382
12383 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
12384 grub_video_get_driver_id and variable gfxpayloadforcelfb to
12385 fill have_vga.
12386 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
12387 shift params->lfb_size.
12388 * include/grub/i386/linux.h: Make an enume out of have_vga values.
12389
c2fa6cbb
VS
123902011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12391
12392 * util/grub-menulst2cfg.c: Add missing include of misc.h.
12393
b3ff6ff0
VS
123942011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12395
12396 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
12397 separator and pass bootpath/devid even if only one of them is available.
12398 Reported by: Seth Goldberg.
12399
ae67942e
VS
124002011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12401
12402 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
12403 implementations bug on them.
12404
12405 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
12406 memory.
12407 (filter_memory_map): Likewise.
12408
d570097a
VS
124092011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12410
12411 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
12412 Reported by: nebuchadnezzar.
12413
a508e776
VS
124142011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12415
12416 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
12417 Reported by: nebuchadnezzar.
12418
dcb883b1
VS
124192011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12420
12421 Submenu default support.
12422
12423 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
12424 auto_boot. All users updated.
12425 Declared static.
12426 Handle chosen and default with submenus.
12427 (grub_menu_execute_with_fallback): Declared static.
12428 Don't notify failure if autobooted. Upper level does it.
12429 (menuentry_eq): New function.
12430 (get_entry_number): Use menuentry_eq.
12431 (show_menu): New parameter "autobooted". All users updated.
12432 (grub_show_menu): Likewise.
12433 * include/grub/normal.h (grub_show_menu): Likewise.
12434 * include/grub/menu.h (grub_menu_execute_entry): Removed.
12435 (grub_menu_execute_with_fallback): Likewise.
12436
6fef99b4
VS
124372011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12438
12439 * util/grub-mklayout.c (usage): Update help text.
12440
47a77af5
VS
124412011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12442
12443 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
12444
ce6bb3ee
VS
124452011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12446
12447 * util/grub-menulst2cfg.c (main): Trim the line.
12448
db87be2a
VS
124492011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12450
12451 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
12452 (grub_machine_init): Don't check amount of low memory as reportedly
12453 INT 12h can be broken and if low memory is too low we wouldn't have
12454 gotten into grub_machine_init anyway.
12455
c49849cc
VS
124562011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12457
12458 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
12459 (grub_machine_mmap_iterate): Take low memory into account
12460
b1969b30
VS
124612011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12462
12463 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
12464 badfs.
12465 Reported by: TiCPU.
12466
cf0eaf13
VS
124672011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12468
12469 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
12470 members errors.
12471
1f060f39
GS
124722011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
12473
12474 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
12475 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
12476
a21e5672
GS
124772011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
12478
12479 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
12480 openbsd and netbsd types being in part_bsd module.
12481
c88172fa
VS
124822011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12483
12484 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
12485 (_FILE_OFFSET_BITS): Likewise.
12486 Reported by: Seth Goldberg.
12487
53798c4b
GS
124882011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
12489
12490 * configure.ac: Check for libdevmapper header.
12491
e7121b69
VS
124922011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12493
12494 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
12495 avoid aliasing.
12496 (fzap_lookup): Likewise.
12497 (dnode_get): Likewise.
12498 (make_mdn): Likewise.
12499 (zfs_mount): Likewise.
12500 (fzap_iterate): Use temporary pointer to avoid aliasing.
12501 (grub_zfs_read): Likewise.
12502 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
12503 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
12504 pointers to avoid aliasing.
12505 (grub_cmd_xnu_kernel64): Likewise.
12506 (grub_xnu_load_driver): Likewise.
12507
fc836af9
VS
125082011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12509
12510 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
12511 aliasing warning.
12512 (grub_cmd_terminal_output): Likewise.
12513 Reported and tested by: Grégoire Sutre.
12514
f9f37648
VS
125152011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12516
12517 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
12518 warning.
12519 Reported and tested by: Grégoire Sutre.
12520
ec1dfd63
VS
125212011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12522
12523 * configure.ac: Do CPU substitution even if it's specified explicitly.
12524 Reported and tested by: Alain Greppin.
12525
9462775a
VS
125262011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12527
12528 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
12529 Reported and tested by: Alain Greppin.
12530
0fd48e35
VS
125312011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12532
12533 Satisfy some bison versions need for inttypes.h.
12534
12535 * grub-core/lib/posix_wrap/inttypes.h: New file.
12536 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
12537 (int16_t): Likewise.
12538 (int32_t): Likewise.
12539 (int64_t): Likewise.
12540 Reported and tested by: Alain Greppin.
12541
43f1bc83
VS
125422011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12543
12544 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
12545 Silence spurious warning.
12546 Reported and tested by: Alain Greppin.
12547
64d1f041
SJ
125482011-01-07 Szymon Janc <szymon@janc.net.pl>
12549
12550 * docs/grub.texi (Support automatic decompression): Update with xz
12551 decompression support.
12552
25953e10
SJ
125532011-01-07 Szymon Janc <szymon@janc.net.pl>
12554
12555 Improve loaders' kernel command line handling.
12556
12557 * grub-core/lib/cmdline.c: New file.
12558 * include/grub/lib/cmdline.h: Likewise.
12559 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
12560 grub_create_loader_cmdline to create kernel command line.
12561 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12562 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
12563 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
12564 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
12565 (linux): Add lib/cmdline.c on common.
12566
e72d259f
VS
125672011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12568
12569 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
12570 inopos might be unaligned.
12571
c0cf26da
VS
125722011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12573
12574 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
12575 endian transformations.
12576 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12577 Based on report by: Doug Nazar.
12578
0ca09e6c
DN
125792011-01-07 Doug Nazar <nazard.michi@gmail.com>
12580
12581 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
12582 array->members[i].start_sector.
12583 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
12584
014b6806
VS
125852011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12586
12587 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
12588 Reported and tested by: Grégoire Sutre.
12589
415502c2
CW
125902011-01-06 Colin Watson <cjwatson@ubuntu.com>
12591
12592 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
12593 avoid causing test failures by clearing the screen.
12594
71b6a2b7
CW
125952011-01-06 Colin Watson <cjwatson@ubuntu.com>
12596
12597 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
12598 Fix prefix check to handle the case where dir ends with a slash
12599 (most significantly, "/" itself).
12600 Reported by: Michael Vogt.
12601
b3f8d28a
VS
126022011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
12603
12604 Run terminfo_cls on initing terminfo output to clear the screen and
12605 move the cursor to (0,0).
12606
12607 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
12608 Call grub_terminfo_output_init.
12609 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
12610 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
12611 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
12612
4c3e4f37
VS
126132011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
12614
12615 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
12616 only when needed.
12617
488f71f1
VS
126182011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
12619
12620 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
12621 CTRL.
12622
18a38098
VS
126232011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
12624
12625 The E820 type 5 is BADRAM, not EXEC_CODE.
12626
12627 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
12628 (GRUB_E820_BADRAM): New define.
12629 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
12630 into reserved. Propagate BADRAM.
12631 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
12632 (GRUB_E820_BADRAM): New define.
12633
9eae2084
VS
126342011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12635
12636 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
12637 Ignore the memory post-4G.
12638 (grub_relocator_firmware_alloc_region): Additional debug statement.
12639
ebc71d28
VS
126402011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12641
12642 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
12643 names.
12644 Reported by: David Pravec.
12645
446fa400
VS
126462011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12647
12648 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
12649 BIOSes.
12650
a0159f37
VS
126512011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12652
12653 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
12654 Prevent overflow.
12655 (grub_reed_solomon_recover): Likewise.
12656
e5146ca1
VS
126572011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12658
12659 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
12660
126612011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
12662
12663 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
12664 variable.
12665
5b1bdf12
CW
126662011-01-04 Colin Watson <cjwatson@ubuntu.com>
12667
12668 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
12669 descriptions of extract_legacy_entries_source and
12670 extract_legacy_entries_configfile.
12671 Reported by: Seung Soo, Ha.
12672
99d925aa
CW
126732011-01-03 Colin Watson <cjwatson@ubuntu.com>
12674
12675 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
12676 on devices that do not implement function 0.
12677
4af0504b
DV
126782011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
12679
12680 * grub-core/fs/hfsplus.c: Make parent unsigned.
12681 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
12682 overflows.
12683 (grub_hfsplus_cmp_extkey): Likewise
12684
469ee10a
VS
126852011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
12686
12687 * util/grub-install.in: Correctly use bootloader_id and not
12688 GRUB_DISTRIBUTOR on efibootmgr line.
12689
323a8e9c
VS
126902011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
12691
12692 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
12693
1b394975
IC
126942010-12-31 Ian Campbell <ijc@hellion.org.uk>
12695
12696 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
12697 Xen and reorder menu item wording to make it clearer that this entry
12698 will launch Xen. Print separate messages when loading Xen and
12699 Linux.
12700
275bff5f
VS
127012010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
12702
12703 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
12704 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
12705 loop in case of incorrect amiga partmap.
12706
307806cb
VS
127072010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
12708
12709 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
12710 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
12711 Reported by:EHeM.
12712
b12b923e
VS
127132010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
12714
12715 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
12716 spurious warning.
12717 Reported by: crocket
12718
14b48a19
VS
127192010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12720
12721 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
12722 Preload EFIemu.
12723 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
12724
693db2df
VS
127252010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12726
12727 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
12728 is loaded
12729 (grub_cmd_xnu_kextdir): Likewise.
12730 (grub_cmd_xnu_splash): Likewise.
12731
c7638645
VS
127322010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12733
12734 Avoid using Reed-Solomon with 0 redundancy.
12735
12736 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
12737 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
12738 or 0 redundancy.
12739 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
12740 (grub_reed_solomon_recover): Likewise.
12741
25dd4780
VS
127422010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12743
12744 Don't use disk subsystem in freebsd_boot.
12745
12746 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
12747 (freebsd_biosdev): Likewise.
12748 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
12749 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
12750
0b2db943
VS
127512010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12752
12753 Handling of files of unknown size is currently limited. They can't be
12754 used e.g. for initrd or modules. Moreover gzip handling of not
12755 easily seekable files is buggy. Disable unknown file size for now. May
12756 be inefficient but works.
12757
12758 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
12759 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
12760
5c408d0f
MP
127612010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
12762
12763 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
12764 floppy probe.
12765
190a011a
JD
127662010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
12767
12768 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
12769
022d01b8
SL
127702010-12-25 Shea Levy <shlevy>
12771
12772 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
12773
c4855fdc
VS
127742010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12775
12776 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
12777 Windows Server 2008.
12778 Reported by: Devin Giddings.
12779
0354b867
VS
127802010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12781
12782 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
12783 writing an error message because of async power management.
12784 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
12785 (grub_reboot): Likewise.
12786
ab66c69f
JU
127872010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
12788
12789 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
12790 keep unit tests from failing when they shouldn't.
12791
1426ef35
CW
127922010-12-21 Colin Watson <cjwatson@ubuntu.com>
12793
12794 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
12795 previous patch increased the size of the RS code by 20 bytes (at
12796 least with gcc-4.4), so increase this by 20 bytes to match.
12797 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
12798
20641b6b
CW
127992010-12-21 Colin Watson <cjwatson@ubuntu.com>
12800
12801 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
12802 scratch area. Make sure to initialise chosen in standalone mode as
12803 well as non-standalone.
12804 Reported by: Robert Hooker and Andy Whitcroft.
12805 Tested by: Andy Whitcroft.
12806
d060ad60
CW
128072010-12-21 Colin Watson <cjwatson@ubuntu.com>
12808
12809 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
12810 constructing a new unescaped string and passing it to grub_xputs in
12811 one go, rather than passing characters to grub_printf one at a time.
12812
b889cfad
CW
128132010-12-21 Colin Watson <cjwatson@ubuntu.com>
12814
12815 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
12816 initialising utf16.
12817
4e01b6c8
CW
128182010-12-21 Colin Watson <cjwatson@ubuntu.com>
12819
12820 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
12821 comment. Add an extra layer of quotation, requiring the output of
12822 this function to be used in a printf format string.
12823 (gettext_printf): New function.
12824 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
12825 Extract translatable strings from here-documents and use a temporary
12826 variable instead, so that xgettext can find them.
12827 * util/grub.d/10_kfreebsd.in: Likewise.
12828 * util/grub.d/10_linux.in: Likewise.
12829 * util/grub.d/20_linux_xen.in: Likewise.
12830
12831 * po/grub.d.sed: New file.
12832 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
12833 arguments. Set c-format flags on all strings extracted from
12834 util/grub.d/ (xgettext refuses to include these itself for strings
12835 it extracted from a shell file, but these really are c-format).
12836
5318fe98
VS
128372010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
12838
12839 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
12840 Avoid next pointing to nowhere.
12841
6c85b743
VS
128422010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
12843
12844 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
12845 rather than assuming than rootblock is exactly in the middle.
12846 (grub_affs_label): Likewise.
12847
a2a08a35
VS
128482010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
12849
12850 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
12851 reserved_first_sector to 0.
12852 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
12853 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
12854 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
12855
7059d1ec
VS
128562010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
12857
12858 Fix handling of UTF-16 UDF labels.
12859
12860 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
12861 (read_string): .. here.
12862 (grub_udf_label): Use read_string.
12863
30aff4cb
BC
128642010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
12865
12866 * grub-core/normal/menu_entry.c (run): Execute commands from menu
12867 editor under argument scope.
12868 Reported by: Jordan Uggla
12869
5cf86f4b
VS
128702010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
12871
12872 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
12873
32570200
CW
128742010-12-18 Colin Watson <cjwatson@ubuntu.com>
12875
12876 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
12877 line, and other keys scroll an entire page (previous handling was
12878 for \r and \n to scroll a page and other keys to scroll two lines).
12879
e1dffcf2
VS
128802010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
12881
12882 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12883 Set ptrdest to correct get_physical_target_address rather than
12884 incorrect get_virtual_current_address.
12885
b04298cf 128862010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
12887
12888 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
12889 correct cat to grub_uint8_t * rather than grub_uint32_t *.
12890
5367ecd3
CW
128912010-12-10 Colin Watson <cjwatson@ubuntu.com>
12892
12893 * .bzrignore: Ignore grub-core/rs_decoder.S.
12894
1fb430f8
CW
128952010-12-10 Colin Watson <cjwatson@ubuntu.com>
12896
12897 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
12898 .mo/.mo.gz opening sequence to ...
12899 (grub_mofile_open_lang): ... here.
12900 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
12901 * util/grub.d/00_header.in (grub_lang): Include country part of
12902 locale.
12903 Reported by: Mario Limonciello.
12904
a94a6671
RM
129052010-12-09 Robert Millan <rmh@gnu.org>
12906
12907 * NEWS: Document addition of ZFS support.
12908
24b7938b
CW
129092010-12-04 Colin Watson <cjwatson@ubuntu.com>
12910
12911 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
12912 rather than `/ 2', as the latter requires -Wa,--divide which would
12913 require bumping our minimum binutils version.
12914
bddc3ef6
BC
129152010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
12916
12917 * util/grub-script-check.c (main): Print script line number on
12918 error.
12919
bf78d5b2
RM
129202010-12-01 Robert Millan <rmh@gnu.org>
12921
12922 * grub-core/fs/zfs/zfs.c: New file.
12923 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
12924 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
12925 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
12926 * grub-core/fs/zfs/zfsinfo.c: Likewise.
12927
12928 * include/grub/zfs/dmu.h: Likewise.
12929 * include/grub/zfs/dmu_objset.h: Likewise.
12930 * include/grub/zfs/dnode.h: Likewise.
12931 * include/grub/zfs/dsl_dataset.h: Likewise.
12932 * include/grub/zfs/dsl_dir.h: Likewise.
12933 * include/grub/zfs/sa_impl.h: Likewise.
12934 * include/grub/zfs/spa.h: Likewise.
12935 * include/grub/zfs/uberblock_impl.h: Likewise.
12936 * include/grub/zfs/vdev_impl.h: Likewise.
12937 * include/grub/zfs/zap_impl.h: Likewise.
12938 * include/grub/zfs/zap_leaf.h: Likewise.
12939 * include/grub/zfs/zfs.h: Likewise.
12940 * include/grub/zfs/zfs_acl.h: Likewise.
12941 * include/grub/zfs/zfs_znode.h: Likewise.
12942 * include/grub/zfs/zil.h: Likewise.
12943 * include/grub/zfs/zio.h: Likewise.
12944 * include/grub/zfs/zio_checksum.h: Likewise.
12945
12946 * Makefile.util.def: Build ZFS into libgrubmods.
12947 * grub-core/Makefile.core.def: Build zfs.mod.
12948
3f0f3831
SJ
129492010-11-30 Szymon Janc <szymon@janc.net.pl>
12950
12951 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
12952 variable.
12953 * grub-core/commands/wildcard.c (match_files): Likewise.
12954
3a4253b2
RM
129552010-11-30 Robert Millan <rmh@gnu.org>
12956
12957 * grub-core/loader/i386/bsd.c
12958 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
12959 whether kernel is loaded using grub_loader_is_loaded(), rather
12960 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
12961 certain error conditions.
12962
8c317b27
RM
129632010-11-30 Robert Millan <rmh@gnu.org>
12964
c5c9cd3e
RM
12965 * grub-core/commands/echo.c: Include `<grub/term.h>'.
12966 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 12967
49d3ab46
VS
129682010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
12969
12970 Avoid using tricks for initialising endian variables.
12971
12972 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
12973 Make const.
12974 (GRUB_MOD_INIT): Don't byte-swap.
12975 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
12976 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
12977 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
12978 (grub_swap_bytes32_compile_time): Likewise.
12979 (grub_cpu_to_le32_compile_time): Likewise.
12980 (grub_cpu_to_le16_compile_time): Likewise.
12981
f420a804
VS
129822010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
12983
12984 * util/grub-setup.c (setup): Stop recommending --force. People who
12985 understand the dangers of blocklists are able to find this option
12986 anyway and the ones who don't shouldn't use it anyway.
12987
4e7db17b
RM
129882010-11-26 Robert Millan <rmh@gnu.org>
12989
12990 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
12991 Update all users.
12992
9be57a0d
CW
129932010-11-26 Colin Watson <cjwatson@ubuntu.com>
12994
12995 Fix LVM-on-RAID probing.
12996
12997 * util/grub-probe.c (probe): Remember which disk was detected as
12998 RAID (perhaps an LVM physical volume). Use that disk's raidname
12999 rather than that of the top-level disk.
13000
2c7859b3 130012010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 13002
d7647bb6
BC
13003 Fix cmdline argument quotes for setparams command of menuentry
13004 definitions.
7e623b0d
BC
13005
13006 * grub-core/commands/menuentry.c (setparams_prefix): Use single
13007 quotes for arguments.
f866fe80 13008 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 13009 grub_strchrsub function instead.
f866fe80 13010
7955bea0 13011 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 13012
74f72a64
CW
130132010-11-24 Colin Watson <cjwatson@ubuntu.com>
13014
13015 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
13016 effort by skipping "." and ".." entries up-front.
13017 Suggested by: Michael Lazarev.
13018
5a407278
CW
130192010-11-24 Colin Watson <cjwatson@ubuntu.com>
13020
13021 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
13022 ldflags to ldadd, to fix link line ordering.
13023 (none_decompress): Likewise.
13024
3030d8ec
CW
130252010-11-24 Colin Watson <cjwatson@ubuntu.com>
13026
13027 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
13028 platforms.
13029 (grub-emu-lite): Remove kern/emu/cache.S.
13030
b7fbac12
CW
130312010-11-23 Colin Watson <cjwatson@ubuntu.com>
13032
13033 * util/deviceiter.c (compare_devices): If the by-id link for a
13034 device couldn't be resolved, fall back to sorting by the by-id link
13035 rather than segfaulting.
13036 Reported and tested by: Daniel Mierswa.
13037
5225f328
CW
130382010-11-23 Colin Watson <cjwatson@ubuntu.com>
13039
13040 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
13041 ldflags, to fix link line ordering.
13042
038b3ce8
CW
130432010-11-23 Colin Watson <cjwatson@ubuntu.com>
13044
13045 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
13046 linkers are picky about this.
13047
bf16e98e
CW
130482010-11-23 Colin Watson <cjwatson@ubuntu.com>
13049
13050 * grub-core/Makefile.am (command.lst): Adjust sed expression
13051 ordering so that extended and priority commands aren't treated as
13052 ordinary commands.
13053
7242bab6
CW
130542010-11-23 Colin Watson <cjwatson@ubuntu.com>
13055
13056 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
13057 Remove byte-swapping function calls, which are not valid in
13058 structure initialisers.
13059 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
13060 non-const.
13061 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
13062 grub_gpt_partition_type_bios_boot.
13063
14e8b279
CW
130642010-11-22 Colin Watson <cjwatson@ubuntu.com>
13065
13066 Fix test program build on GNU/kFreeBSD.
13067
13068 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
13069 $(LIBNVPAIR)' library dependencies.
13070
e6f63338 130712010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
13072
13073 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
13074
cf8ffc38
CW
130752010-11-22 Colin Watson <cjwatson@ubuntu.com>
13076
13077 * util/grub-install.in: Remove excessive quoting that broke
13078 installations to RAID devices.
13079
7f8b0fd7
VS
130802010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13081
13082 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
13083 bootloader version instead of 0.
13084
dfd240b1
VS
130852010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13086
13087 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
13088 warning.
13089
7b61e609
VS
130902010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13091
13092 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
13093 retrieve the metadat sector if size isn't known.
13094 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13095
9dfe92d0
RM
130962010-11-18 Robert Millan <rmh@gnu.org>
13097
13098 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
13099 with grub_memcmp().
13100
41cc919e
VS
131012010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
13102
13103 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
13104 arrow.
13105 Reported by: Jordan Uggla.
13106
1afcc914
VS
131072010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13108
13109 Make better UTF compliant.
13110
13111 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
13112 sequences as incorrect.
13113 (grub_is_valid_utf8): Likewise.
13114 (grub_utf8_to_ucs4): Likewise.
13115 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
13116 (grub_ucs4_to_utf8_alloc): Likewise.
13117 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
13118
f1808884
VS
131192010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13120
13121 Make legacy_source behave like source.
13122
13123 * grub-core/commands/legacycfg.c (legacy_file): Don't call
13124 grub_show_menu.
13125 (grub_cmd_legacy_source): Call grub_show_menu if needed.
13126
24ec575b
CW
131272010-11-16 Colin Watson <cjwatson@debian.org>
13128
13129 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
13130 (-Wunused implies -Wunused-parameter, but not vice versa).
13131
72b7c7aa
CW
131322010-11-16 Colin Watson <cjwatson@ubuntu.com>
13133
13134 * configure.ac: Make error messages less confusing by testing for
13135 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
13136 accepted, but produces a diagnostic if something else is wrong).
13137
e98937aa
VS
131382010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
13139
13140 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
13141 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
13142 (now unused).
13143 (grub_keyboard_controller_init)
13144 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
13145 read the initial state since controller isn't inited yet.
13146
f6bbabc3
VS
131472010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
13148
13149 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
13150 allocate_regbeg may need to create new chunk header.
13151
22e7dbb2
VS
131522010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13153
13154 Fix quoting in legacy parser.
13155
13156 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
13157 single quotes.
13158 (grub_legacy_parse): Likewise.
13159 Reported by: Jordan Uggla.
13160 Tested by: Jordan Uggla.
13161
03f80960
VS
131622010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13163
13164 Don't add -lgcc on i386 and x86_64.
13165
13166 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
13167 * conf/Makefile.common (LDADD_KERNEL): Likewise.
13168 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
13169
779dc15b
VS
131702010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13171
13172 * configure.ac: Add -Wno-trampolines when supported.
13173
d20a3b37
MV
131742010-11-14 Modestas Vainius <modax@debian.org>
13175
13176 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
13177 fakeraid.
13178
e5360933
GC
131792010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13180
13181 Add generic logical block size support for UDF.
13182
13183 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
13184 (GRUB_UDF_BLKSZ): Removed.
13185 (struct grub_udf_data): New field "lbshift" to hold the logical block
13186 size of the file system in log2 format. All users updated.
13187 (sblocklist): Change type to unsigned.
13188 (grub_udf_mount): Change type of "sblklist" to unsigned.
13189 Move AVDP search before VRS recognition, because the latter requires
13190 knowledge of the logical block size, which is detected during the
13191 former.
13192 Detect and validate logical block size during AVDP search, adding
13193 support for block sizes 512, 1024 and 4096.
13194 Make VRS recognition independent of block size.
13195
cb0229c5
GC
131962010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13197
13198 Properly handle deleted files on UDF.
13199
13200 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
13201 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
13202 set.
13203
406858a8
GC
132042010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13205
13206 Support reading files larger than 2 GiB.
13207
13208 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
13209 "offset" to grub_off_t.
13210 (grub_udf_read_file): Likewise for parameter "pos".
13211
130da6a7
VS
132122010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13213
13214 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
13215 unavailable.
13216 (Simple configuration): Refer to Changes from GRUB Legacy about
13217 save_env availability.
13218
65e93f6b
VS
132192010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13220
13221 * util/grub-install.in: Ignore empty partition table detection
13222 instead of trying to include part_ module.
13223
1fd08bf1
VS
132242010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13225
13226 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
13227 LVM on RAID support.
13228
de1a024f
VS
132292010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13230
13231 Properly define WORDS_BIGENDIAN in wrapped environments.
13232
13233 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
13234 definition.
13235 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
13236
13237 Reported by: Manoel Rebelo Abranches.
13238 Tested by: Manoel Rebelo Abranches.
13239
bc5dd0b9
VS
132402010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13241
13242 * util/grub-mkconfig.in: Fix quoting.
13243
58c184be
VS
132442010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13245
13246 Support big ext2 files.
13247
13248 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
13249 (grub_ext2_read_block): Support triple indirect blocks.
13250 (grub_ext2_read_file): Use 64-bit types and read size_high.
13251 (grub_ext2_open): Read size_high.
13252 Reported by: Ximin Luo.
13253 Tested by: Manoel Rebelo Abranches.
13254
5f0c02b3
VS
132552010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13256
13257 * util/grub-install.in: Handle filenames containing spaces.
13258 Reported by: Jordan Uggla.
13259 Tested by: Jordan Uggla.
13260
4417aae6
VS
132612010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13262
13263 * util/grub-mkconfig.in (grub_script_check): New variable.
13264 Use grub_script_check instead of grub-script-check.
13265 Reported by: Barry Jackson.
13266
7625a68e
VS
132672010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13268
13269 * docs/grub.texi (menu): Correct the order.
13270 Reported by: D. Hugh Redelmeier.
13271
10001ac5
VS
132722010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13273
13274 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
13275 jump.
13276
9c4cf53b
MRA
132772010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
13278
10001ac5
VS
13279 * include/grub/elfload.h (grub_elf32_size): New parameter.
13280 All users updated.
9c4cf53b
MRA
13281 Return maximum segments alignment.
13282 (grub_elf64_size): Likewise.
13283 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
13284 Return maximum segments alignment.
13285 (grub_elf64_size): Likewise.
13286 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
13287 (grub_linux_claimmap_iterate): New function. Uses the
13288 "available" property in the "memory" node for memory allocation
13289 for kernel in the PowerPC loader.
9c4cf53b
MRA
13290 (grub_linux_load32): Correctly find linux entry point offset.
13291 (grub_linux_load64): Likewise.
13292
d2bf06bf
RM
132932010-11-07 Robert Millan <rmh@gnu.org>
13294
13295 On mips-yeeloong, build with -march=loongson2f when this flag is
13296 available (GCC >= 4.4).
13297 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
13298 `-march=mips3'.
13299 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
13300 or otherwise add -march=mips3.
13301
898c99a2
BC
133022010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
13303
87220a68
BC
13304 Suppress shell expansion on echo '*' and echo "*" like cases.
13305 Reported by: Jordan Uggla.
898c99a2
BC
13306
13307 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
13308 string arguments before shell expansion.
13309 * tests/grub_cmd_echo.in: New testcases.
13310
4f9b406a
RM
133112010-11-07 Robert Millan <rmh@gnu.org>
13312
13313 * conf/mips-qemu-mips.rmk: Remove stale file from previous
13314 transition.
13315
80c6d25e
VS
133162010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
13317
13318 * grub-core/kern/emu/hostdisk.c
13319 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
13320
4a1a0153
VS
133212010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13322
13323 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
13324 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
13325 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
13326
34706ddc
VS
133272010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13328
13329 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
13330
6972dea9
VS
133312010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13332
13333 * util/grub-install.in: Replace useless recomendation to pass
13334 --modules with a recomendation to report a bug.
13335
9c693bd6
VS
133362010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13337
13338 Properly register serial terminfo.
13339 Reported by: Jordan Uggla
13340
13341 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
13342 const.
13343 (grub_serial_terminfo_output_template): Likewise.
13344 (grub_cmd_serial): Register "serial" with terminfo.
13345 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
13346 grub_serial_terminfo_output.
13347
6c9e4c0c
RM
133482010-11-05 Robert Millan <rmh@gnu.org>
13349
13350 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
13351 needed).
13352
b9b3839f
RM
133532010-11-05 Robert Millan <rmh@gnu.org>
13354
13355 On Yeeloong, pass machine type information to Linux.
13356
13357 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
13358 (LOONGSON_MACHTYPE): New macro, set to
13359 "machtype=lemote-yeeloong-2f-8.9inches".
13360 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
13361 additional argument to Linux.
13362
1a3aaff4
RM
133632010-11-04 Robert Millan <rmh@gnu.org>
13364
13365 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
13366 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
13367 (its SATA disks are detected as slaveless IDE master drives on
13368 kFreeBSD).
13369 Reported by Carsten Aulbert.
13370
a75f4f62
CW
133712010-11-02 Colin Watson <cjwatson@ubuntu.com>
13372
13373 * util/bin2h.c (main): Fix spelling error in generated output.
13374
33b4b0c6
GS
133752010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
13376
13377 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
13378
2b36fbf4
VS
133792010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13380
13381 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
13382 vga= option is supplied.
13383
74aaf558
VS
133842010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13385
13386 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
13387 * util/grub.d/10_kfreebsd.in: Likewise.
13388 * util/grub.d/10_linux.in: Likewise.
13389 * util/grub.d/20_linux_xen.in: Likewise.
13390
6428dec3
VS
133912010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13392
13393 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
13394 argument as an argument to no-argument option.
13395
f8729d98
VS
133962010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13397
13398 * util/grub.d/10_linux.in: Add missing load_video with explicit
13399 GRUB_GFXPAYLOAD_LINUX.
13400
89d68fa6
VS
134012010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13402
13403 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
13404
3a1197cd
VS
134052010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13406
13407 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
13408 elements with invlid index.
13409 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13410 * grub-core/disk/raid.c (insert_array): Automatically reallocate
13411 members.
13412 * include/grub/raid.h (grub_raid_member): New struct.
13413 (grub_raid_array): Transform devices and start_sector into usage of
13414 grub_raid_member. All users updated
13415 (allocated_devs): New member.
13416
71574288
VS
134172010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13418
13419 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
13420 is modified
13421
8d40ec65
BC
134222010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
13423
13424 NetBSD build fix for getline function conflict from gnulib.
13425
13426 * Makefile.util.def (libgrubkern.a): New library for grub kernel
13427 components that depend on gnulib headers.
13428 (libgrubmods.a): Renamed from earlier libgrub.a.
13429 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
13430
95b9257e
VS
134312010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13432
13433 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
13434 install rather than creating a broken install.
13435
26c53dc6
VS
134362010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13437
13438 * util/grub-setup.c (argp): Remove misleading example of installing to
13439 a partition.
13440
4171b3c5
VS
134412010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13442
13443 * util/grub-setup.c (setup): Clarify the error message.
13444
18568d18
VS
134452010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13446
13447 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
13448
4f6a2e21
VS
134492010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13450
13451 * grub-core/kern/emu/misc.c
13452 (grub_make_system_path_relative_to_its_root)
13453 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
13454
134552010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
13456
13457 * grub-core/kern/emu/misc.c
13458 (grub_make_system_path_relative_to_its_root): Revert r2882.
13459
e138c458
VS
134602010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
13461
13462 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
13463 useless field head. All users updated.
13464 (free_subchunk): Correct handling of IN_REGION subchunk.
13465
0cbcdf0e
CW
134662010-10-22 Colin Watson <cjwatson@ubuntu.com>
13467
13468 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
13469 (Supported kernels): Likewise.
13470
b65ea155
GS
134712010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
13472
13473 Make mktemp invocations portable.
13474
13475 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
13476 exit if mktemp fails.
13477 * tests/grub_script_blockarg.in: Likewise.
13478 * tests/partmap_test.in: Likewise.
13479 * tests/util/grub-shell-tester.in: Likewise.
13480 * tests/util/grub-shell.in: Likewise.
13481 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13482 * Makefile.am: Likewise, and chain shell commands with `&&'
13483 instead of ';'.
13484 * util/grub-mkrescue.in: Use the same explicit template as above, and
13485 exit if mktemp fails.
13486
05f43cdd
BC
134872010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
13488
13489 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
13490 Linux kernel, reported by Dennis Schridde.
13491
800e6a9b
SJ
134922010-10-17 Szymon Janc <szymon@janc.net.pl>
13493
13494 * grub-core/normal/auth.c (grub_auth_check_authentication):
13495 Set-but-not-used variable removed.
13496
d82df574
VS
134972010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13498
13499 * docs/grub.texi (GNU/Linux): Document APM unavailability with
13500 32-bit linux protocol.
13501
7bced458
VS
135022010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13503
13504 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
13505 cursor shape for sanity.
13506
5b027690
VS
135072010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13508
13509 * docs/grub.texi (Installation): Document buggy BIOS install.
13510
ba5f65cf
VS
135112010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13512
13513 * docs/grub.texi (Installation): Indent.
13514
fdf2ec9c
VS
135152010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13516
13517 * util/grub-setup.c (setup): New parameter allow_floppy.
13518 (arguments): New member allow_floppy.
13519 (argp_parser): Handle --allow-floppy.
13520 (main): Pass allow_floppy.
13521 * util/grub-install.in: New option --allow-floppy passed though to
13522 grub-setup.
13523
861dfd4c
VS
135242010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13525
13526 * util/grub-install.in: Handle partitionless disks.
13527
f77a8c24
VS
135282010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13529
13530 * util/grub-setup.c (setup): Don't clean blocklists before readability
13531 verfification.
13532
27d9ee32
VS
135332010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13534
13535 * docs/grub.texi (Installation): Document embedding zone. Remove
13536 obsolete grub-install example.
13537
6bdda8f8
SJ
135382010-10-16 Szymon Janc <szymon@janc.net.pl>
13539
13540 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
13541 Set-but-not-used variable ifdef'ed.
13542 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
13543 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
13544 variable removed.
13545 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
13546 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
13547 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
13548 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
13549 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
13550 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
13551 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
13552 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
13553 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
13554 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
13555 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
13556 Likewise.
13557
e19b016b
VS
135582010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13559
13560 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
13561 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
13562 enum value.
13563
6c8d3002
VS
135642010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13565
13566 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
13567 synonym to _S5_. Needed for some DSDTs.
13568
c32b51c9
VS
135692010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13570
13571 Userspace ACPI parser debugging.
13572
13573 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
13574 headers and add relevant defines. Don't include standard headers.
13575 (main) [GRUB_DSDT_TEST]: New function.
13576 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
13577 Don't declare functions.
13578
fbfbeb39
VS
135792010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13580
13581 Remove dead grub_efi_mm_fini.
13582
13583 * grub-core/kern/efi/mm.c (allocated_page): Removed.
13584 (ALLOCATED_PAGES_SIZE): Likewise.
13585 (MAX_ALLOCATED_PAGES): Likewise.
13586 (allocated_pages): Likewise.
13587 (grub_efi_allocate_pages): Don't record allocated pages.
13588 (grub_efi_free_pages): Likewise.
13589 (grub_efi_mm_init): Likewise.
13590 (grub_efi_mm_fini): Removed.
13591
65f7ed7c
VS
135922010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13593
13594 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
13595 (grub_efi_mm_init): Take into account the memory map size increase.
13596
24977b44
VS
135972010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13598
13599 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
13600 (serial_hw_put): Wait based on real time rather than port reads. Don't
13601 roken ports.
13602 * include/grub/serial.h (grub_serial_port): New field broken.
13603
1eb01cd2
RM
136042010-10-16 Robert Millan <rmh@gnu.org>
13605
13606 * grub-core/kern/emu/misc.c
13607 (grub_make_system_path_relative_to_its_root): Fix premature return
13608 when processing non-root ZFS filesystems.
5f8b440b 13609 Reported by Sergio Talens-Oliag.
1eb01cd2 13610
2d5fed60
RM
136112010-10-15 Robert Millan <rmh@gnu.org>
13612
13613 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
13614 guarantee compressed ones are processed first.
13615
d0f4c1ea
VS
136162010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13617
13618 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
13619 grub_efiemu_autocore.
13620
d87c681f
VS
136212010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13622
13623 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
13624 rather than 0x1b.
13625 (grub_console_getkey): Use correct jae opcode rather than ja.
13626
219b3564
RM
136272010-10-12 Robert Millan <rmh@gnu.org>
13628
13629 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
13630 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
13631 variable. All references updated.
13632
13633 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
13634
20c6bb7e
VS
136352010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
13636
13637 Correctly distinguish mdraid flavours.
13638
13639 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
13640 (insert_array): New argument raid.
13641 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
13642 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
13643 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
13644
74baff84
VS
136452010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
13646
13647 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
13648 handling of special keys.
13649
3ef068df 136502010-10-02 Aleš Nesrsta <starous@volny.cz>
13651
c7980ad9
VS
13652 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
13653 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 13654
a9455194 136552010-10-02 Aleš Nesrsta <starous@volny.cz>
13656
c7980ad9
VS
13657 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
13658 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
13659 users updated.
a9455194 13660 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 13661 Use right endpoint when querying descriptor.
a9455194 13662
441cfe65
VS
136632010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
13664
13665 Clear out 0x80 color bit on EFI.
13666 Tested by: decoder
13667 Reported by: decoder and meta tech.
13668
13669 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
13670 (grub_console_setcolorstate): Clear out 0x80 bit.
13671 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
13672 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
13673 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
13674
bf26bcc4
VS
136752010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
13676
13677 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
13678 Set to "auto".
13679
6e3c515d
VS
136802010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13681
13682 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
13683 mo_file after freeing.
13684
e6d983ba
VS
136852010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13686
13687 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
13688
74ccb5b5
VS
136892010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13690
13691 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
13692 flags.
13693
17821956
VS
136942010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13695
13696 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
13697 usage.
13698
ee74fa48
VS
136992010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13700
13701 Put terminfo into core on ieee1275 and yeeloong (needed for console).
13702
13703 * gentpl.py: New groups terminfoinkernel and terminfomodule.
13704 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
13705 and terminfo.h when needed.
13706 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
13707 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
13708 (terminfo): Enable only on terminfokernel.
13709 (extcmd): Likewise.
13710 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
13711 * include/grub/lib/arg.h: Likewise.
13712 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
13713 incorrect usage of ->.
13714
aa438e68
VS
137152010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13716
13717 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
13718 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
13719
57994012
VS
137202010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13721
13722 Fix coreboot compilation.
13723
13724 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
13725 Take VBE info into account even if only text is supported.
13726 (fill_vbe_info): Take into account the case when only VGA text
13727 is supported.
13728 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
13729 on coreboot, multiboot and qemu.
13730
2a406611
VS
137312010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13732
13733 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
13734 debug messages.
13735 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
13736
d33613fc
VS
137372010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13738
13739 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
13740 parameters.
13741
44a1b432
VS
137422010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13743
13744 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
13745 if they were BSD-style.
13746
edde54e6
VS
137472010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13748
13749 * grub-core/boot/i386/pc/lnxboot.S: Replace
13750 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
13751 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
13752
b65830fa
VS
137532010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13754
13755 Write embedding zone using Reed-Solomon.
13756
13757 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
13758 * grub-core/Makefile.am (rs_decoder.S): New target.
13759 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
13760 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
13761 (multiboot): Move to RS part.
13762 (post_reed_solomon): New label.
13763 (grub_boot_drive): Move to non-RS part since it's modified in memory
13764 on boot.
13765 Include rs_decoder.S.
13766 * grub-core/lib/reed_solomon.c: New file.
13767 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
13768 New definition.
13769 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
13770 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
13771 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
13772 * include/grub/partition.h (grub_partition_map): Change prototype of
13773 embed to allow returning additional sectors.
13774 * include/grub/reed_solomon.h: New file.
13775 * util/grub-setup.c (setup): Handle Reed-Solomon.
13776
0b4b227f
CW
137772010-09-28 Colin Watson <cjwatson@ubuntu.com>
13778
13779 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
13780 i386 and x86-64 definedness tests.
13781
f772623b
YB
137822010-09-27 Yves Blusseau <blusseau@zetam.org>
13783
13784 Fix generation of kernel_syms.lst
13785
13786 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
13787 ASM_PREFIX
13788
8e57a6ca
RM
137892010-09-26 Robert Millan <rmh@gnu.org>
13790
13791 Support degraded ZFS arrays in "grub-probe -t device" resolution.
13792
13793 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
13794 the pool is an array of devices, iterate through it and return the
13795 first device that passes a stat() test (instead of blindly returning
13796 the first one).
13797
f9130836
RM
137982010-09-26 Robert Millan <rmh@gnu.org>
13799
13800 Build fixes for GNU/kFreeBSD.
13801
13802 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
13803 to programs that require ZFS conversion.
13804 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
13805 kernels that don't have FLOPPY_MAJOR.
13806
96510faf
BC
138072010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
13808
13809 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
13810
449333eb
BC
138112010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
13812
13813 Fix grub-emu build.
13814
13815 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
13816 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
13817 mdraid09 and mdraid1x.
13818
e1fd1939
CW
138192010-09-24 Colin Watson <cjwatson@ubuntu.com>
13820
13821 Re-enable grub-extras.
13822
13823 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
13824 avoid confusing Automake. Run autogen only twice, once for the top
13825 level and once for grub-core. Add Makefile.util.def and
13826 Makefile.core.def from extra modules to the appropriate autogen
13827 invocations. If Makefile.common exists in an extra module, include
13828 it in both Makefile.util.am and grub-core/Makefile.core.am;
13829 similarly, include any Makefile.util.common file in Makefile.util.am
13830 and any Makefile.core.common file in grub-core/Makefile.core.am.
13831 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
13832 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
13833 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
13834 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
13835
13836 * gentpl.py (gvar_add): Turn GVARS into a set.
13837 (global_variable_initializers): Sort global variables on output.
13838 (vars_init): New function.
13839 (first_time): Likewise.
13840 (library): Ensure that non-global variable initialisations are
13841 emitted before the first time we emit code for a library block.
13842 Append to variables rather than setting them. Only emit
13843 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
13844 each conditional path.
13845 (program): installdir() emits an Autogen macro, so must be passed to
13846 var_add rather than gvar_add.
13847 (data): Likewise.
13848 (script): Likewise.
13849 (rules): New function, centralising handling for different target
13850 types. Set up Guile association lists for first_time and vars_init,
13851 and send most output to a diversion so that variable initialisations
13852 can be emitted first.
13853 (module_rules): Use new rules function.
13854 (kernel_rules): Likewise.
13855 (image_rules): Likewise.
13856 (library_rules): Likewise.
13857 (program_rules): Likewise.
13858 (script_rules): Likewise.
13859 (data_rules): Likewise.
13860
13861 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
13862
13863 * .bzrignore: Add contrib and grub-core/contrib. Remove
13864 grub-core/Makefile.gcry.am.
13865
1d12cf29
YB
138662010-09-24 Yves Blusseau <blusseau@zetam.org>
13867
13868 * grub-core/lib/LzFind.c: Add missing include.
13869 * grub-core/lib/LzmaEnc.c: Likewise.
13870 * grub-core/script/lexer.c: Likewise.
13871 * grub-core/script/yylex.l: Likewise.
13872 * util/grub-macho2img.c: Likewise.
13873 * util/grub-menulst2cfg.c: Likewise.
13874 * util/grub-mklayout.c: Likewise.
13875 * util/grub-mkpasswd-pbkdf2.c
13876 * util/grub-mkrelpath.c: Likewise.
13877 * util/resolve.c: Likewise.
13878
dd363028
BC
138792010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
13880
13881 * Makefile.util.def (example_unit_test): Add
13882 grub-core/gnulib/libgnu.a.
13883
f5a109e2
GS
138842010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
13885
13886 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
13887
6d0fa83c
VS
138882010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
13889
13890 Support xz compression on yeeloong.
13891
13892 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
13893 * configure.ac: Check for LZMA.
13894 * grub-core/Makefile.core.def (xz_decompress): New target.
13895 (none_decompress): Likewise.
13896 * grub-core/boot/decompressor/minilib.c: New file.
13897 * grub-core/boot/decompressor/none.c: Likewise.
13898 * grub-core/boot/decompressor/xz.c: Likewise.
13899 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
13900 * grub-core/kern/mips/cache_flush.S: Likewise.
13901 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
13902 * grub-core/kern/mips/startup.S: Move first stage to ...
13903 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
13904 nomacro.
13905 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
13906 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
13907 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
13908 Allocate statically.
13909 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
13910 Allocate statically or use scratch. Don't check CRC32.
13911 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
13912 Allocate statically. Don't check CRC32.
13913 * include/grub/decompressor.h: New file.
13914 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
13915 Removed.
13916 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
13917 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
13918 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
13919 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
13920 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
13921 * util/grub-mkimage.c (grub_compression_t): New type.
13922 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
13923 (image_target_desc): New field default_compression.
13924 (image_targets): Adjust yeeloong targets.
13925 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
13926 (compress_kernel): New parameter comp.
13927 (generate_image): Likewise. Handle new compression case.
13928 (options): New option --compression
13929 (help): Likewise.
13930 (main): Handle new option.
13931
1b655af6
GS
139322010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
13933
13934 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
13935
8f03f0b5
CW
139362010-09-22 Colin Watson <cjwatson@ubuntu.com>
13937
13938 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
13939 typo in __i386__ conditional.
13940
7835dfd3
VS
139412010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
13942
13943 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
13944 include.
13945
e255597e
VS
139462010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
13947
6d0fa83c 13948 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
13949
13950 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
13951 new tags as supported.
13952 (acpiv2_size): New function.
13953 (grub_multiboot_get_mbi_size): Take new tags into account.
13954 (grub_multiboot_make_mbi): Add new tags.
13955 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 13956
6cc14051 139572010-09-21 Aleš Nesrsta <starous@volny.cz>
13958
13959 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
13960 Added missing configuration of USB device.
13961
df7769d8
CW
139622010-09-21 Colin Watson <cjwatson@ubuntu.com>
13963
13964 * grub-core/normal/menu_entry.c (run): Make sure we always return
13965 a value.
13966
b031012d
CW
139672010-09-21 Colin Watson <cjwatson@ubuntu.com>
13968
13969 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
13970 NumberOfPages is UINT64 according to the UEFI specification, not
13971 UINTN. Fix printf format.
13972
174de8f3
CW
139732010-09-21 Colin Watson <cjwatson@ubuntu.com>
13974
13975 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
13976 `err' to grub_usb_err_t.
13977 Reported and tested by: KESHAV P.R.
13978
d7dbe923
CW
139792010-09-21 Colin Watson <cjwatson@ubuntu.com>
13980
13981 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
13982 tpart non-const, so that we can assign to it. (Since this is a
13983 typedef, the constness refers to the pointer rather than what it
13984 points to.)
13985
8d5e2af3
CW
139862010-09-21 Colin Watson <cjwatson@ubuntu.com>
13987
13988 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
13989 $(top_srcdir)/grub-core/gnulib as well as
13990 $(top_builddir)/grub-core/gnulib.
13991 Reported by: KESHAV P.R.
13992
5c527783
CW
139932010-09-21 Colin Watson <cjwatson@ubuntu.com>
13994
13995 * util/grub-install.in: Fix the bootloader ID option to be
13996 consistently --bootloader-id, not --bootloader_id.
13997 Reported by: KESHAV P.R.
13998
d309a16e
CW
139992010-09-21 Colin Watson <cjwatson@ubuntu.com>
14000
14001 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
14002 check hash checksum." consistently translatable.
14003
b830cd16
YB
140042010-09-21 Yves Blusseau <blusseau@zetam.org>
14005
14006 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
14007 $(top_builddir).
14008
c4fe27a8
CW
140092010-09-21 Colin Watson <cjwatson@ubuntu.com>
14010
14011 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
14012 (GRUB_MOD_INIT): Register sha1sum command.
14013 (GRUB_MOD_FINI): Unregister sha1sum command.
14014
a4c1d277
YB
140152010-09-21 Yves Blusseau <blusseau@zetam.org>
14016
14017 Keep boot and grub directory names in sync with utils scripts
14018
14019 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
14020 * config.h.in: Add previous macros.
14021 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
14022 * util/grub-install.in: Use $bootdir and $grubdir variables.
14023
4eff79d2
CW
140242010-09-21 Colin Watson <cjwatson@ubuntu.com>
14025
14026 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
14027 convert partition names to disk names if the new `convert' parameter
14028 is set.
14029 (grub_util_biosdisk_get_grub_dev): If opening the disk device
14030 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
14031 disk in its own right. This can happen with Xen disk images.
14032
934d7e44
YB
140332010-09-21 Yves Blusseau <blusseau@zetam.org>
14034
14035 * util/grub-editenv.c: Update strings to avoid warnings when generating
14036 grub.pot file.
14037 * util/grub-setup.c: Likewise.
934d7e44 14038
df3367cc
VS
140392010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
14040
14041 * configure.ac: Change version to 1.99~beta0.
14042
77a94e98
VS
140432010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
14044
14045 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
14046 Add BADRAM.
14047 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
14048 Likewise.
14049 * include/multiboot.h: Resynced with specification.
14050 * include/multiboot2.h: Likewise.
14051
269004c1
CW
140522010-09-21 Colin Watson <cjwatson@ubuntu.com>
14053
14054 Fix po directory handling.
14055
14056 * configure.ac: Create po/Makefile.in rather than po/Makefile.
14057 * grub-core/gnulib/Makefile.am: Import gettext module.
14058 * m4/gnulib-cache.m4: Likewise.
14059 * m4/gnulib-comp.m4: Likewise.
14060 * m4/gettext.m4: New file, from gnulib.
14061 * m4/glibc2.m4: Likewise.
14062 * m4/iconv.m4: Likewise.
14063 * m4/intdiv0.m4: Likewise.
14064 * m4/intl.m4: Likewise.
14065 * m4/intldir.m4: Likewise.
14066 * m4/intlmacosx.m4: Likewise.
14067 * m4/intmax.m4: Likewise.
14068 * m4/inttypes-pri.m4: Likewise.
14069 * m4/lcmessage.m4: Likewise.
14070 * m4/lib-ld.m4: Likewise.
14071 * m4/lib-link.m4: Likewise.
14072 * m4/lib-prefix.m4: Likewise.
14073 * m4/lock.m4: Likewise.
14074 * m4/nls.m4: Likewise.
14075 * m4/po.m4: Likewise.
14076 * m4/printf-posix.m4: Likewise.
14077 * m4/progtest.m4: Likewise.
14078 * m4/threadlib.m4: Likewise.
14079 * m4/uintmax_t.m4: Likewise.
14080 * m4/visibility.m4: Likewise.
14081 * po/Makefile.am: Remove.
14082 * po/Makefile.in.in: New file, from gettext.
14083 ($(DOMAIN).pot-update): Support POTFILES-shell.
14084 * po/Makevars: New file.
14085 * po/POTFILES-shell: Rename to ...
14086 * po/POTFILES-shell.in: ... this. Update.
14087 * po/POTFILES: Rename to ...
14088 * po/POTFILES.in: ... this. Update.
14089 * po/Rules-quot: New file, from gettext.
14090 * po/boldquot.sed: Likewise.
14091 * po/en@boldquot.header: Likewise.
14092 * po/en@quot.header: Likewise.
14093 * po/insert-header.sin: Likewise.
14094 * po/quot.sed: Likewise.
14095 * po/remove-potcdate.sin: Likewise.
14096
3e0fa5d0
VS
140972010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14098
14099 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
14100
ade9bd66
VS
141012010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14102
14103 * util/grub.d/20_linux_xen.in: Use submenus.
14104
fc55cc4c
VS
141052010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14106
14107 Support submenus.
14108
14109 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
14110 parameter submenu. All users updated.
14111 * grub-core/normal/main.c (free_menu): Rename to ...
14112 (grub_normal_free_menu): ... this. Made global.
14113 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
14114 if requested.
14115 * grub-core/normal/menu_entry.c (screen): New field submenu.
14116 (make_screen): Set submenu.
14117 (run): Open new context if requested.
14118 * include/grub/menu.h (grub_menu_entry): New field submenu.
14119 * include/grub/normal.h (grub_normal_free_menu): New proto.
14120
600cedf7
VS
141212010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14122
14123 Menu entries extractor.
14124
14125 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
14126 variants.
14127 (GRUB_MOD_INIT): Register new variants.
14128 (GRUB_MOD_FINI): Unregister new variants.
14129 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
14130 into grub_cmd_legacy_source.
14131 (grub_cmd_legacy_source): Implement extractor variants.
14132 (GRUB_MOD_INIT): Register new variants.
14133 (GRUB_MOD_FINI): Unregister new variants.
14134 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
14135 as an extractor.
14136 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
14137 search as an extractor.
14138 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
14139 test as an extractor.
14140 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
14141 as an extractor.
14142 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
14143 (grub_env_new_context): New function.
14144 (grub_env_context_open): Likewise.
14145 (grub_env_extractor_open): Likewise.
14146 (grub_env_extractor_close): Likewise.
14147 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
14148 grub_extractor_level.
14149 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
14150 * include/grub/env.h (grub_env_extractor_open): New proto.
14151 (grub_env_extractor_close): Likewise.
14152 * include/grub/normal.h (grub_extractor_level): New external variable.
14153
7bda3a87
VS
141542010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14155
14156 Make cutmem accept a region specification.
14157 Suggested by: Samuel Thibault
14158
14159 * grub-core/mmap/mmap.c (parsemem): New function.
14160 (grub_cmd_cutmem): Handle new arguments.
14161
2ea57f88
VS
141622010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14163
14164 New command cutmem.
14165
14166 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
14167 (GRUB_MOD_INIT): Register new command.
14168 (GRUB_MOD_FINI): Unregister new command.
14169
74342e31
VS
141702010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14171
14172 Support some annoying BSD and Minix subpartitions.
14173
14174 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
14175 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
14176 Properly handle concatenation.
14177 * grub-core/kern/device.c (grub_device_iterate): Likewise.
14178 * grub-core/normal/completion.c (iterate_partition): Likewise.
14179 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
14180 contain partition. All users updated.
14181 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
14182 struct.
14183 (grub_openbsdlabel_partition_map): Likewise.
14184 (bsdlabel_partition_map_iterate): Rename to ..
14185 (iterate_real): ... this. New arguments sector, freebsd and pmap.
14186 (bsdlabel_partition_map_iterate): New function.
14187 (netopenbsdlabel_partition_map_iterate): Likewise.
14188 (netbsdlabel_partition_map_iterate): Likewise.
14189 (openbsdlabel_partition_map_iterate): Likewise.
14190 (GRUB_MOD_INIT): Register new partmaps.
14191 (GRUB_MOD_FINI): Unregister new partmaps.
14192 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
14193 (grub_partition_msdos_iterate): ... this. All users updated.
14194 Don't support embedding other than in a minix partition.
14195 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
14196 proto.
14197 * include/grub/partition.h (grub_partition): New field msdostype.
14198 * util/grub-install.in: Handle openbsd and netbsd types being in
14199 part_bsd module.
14200
1e8d555b
VS
142012010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14202
14203 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
14204
14205 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
14206 * grub-core/Makefile.core.def (mdraid): Renamed to ...
14207 (mdraid09): ... this.
14208 (mdraid1x): New module.
14209 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
14210 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
14211
899d8af4
VS
142122010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14213
14214 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
14215 vsprintf.
14216
40901acd
CW
142172010-09-20 Colin Watson <cjwatson@ubuntu.com>
14218
14219 * grub-core/commands/efi/lsefimmap.c: Correct header.
14220 * NEWS: Update.
14221
dfe3b247
CW
142222010-09-20 Colin Watson <cjwatson@ubuntu.com>
14223
14224 * util/grub-editenv.c (argp_parser): Don't pass translated strings
14225 as printf format strings; the translations might contain '%' which
14226 could cause a crash.
14227 (main): Likewise.
14228 * util/grub-fstest.c (argp_parser): Likewise.
14229 * util/grub-setup.c (argp_parser): Likewise.
14230 (main): Likewise.
14231
3286a4b4
VS
142322010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14233
14234 Use argp in grub-fstest.
14235
14236 * util/grub-fstest.c: Don't include getopt.h.
14237 Include argp.h.
14238 (root): New variable.
14239 (args_count): Likewise.
14240 (nparm): Likewise.
14241 (num_disks): Likewise.
14242 (images): Likewise.
14243 (cmd): Likewise.
14244 (debug_str): Likewise.
14245 (args): Likewise.
14246 (options): Transformed to argp.
14247 (usage): Removed.
14248 (main): Split argument parsing into ...
14249 (argp_parser): ... this. Changed to argp format.
14250 (argp): New variable.
14251 (main): Use argp_parse.
14252
3dccbe4b
TG
142532010-09-20 Tristan Gingold <gingold@free.fr>
142542010-09-20 Robert Millan <rmh.grub@aybabtu.com>
142552010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14256
14257 * grub-core/commands/efi/lsefimmap.c: New file.
14258 * grub-core/Makefile.core.def (lsefimmap): New module.
14259 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
14260
38c259a7
VS
142612010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14262
14263 Pause the execution (10s max) if any errors are displayed so the user
14264 has a chance to see them.
14265
14266 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
14267 (grub_print_error): Increment grub_err_printed_errors.
14268 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
14269 execution if any errors were displayed.
14270 (show_menu): Remove old code for pause.
14271 * grub-core/normal/menu_entry.c (run): Likewise.
14272 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
14273 users updated.
14274 (grub_normal_get_char_counter): Likewise.
14275 * include/grub/err.h (grub_err_printed_errors): New external variable.
14276 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
14277
f218b09c
VS
142782010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14279
14280 Support multiboot VBE info.
14281
14282 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14283 Take VBE info into account.
14284 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
14285 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
14286 Call fill_vbe_info when appropriate.
14287 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
14288 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
14289 as supported.
14290 (grub_multiboot_get_mbi_size): Take new tags into account.
14291 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
14292 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
14293 Call fill_vbe_tag when appropriate.
14294 (grub_multiboot_make_mbi): Properly align tags.
14295 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
14296 function.
14297 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
14298 proto.
14299 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
14300
a9cc5438
VS
143012010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14302
14303 Suport manual terminal geometry specification.
14304
14305 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
14306 Save state in grub_ofconsole_terminfo_output.
14307 (grub_ofconsole_term): Use grub_terminfo_getwh.
14308 (grub_ofconsole_getwh): Removed.
14309 * grub-core/term/serial.c (grub_serial_getwh): Removed.
14310 (grub_serial_term): Use grub_terminfo_getwh.
14311 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
14312 (options): New struct.
14313 (OPTION_*): New enum.
14314 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
14315 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
14316 width and height.
14317 (grub_terminfo_getwh): New proto.
14318 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
14319
1a8fed20
VS
143202010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14321
14322 Handle legacy "terminal" command.
14323
14324 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
14325 and FLAG_TERMINAL.
14326 (legacy_commands): Add terminal and title.
14327 (grub_legacy_parse): Handle terminal. Simplify title handling.
14328
41e9c57d
VS
143292010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14330
14331 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
14332 parameters overflow.
14333
61c874c5
CW
143342010-09-20 Colin Watson <cjwatson@ubuntu.com>
14335
14336 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
14337 widthspec.h.
14338
14339 * docs/grub.texi (Shell-like scripting): Document `!'.
14340 (Network): Simplify using new i386-pc-pxe format. Mention
14341 grub-mknetdir.
14342
14343 * NEWS: Update.
14344
943682b4
CW
143452010-09-20 Colin Watson <cjwatson@ubuntu.com>
14346
14347 * Makefile.am (SUBDIRS): Restore "."; it's important to force
14348 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
14349 when needed.
14350
6d3d698d
CW
143512010-09-20 Colin Watson <cjwatson@ubuntu.com>
14352
14353 * grub-core/commands/efi/lsefisystab.c: Correct header.
14354 * grub-core/commands/efi/lssal.c: Likewise.
14355 * grub-core/commands/testload.c: Likewise.
14356
c982589f
CW
143572010-09-20 Colin Watson <cjwatson@ubuntu.com>
14358
14359 * util/grub-mkrescue.in: Add explicit root argument to --set to
14360 prevent the UUID being interpreted as an argument to --set (matches
14361 previous change to prepare_grub_to_access_device).
14362
a63c31b6
CW
143632010-09-20 Colin Watson <cjwatson@ubuntu.com>
14364
14365 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
14366 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
14367 the verbosity of later #ifs.
14368 (find_partition_start): Define this function on FreeBSD too.
14369 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
14370 function.
14371 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
14372 on FreeBSD.
14373
6439b8ee
YB
143742010-09-20 Yves Blusseau <blusseau@zetam.org>
14375
14376 * util/grub-editenv.c: Use argp instead of getopt.
14377
c5930ec8
YB
143782010-09-20 Yves Blusseau <blusseau@zetam.org>
14379
14380 * util/grub-setup.c: Use argp instead of getopt.
14381
15c69261
YB
143822010-09-20 Yves Blusseau <blusseau@zetam.org>
14383
14384 Use gnulib-tool to create gnulib source files.
14385
14386 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
14387 grub-core/gnulib directories
14388 * .bzignore: Add **/.deps and autogenerated gnulib files
14389 * configure.ac: Assign auxiliary directory to build-aux, add invocation
14390 of gnulib macros, add grub-core/gnulib/Makefile
14391 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
14392 include m4 directory to aclocal.
14393 * Makefile.util.def: Remove direct compilation of gnulib source files
14394 and use the new grub-core/gnulib/libgnu.a.
14395 * build-aux/config.rpath: move config.rpath from top directory to
14396 build-aux
14397 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
14398 in gnulib headers
14399 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
14400 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
14401 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
14402 header.
14403 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
14404 string.
14405
e511c9f5
YB
144062010-09-20 Yves Blusseau <blusseau@zetam.org>
14407
14408 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
14409 grub-core/genmod.sh and grub-core/gensyminfo.sh
14410
c2dede05
BC
144112010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
14412
14413 Add a test for echo command options.
14414
14415 * tests/grub_cmd_echo.in: New test.
14416 * Makefile.util.def: Rules for new test.
14417
c55f5018
SJ
144182010-09-20 Szymon Janc <szymon@janc.net.pl>
14419
14420 Remove crc.mod and move crc command to hashsum.mod.
14421 Remove lib/crc.c - users updated to use gcrypt implementation.
14422
14423 * grub-core/commands/crc.c: Removed.
14424 * grub-core/Makefile.core.def (crc): Module removed.
14425 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
14426 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
14427 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
14428 * grub-core/lib/crc.c: Removed.
14429 * include/grub/lib/crc.h: Removed.
14430 * Makefile.util.def (crc): Remove lib/crc.c
14431 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
14432 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
14433 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
14434 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
14435 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
14436 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
14437
e0337366
VS
144382010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14439
14440 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
14441
742f9232
VS
144422010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14443
14444 Split config.h for util and core.
14445
14446 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
14447 (ADDR32): Likewise.
14448 (DATA32): Likewise.
14449 (BSS_START_SYMBOL): Likewise.
14450 (END_SYMBOL): Likewise.
14451 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
14452 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
14453 * config.h.in: New file.
14454 * configure.ac: Use config-util.h as config define file.
14455 Rename MACHINE into GRUB_MACHINE. All users updated.
14456 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
14457 updated.
14458 (NESTED_FUNC_ATTR): Likewise.
14459 Substitue new variables.
14460 (COND_HAVE_ASM_USCORE): New conditional.
14461 * grub-core/Makefile.am (ASM_PREFIX): New variable.
14462 (kernel_syms.lst): Use ASM_PREFIX.
14463 * grub-core/kern/emu/console.c: Include config-util.h.
14464 * grub-core/kern/emu/misc.c: Likewise.
14465 * grub-core/kern/emu/mm.c: Likewise.
14466 * include/grub/emu/misc.h: Likewise.
14467 * include/grub/libgcc.h: Likewise.
14468
39feb0e8
VS
144692010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14470
14471 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
14472 constants usage.
14473 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
14474 Fix GRUB_TERM_KEY_* constants usage.
14475 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
14476
9af6dac3
VS
144772010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14478
14479 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
14480 print pointer.
14481 * grub-core/bus/usb/uhci.c: Remove empty define.
14482 (grub_uhci_check_transfer): Add missing cast.
14483 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
14484 print pointer.
14485 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
14486 PRIuGRUB_SIZE.
14487 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
14488
d6d94820
VS
144892010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14490
14491 * grub-core/Makefile.core.def (legacycfg): Add
14492 lib/i386/pc/vesa_modes_table.c on emu.
14493
3572f2b6
BC
144942010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
14495
14496 Reduce number of temporary files generated by build system.
14497
14498 * grub-core/gencmdlist.sh: Removed.
14499 * grub-core/genfslist.sh: Removed.
14500 * grub-core/genhandlerlist.sh: Removed.
14501 * grub-core/genmodsrc.sh: Removed.
14502 * grub-core/genpartmaplist.sh: Removed.
14503 * grub-core/genparttoollist.sh: Removed.
14504 * grub-core/gentermiinallist.sh: Removed.
14505 * grub-core/genvideolist.sh: Removed.
14506
14507 * grub-core/genmod.sh.in: New file.
14508 * grub-core/gensyminfo.sh.in: New file.
14509
14510 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
14511 * conf/Makefile.extra-dist: Update with new files.
14512 * gentpl.py: Remove rules related to unnecessary temporary files.
14513 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
14514 and und-* files.
14515 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
14516 genmod.sh scripts.
14517 * grub-core/bus/usb/uhci.c: Remove empty #define.
14518 * grub-core/genmoddep.awk: Updated with new syminfo format.
14519 * util/bash-completion.d/Makefile.am: Add config.log to
14520 CLEANFILES.
14521
c836b030
YB
145222010-09-19 Yves Blusseau <blusseau@zetam.org>
14523
14524 * Makefile.util.def: Add forgotten $(LIBINTL) library.
14525
2f4e8053
BC
145262010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
14527
14528 * util/grub-mkconfig.in: Check the config script for syntax errors
14529 before saving.
14530
75831c34
CW
145312010-09-19 Colin Watson <cjwatson@ubuntu.com>
145322010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14533
14534 * Makefile.util.def (grub-install): Use util/grub-install.in on all
14535 platforms.
14536 * util/grub-install.in: Add EFI and IEEE1275 support.
14537 * util/i386/efi/grub-install.in: Removed.
14538 * util/ieee1275/grub-install.in: Likewise.
14539
eaf41b25
VS
145402010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14541
14542 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
14543 (grub_cmd_cmosclean): Likewise.
14544 (GRUB_MOD_INIT): Register command cmosclean.
14545 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
14546 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
14547
1a9130dd
CPE
145482010-09-18 Carles Pina i Estany <carles@pina.cat>
145492010-09-18 Aleš Nesrsta <starous@volny.cz>
145502010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
14551
14552 Add keyboard layouts support.
14553
14554 * Makefile.util.def (grub-mklayout): New file.
14555 (grub-kbdcomp): New script.
14556 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
14557 Add keyboard_layouts.h.
14558 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
14559 commands/boot.c on yeeloong.
14560 (keylayouts): New module.
14561 * grub-core/bus/usb/ohci.c
14562 * grub-core/bus/usb/uhci.c
14563 * grub-core/bus/usb/usbhub.c (rescan): New variable.
14564 (grub_usb_add_hub): Poll interrupt pipe for device handling.
14565 (attach_root_port): Likewise.
14566 (poll_nonroot_hub): Likewise.
14567 (grub_usb_poll_devices): Likewise.
14568 (detach_device): Close transfer.
14569 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
14570 function.
14571 (grub_usb_bulk_setup_readwrite): Likewise.
14572 (grub_usb_bulk_finish_readwrite): Likewise.
14573 * grub-core/commands/keylayouts.c: New file.
14574 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
14575 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
14576 aliases.
14577 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
14578 support scancode 2.
14579 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
14580 * include/grub/keyboard_layouts.h: New file.
14581 * util/grub-mklayout.c: New file.
14582 * util/grub-kbdcomp.in: Likewise.
14583
a1d84a5e
VS
145842010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
14585
14586 Unify memory types.
14587
14588 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
14589 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
14590 types.
14591 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
14592 (grub_upper_mem): Likewise.
14593 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
14594 * include/grub/memory.h (grub_memory_type_t): New enum.
14595 All users updated.
14596
9696382e
VS
145972010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
14598
14599 * grub-core/Makefile.core.def (lsapm): New module.
14600 * grub-core/commands/i386/pc/lsapm.c: New file.
14601 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
14602 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
14603 Likewise.
14604 * include/grub/i386/pc/apm.h: New file.
14605 * include/multiboot.h (multiboot_apm_info): New struct.
14606
146072010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
14608
14609 GRUB-legacy configuration file support.
14610
14611 * Makefile.util.def (grub-menulst2cfg): New util.
14612 * docs/man/grub-menulst2cfg.h2m: New file.
14613 * grub-core/Makefile.core.def (legacycfg): New module.
14614 * grub-core/commands/legacycfg.c: New file.
14615 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
14616 (grub_normal_add_menu_entry): ... this.
14617 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
14618 (grub_normal_set_password): ...this.
14619 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
14620 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
14621 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
14622 * grub-core/lib/legacy_parse.c: New file.
14623 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
14624 * include/grub/i386/pc/vesa_modes_table.h: New file.
14625 * include/grub/legacy_parse.h: Likewise.
14626 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
14627 * util/grub-menulst2cfg.c: New file.
14628
bf8d1338
CW
146292010-09-17 Colin Watson <cjwatson@ubuntu.com>
14630
14631 * grub-core/kern/emu/hostdisk.c
14632 (convert_system_partition_to_system_disk): Initialise node.
14633
9c0bad2e
CW
146342010-09-17 Colin Watson <cjwatson@ubuntu.com>
14635
14636 * grub-core/kern/emu/hostdisk.c
14637 (convert_system_partition_to_system_disk): Fix devmapper memory pool
14638 leak.
14639 Reported and based on patch by: Modestas Vainius.
14640
a939d135
CW
146412010-09-17 Colin Watson <cjwatson@ubuntu.com>
14642
14643 Fix DM-RAID probing with recent versions of device-mapper udev
14644 rules.
14645
14646 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
14647 canonicalise device paths under /dev/mapper/.
14648 (convert_system_partition_to_system_disk): Compare the
14649 uncanonicalised path to /dev/mapper/ rather than the canonicalised
14650 path, since device nodes under /dev/mapper/ are often symlinks.
14651
0f7ee3c9
YB
146522010-09-17 Yves Blusseau <blusseau@zetam.org>
14653
14654 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
14655
10854d0d
YB
146562010-09-16 Yves Blusseau <blusseau@zetam.org>
14657
14658 * configure.ac: Avoid some annoying error messages if freetype-config
14659 program is not found.
14660
108538d8
CW
146612010-09-16 Colin Watson <cjwatson@ubuntu.com>
14662
14663 Support RAID on virtio devices, and others.
14664
14665 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
14666 Rename to ...
14667 [__MINGW32__] (grub_find_device): ... this.
14668 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
14669 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
14670 reasonable default if dir is NULL.
14671 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
14672 ...
14673 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
14674 (grub_guess_root_device): Update callers.
14675 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
14676
14677 * util/raid.c (grub_util_getdiskname): Remove.
14678 (grub_util_raid_getmembers): Use grub_find_device rather than
14679 grub_util_getdiskname.
14680
e5bfc130
CW
146812010-09-16 Colin Watson <cjwatson@ubuntu.com>
14682
14683 * docs/grub.texi (serial): Remove obsolete comment about GRUB
14684 needing to be compiled with serial support.
14685 (ls): Indicate that multiple files are accepted.
14686 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
14687 indicate that multiple files are accepted.
14688
be458ae2
CW
146892010-09-16 Colin Watson <cjwatson@ubuntu.com>
14690
14691 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
14692 libgrub_a_init.c, and util/bash-completion.d/grub.
14693
cb731b5e
VS
146942010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14695
14696 * util/grub-setup.c (setup): Fix incorrect container semantics.
14697
35139e8a
VS
146982010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14699
14700 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
14701 misusage.
14702 Reported by: J. Nick Terry
14703
e50fca4a
VS
147042010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14705
14706 Move embedding routines to partmap sources files.
14707
14708 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
14709 [GRUB_UTIL]: New variable.
14710 (gpt_partition_map_iterate): Set part.parent.
14711 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
14712 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
14713 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
14714 New function.
14715 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
14716 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
14717 (grub_partition_map) [GRUB_UTIL]: New field embed.
14718 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
14719 (setup): Use ->embed.
14720
f00478b7
VS
147212010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14722
14723 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
14724 function.
14725 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
14726 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
14727
2b94e3ff
YB
147282010-09-15 Yves Blusseau <blusseau@zetam.org>
14729
14730 Add function to get completions from usage.
14731
14732 * util/bash-completion.d/grub-completion.bash.in: Add function to get
14733 completions from usage. Use LC_ALL=C to get options properly.
14734
2e04a006
VS
147352010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14736
14737 * grub-core/gnulib/basename-lgpl.c: Imported.
14738 * grub-core/gnulib/basename.c: Likewise.
14739 * grub-core/gnulib/dirname-lgpl.c: Likewise.
14740 * grub-core/gnulib/dirname.c: Likewise.
14741 * grub-core/gnulib/dirname.h: Likewise.
14742 * grub-core/gnulib/stripslash.c: Likewise.
14743
5dcdf93a
VS
147442010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14745
14746 * grub-core/gnulib/error.c: Resynced.
14747 * grub-core/gnulib/getopt.c: Likewise.
14748 * grub-core/gnulib/getopt_int.h: Likewise.
14749 * grub-core/gnulib/regex.h: Likewise.
14750 * grub-core/gnulib/regex_internal.c: Likewise.
14751 * grub-core/gnulib/regex_internal.h: Likewise.
14752
014f47b7
SJ
147532010-09-15 Szymon Janc <szymon@janc.net.pl>
14754
14755 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
14756 CRC calculations and validity checks.
14757 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
14758 calculations.
14759
dd521a4a
SJ
147602010-09-15 Szymon Janc <szymon@janc.net.pl>
14761
14762 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
14763
79c4eeb9
VS
147642010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14765
14766 Fix incorrect echo options handling.
14767 Reported by: Yves Blusseau.
14768
14769 * include/grub/command.h (grub_command_flags_t): New flags
14770 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
14771 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
14772 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
14773
ed80f7d5
VS
147742010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14775
14776 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
14777 users updated.
14778 (GRUB_COMMAND_FLAG_MENU): Likewise.
14779 (GRUB_COMMAND_FLAG_BOTH): Likewise.
14780 (GRUB_COMMAND_FLAG_TITLE): Removed.
14781 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
14782 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
14783 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
14784 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
14785 (grub_command_flags_t): New enum. All users updated.
14786
5fe7620a
SG
147872010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
14788
14789 Fix solaris compilation.
14790
14791 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
14792 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
14793 (grub-emu-list): Likewise.
14794
545b752f
VS
147952010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14796
14797 Remove deprecated root command.
14798
14799 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
14800 updated.
14801
6c1a338c
VS
148022010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14803
14804 * util/i386/pc/grub-setup.c: Merge this ...
14805 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
14806 * util/grub-setup.c: ... into this.
14807 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
14808 New struct.
14809
148102010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14811
14812 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
14813 possible.
14814
d2ea4551
VS
148152010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14816
14817 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
14818 allocate p.
14819
3c3b5040
VS
148202010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14821
14822 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
14823 explicit root argument to set to prevent UUID to be interpreted as
14824 argument to set.
14825
b71c3fae
VS
148262010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14827
14828 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
14829
275433e6
VS
148302010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14831
14832 Don't export grub_gate_a20.
14833
14834 * grub-core/kern/i386/pc/init.c: Remove leftovers.
14835 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
14836 to ...
14837 (grub_gate_a20): ... this. All users updated.
14838 * include/grub/i386/pc/init.h: Removed. All users updated.
14839
a5dbb1f1
VS
148402010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14841
14842 Create euro.pf2 which supports most European languages.
14843
14844 * Makefile.am (grubdata_DATA): Add euro.pf2.
14845 (euro.pf2): New target.
14846 (CLEANFILES): Add euro.pf2.
14847
62a747cb
VS
148482010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14849
14850 * configure.ac: Disable emu-usb by default to prevent inadvertent
14851 device takeover.
14852
608e43b1
VS
148532010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14854
14855 Disable usbserial on grub-emu since our libusb code isn't good enough
14856 yet.
14857
14858 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
14859 (usbserial_pl2303): Likewise.
14860 (usbserial_ftdi): Likewise.
14861
94564f81
VS
148622010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14863
14864 * include/grub/disk.h (grub_disk): Remove has_partitions.
14865 All users updated.
14866 * disk/loopback.c (grub_loopback): Remove has_partitions.
14867 All users updated.
14868 (options): Remove partitions. All users updated.
14869 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
14870 * util/i386/pc/grub-setup.c (setup): copy partition table only when
14871 actual partition table is found.
14872
3352800b
VS
148732010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14874
14875 Remove readability checks (too many false negatives).
14876
14877 * util/grub-install.in: Remove readability checks.
14878 * util/grub-mkconfig.in: Likewise.
14879 * util/grub.d/10_hurd.in: Likewise.
14880 * util/grub.d/10_kfreebsd.in: Likewise.
14881 * util/grub.d/10_linux.in: Likewise.
14882 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
14883 way.
14884
2419f17a
VS
148852010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14886
14887 Enable acpi shutdown on all ACPI platforms.
14888
14889 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
14890 on coreboo, multiboot and EFI.
14891 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
14892 (grub_acpi_halt): Likewise.
14893 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
14894 (grub_cmd_halt): Don't call grub_acpi_halt directly.
14895 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
14896 * grub-core/lib/i386/halt.c (grub_halt)
14897 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
14898
0575c7c3
VS
148992010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14900
14901 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
14902 context.
14903
54ac3cd1
VS
149042010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14905
14906 * grub-core/video/efi_gop.c: Fix over-80-chars line.
14907 * grub-core/video/efi_uga.c: Likewise.
14908
b2a30ac5
VS
149092010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14910
14911 Filter devaliases and never open same device twice.
14912
14913 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
14914 (last_ihandle): Likewise.
14915 (ofdisk_hash_ent): New member shortest.
14916 (ofdisk_hash_add): Add canonical path too.
14917 (scan): New function.
14918 (grub_ofdisk_iterate): Iterate over hashed entries.
14919 (compute_dev_path): Don't add :0.
14920 (grub_ofdisk_open): Don't really open the disk.
14921 (grub_ofdisk_close): Avoid closing unrelated disk.
14922 (grub_ofdisk_read): Implement reopen logic.
14923 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
14924 New function.
14925 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
14926 New proto.
14927
fb53b340
VS
149282010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14929
14930 Fix sparc64.
14931
14932 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
14933 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
14934 right address. Add sparc64_ieee1275_ldflags.
14935 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
14936 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
14937 to grub_host_to_target_addr
14938 (load_image): Likewise.
14939
f452b040
VS
149402010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14941
14942 * grub-core/normal/completion.c (complete_file): Handle device
14943 containing slash.
14944 Fix based on patch by Doug Nazar.
14945
9b5b2541
VS
149462010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14947
14948 grub-mknetdir script.
14949
14950 * Makefile.util.def (grub-mknetdir): New module.
14951 * tests/util/grub-shell.in: Support boot=net
14952 * util/grub-mknetdir.in: New file.
14953
9d2be652
VS
149542010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14955
14956 videoinfo on non-vbe.
14957
14958 * grub-core/Makefile.core.def (vbeinfo): Removed.
14959 (vbetest): Removed.
14960 (videoinfo): New module.
14961 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
14962 * grub-core/commands/i386/pc/vbetest.c: Removed.
14963 * grub-core/commands/videoinfo.c: New file.
14964 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
14965 specification.
14966 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
14967 as vbetest.
14968 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
14969 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
14970 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
14971 mode_number. New parameter mode. All users updated.
14972 (grub_video_gop_iterate): New function.
14973 (grub_video_efi_gop): New member iterate.
14974 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
14975 (grub_vbe_set_video_mode): Remove setting useless fields.
14976 (vbe2videoinfo): New function.
14977 (grub_video_vbe_iterate): Likewise.
14978 (grub_video_vbe_setup): Use vbe2videoinfo.
14979 (grub_video_vbe_print_adapter_specific_info): New function.
14980 (grub_video_vbe_adapter): New fields iterate and
14981 print_adapter_specific_info.
14982 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
14983 All users updated.
14984 (grub_video_mode_info): New field mode_number.
14985 (grub_video_adapter): New fields iterate and
14986 print_adapter_specific_info.
14987
179503f5
TG
149882010-09-13 Tristan Gingold <gingold@free.fr>
149892010-09-13 Robert Millan <rmh.grub@aybabtu.com>
149902010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14991
14992 * grub-core/commands/efi/lsefisystab.c: New file.
14993 * grub-core/commands/efi/lssal.c: Likewise.
14994 * grub-core/Makefile.core.def (lsacpi): New module.
14995 (lsefisystab): Likewise.
14996 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
14997 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
14998 (grub_efi_sal_system_table): New struct.
14999 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
15000 (grub_efi_sal_system_table_memory_descriptor): Likewise.
15001 (grub_efi_sal_system_table_platform_features): Likewise.
15002 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
15003 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
15004 (grub_efi_sal_system_table_ap_wakeup): Likewise.
15005 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
15006
cf9827de
VS
150072010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15008
15009 Support explicit user claim that a device is BIOS-visible.
15010
15011 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
15012 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
15013 * grub-core/kern/emu/hostdisk.c
15014 (convert_system_partition_to_system_disk): Support mdX.
15015 (find_system_device): New parameter add. All users updated.
15016 (grub_util_biosdisk_is_present): New function.
15017 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
15018 proto.
15019
53f0eb1f
VS
150202010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15021
15022 Search hints support.
15023
15024 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
15025 All users updated.
15026
b23ffd70
YB
150272010-09-13 Yves Blusseau <blusseau@zetam.org>
15028
15029 Bash completion script for util commands
15030
15031 * Makefile.am: Add util/bash-completion.d directory
15032 * configure.ac: Likewise.
15033 * util/bash-completion.d/Makefile.am: New file.
15034 * util/bash-completion.d/grub-completion.bash.in: Likewise.
15035
d547dc28
VS
150362010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15037
15038 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
15039 (print_backlog): set backlog_ucs4 and backlog_glyphs.
15040 Reported by: Yves Blusseau.
15041
2fc8ccb9
VS
150422010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15043
15044 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
15045 partition size and offset.
15046
d8a84076
VS
150472010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15048
15049 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
15050
84fb3b3d
VS
150512010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15052
15053 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
15054
768ec2e2
VS
150552010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15056
15057 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
15058 (grub_xvasprintf): Likewise.
15059
4870900f
VS
150602010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15061
15062 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
15063
faca6bec
VS
150642010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15065
15066 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
15067 args ending with NULL.
15068
150692010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
15070
15071 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
15072 pointer.
15073
3c70f225
SJ
150742010-09-11 Szymon Janc <szymon@janc.net.pl>
15075
15076 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
15077
4df7996d
VS
150782010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15079
15080 Shutdown using ACPI.
15081
15082 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
15083 * grub-core/commands/acpihalt.c: New file.
15084 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
15085 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
15086 (grub_acpi_halt): New proto.
15087 (GRUB_ACPI_SLP_EN): New const.
15088 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
15089 (GRUB_ACPI_OPCODE_*): New enum.
15090 (GRUB_ACPI_EXTOPCODE_*): Likewise.
15091
126b4c32
TG
150922010-09-11 Tristan Gingold <gingold@free.fr>
150932010-09-11 Robert Millan <rmh.grub@aybabtu.com>
150942010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15095
15096 * commands/lsacpi.c: New file.
15097 * grub-core/Makefile.core.def (lsacpi): New module.
15098 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
15099 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
15100 (grub_acpi_madt_entry_header): New struct.
15101 (grub_acpi_madt): Likewise.
15102 (grub_acpi_madt_entry_interrupt_override): Likewise.
15103 (grub_acpi_madt_entry_sapic): Likewise.
15104 (grub_acpi_madt_entry_lsapic): Likewise.
15105 (grub_acpi_madt_entry_platform_int_source): Likewise.
15106 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
15107 (PRIuGRUB_UINT32_T): Likewise.
15108 (PRIxGRUB_UINT64_T): Likewise.
15109
1aa4fe88
VS
151102010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15111
15112 Implement loading palette on ieee1275_fb.
15113
15114 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
15115 (have_setcolors): Likewise.
15116 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
15117 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
15118 (grub_video_ieee1275_set_palette): Implement.
15119
25761e13
VS
151202010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
151212010-09-11 Colin Watson <cjwatson@ubuntu.com>
15122
15123 * util/grub-install.in (grub_partition): New variable.
15124 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
15125 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
15126 Fixes a bug reported by Yves Blusseau.
15127
050abaea
VS
151282010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15129
15130 Fix emu on mipsel.
15131
15132 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
15133 =grub_cpu_flush_cache on all mips and not only yeeloong.
15134 * configure.ac (COND_mips): New conditional.
15135 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
15136 platforms.
15137 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
15138 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
15139 [GRUB_LINKER_HAVE_INIT]: New function.
15140 (grub_emu_post_init): Likewise.
15141 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
15142 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
15143 * include/grub/cache.h (_mips): Include mips/cache.h.
15144 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
15145 LVM and RAID prototypes.
15146 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
15147 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
15148 function.
15149
5ed7d816
CW
151502010-09-10 Colin Watson <cjwatson@ubuntu.com>
15151
15152 * util/grub-install.in: Don't try to verify core.img until after
15153 running grub-mkimage to create it.
15154
90367e04
RM
151552010-09-10 Robert Millan <rmh@gnu.org>
15156
15157 * util/grub.d/10_hurd.in: Add misc readability checks.
15158 * util/grub.d/10_kfreebsd.in: Likewise.
15159 * util/grub.d/10_linux.in: Likewise.
15160
c452fa66
CW
151612010-09-10 Colin Watson <cjwatson@ubuntu.com>
15162
15163 * util/grub-install.in: ${imgext} won't be defined here until the
15164 install branch is merged. For the meantime, only verify core.img on
15165 i386-pc and sparc64-ieee1275 platforms.
15166
c38fe9f4
RM
151672010-09-10 Robert Millan <rmh@gnu.org>
15168
15169 Solaris support in grub_find_zpool_from_dir(). Thanks
15170 Seth Goldberg for referring to getextmntent() facility.
15171
15172 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
15173 `sys/mkdev.h'.
15174 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
15175 `<sys/mnttab.h>'.
15176 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
15177 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
15178 method for finding zpool name.
15179
905f7773
CW
151802010-09-10 Colin Watson <cjwatson@ubuntu.com>
15181
15182 grub-fstest needs the host and hostfs modules while other utilities
15183 actively require those modules to be absent, so grub-fstest needs
15184 its own initialisation and finalisation code.
15185
15186 * Makefile.am (grub_fstest.pp): New target.
15187 (grub_fstest_init.lst): Likewise.
15188 (grub_fstest_init.c): Likewise.
15189 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
15190
fb90b546
RM
151912010-09-10 Robert Millan <rmh@gnu.org>
15192
15193 * configure.ac: Check for `struct statfs.f_fstypename' and
15194 `struct statfs.f_mntfromname'.
15195
15196 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
15197 kFreeBSD-specific code.
15198
66d4bea5
RM
151992010-09-10 Robert Millan <rmh@gnu.org>
15200
15201 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
15202 on ZFS. Now non-main filesystems are supported as / too.
15203
b6a690ee
CW
152042010-09-09 Colin Watson <cjwatson@ubuntu.com>
15205
15206 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
15207 and grub-core/disk/host.c to ...
15208 (grub-fstest): ... here. Having the host disk implementation
15209 present confuses grub-probe and other utility programs.
15210
15211 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
15212 when writing to a file, not when writing to stdout.
15213
8901b00c 152142010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
15215
15216 * tests/partmap_test.in: New test for partitions.
15217 * Makefile.util.def: Rules for new test.
15218
7bf45fdd
RM
152192010-09-09 Robert Millan <rmh@gnu.org>
15220
15221 * util/grub-probe.c (probe): Fix a pair of unhandled error
15222 conditions.
15223
4dfbc574
RM
152242010-09-09 Robert Millan <rmh@gnu.org>
15225
15226 Basic Btrfs support (detection and UUID).
15227
15228 * grub-core/fs/btrfs.c: New file.
15229 * Makefile.util.def (library): Register btrfs.c.
15230 * grub-core/Makefile.core.def: Likewise.
15231
6b8e78ae
RM
152322010-09-08 Robert Millan <rmh@gnu.org>
15233
15234 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
15235 with (optional) parameters to specify device and relative path.
15236 * util/grub-install.in: Use is_path_readable_by_grub() to
15237 verify readability of a few critical files.
15238 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
15239 verify readability of grub.cfg.new.
15240
27f21a8b
VS
152412010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
15242
15243 Split minix.mod into minix.mod and minix2.mod.
15244
15245 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
15246 * grub-core/Makefile.core.def (minix2): New module.
15247 * grub-core/fs/minix.c: Use definitions instead of runtime version
15248 checking.
15249 * grub-core/fs/minix2.c: New file.
15250
c0e53ea5
YB
152512010-09-08 Yves Blusseau <blusseau@zetam.org>
15252
15253 Add new --boot-directory option to replace --root-directory
15254
15255 * util/grub-install.in: Add new --boot-directory option
15256 * util/grub-reboot.in: Likewise.
15257 * util/grub-set-default.in: Likewise.
15258
b9fe6ea2
YB
152592010-09-08 Yves Blusseau <blusseau@zetam.org>
15260
15261 * util/grub-mkconfig.in: Use new variable.
15262
d87aedff
YB
152632010-09-08 Yves Blusseau <blusseau@zetam.org>
15264
15265 * configure.ac: Define some useful variables.
15266
e55e8495
VS
152672010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
15268
15269 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
15270 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
15271 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
15272 Use terminfo and don't use cursor-on/cursor-off unless it's known
15273 to work.
15274 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
15275 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
15276
6fa6d675
CW
152772010-09-08 Colin Watson <cjwatson@ubuntu.com>
15278
15279 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
15280 starts with "(,", fill the drive containing the loaded image in
15281 between those two characters, but expect that a full partition
15282 specification including partition map names will follow.
15283
92f2aef0
RM
152842010-09-08 Robert Millan <rmh@gnu.org>
15285
15286 * configure.ac: Remove `--enable-grub-fstest' option.
15287 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
15288
15289 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
15290 `grub-fstest' instead of `grub-probe' for readability verification.
15291 * util/grub-probe.c (probe): Remove readability verification kludge.
15292
99fd620d
RM
152932010-09-08 Robert Millan <rmh@gnu.org>
15294
15295 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
15296 initializing `GRUB_FS'.
15297
058e30ac 152982010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
15299
15300 Not command (!) support to GRUB script.
15301
15302 * tests/grub_script_not.in: New test.
15303 * Makefile.util.def: Rules for new test.
15304
15305 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
15306 ! command as a special case.
15307 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
15308
b61d05ed 153092010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15310
058e30ac 15311 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
15312 grub_free.
b61d05ed 15313
4d69c786 153142010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15315
15316 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
15317
aa3119c4 153182010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15319
15320 * docs/grub.texi (Shell-like scripting): Documentation for break,
15321 continue, shift and return commands.
15322
db0f7e3d
VS
153232010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
15324
15325 Rename CD-ROM to cd on BIOS.
15326
15327 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
15328 "cd".
15329 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
15330
88b87c93
VS
153312010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15332
15333 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
15334 * util/grub-probe.c (main): Likewise.
15335 * util/i386/pc/grub-setup.c (main): Likewise.
15336 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
15337 Reported and debugged by: alexxy
15338
294f324d
VS
153392010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15340
15341 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
15342 diagnostic info.
15343
d7ee3441
JS
153442010-09-05 Jo Shields <directhex@apebox.org>
15345
15346 * util/grub.d/30_os-prober.in: Add missing classes.
15347
d7e06c1f
VS
153482010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15349
15350 * docs/grub.texi (Theme file format): Document new position format.
15351
fc157e53
VS
153522010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15353
15354 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
15355 a table. Use @code instead of @verbatim.
15356
506e9a1c
CB
153572010-09-05 Colin D Bennett <colin@gibibit.com>
15358
15359 Gfxmenu documentation.
15360
15361 * docs/grub.texi (Theme file format): New chapter.
15362
f0aff67c
SJ
153632010-09-05 Szymon Janc <szymon@janc.net.pl>
15364
15365 * grub-core/Makefile.core.def (xzio): New module.
15366 * grub-core/io/xzio.c: New file.
15367 * grub-core/lib/xzembed/xz.h: New file (from xembed).
15368 * grub-core/lib/xzembed/xz_config.h: Likewise.
15369 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
15370 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
15371 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
15372 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
15373 * grub-core/lib/xzembed/xz_private.h: Likewise.
15374 * grub-core/lib/xzembed/xz_stream.h: Likewise.
15375 * include/grub/file.h (grub_file_filter_id): New compression filter
15376 GRUB_FILE_FILTER_XZIO.
15377
82a85062
VS
153782010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15379
15380 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
15381 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
15382 size.
15383
3579415d
VS
153842010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15385
15386 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
15387 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
15388
5124ae6d
VS
153892010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15390
15391 Uncompressed checksum support.
15392
15393 * grub-core/commands/hashsum.c (options): Add option --uncompress.
15394 (check_list): New parameter uncompress.
15395 (grub_cmd_hashsum): Handle --uncompress.
15396
9aadb3d1
VS
153972010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15398
15399 Reintroduce testload.
15400
15401 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
15402 from here ...
15403 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
15404 (GRUB_MOD_INIT): New function.
15405 (GRUB_MOD_FINI): Likewise.
15406 * grub-core/Makefile.core.def (testload): New module.
15407
a17792c3
SJ
154082010-09-05 Szymon Janc <szymon@janc.net.pl>
15409
15410 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
15411 (uint8_t): New type.
15412 (uint16_t): Likewise.
15413 (uint32_t): Likewise.
15414 (uint64_t): Likewise.
15415
b81e40a3
SJ
154162010-09-05 Szymon Janc <szymon@janc.net.pl>
15417
15418 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
15419
fc2ef117
VS
154202010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15421
15422 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
15423 Made static.
15424 (grub_gzfile_open): Removed. All users updated.
15425 (GRUB_MOD_INIT): New function.
15426 (GRUB_MOD_FINI): Likewise.
15427 * grub-core/kern/file.c (grub_file_filters_all): New variable.
15428 (grub_file_filters_enabled): Likewise.
15429 (grub_file_open): Handle filters.
15430 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
15431 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
15432 * include/grub/file.h (grub_file_filter_id_t): New type.
15433 (grub_file_filter_t): Likewise.
15434 (grub_file_filters_all): New extern variable.
15435 (grub_file_filters_enabled): Likewise.
15436 (grub_file_filter_register): New inline function.
15437 (grub_file_filter_unregister): Likewise.
15438 (grub_file_filter_disable): Likewise.
15439 (grub_file_filter_disable_compression): Likewise.
15440 * include/grub/gzio.h: Removed.
15441
35ee15e0
BC
154422010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15443
15444 Filename expansion support for wildcards in GRUB script.
15445
15446 * tests/grub_script_expansion.in: New test.
15447 * Makefile.util.def: Rule for new test.
15448
15449 * grub-core/commands/wildcard.c: New file, implements filename
15450 expansion support for GRUB script.
15451 * grub-core/Makefile.core.def: Rule update for regexp.mod.
15452 * grub-core/script/argv.c: Cosmetic changes.
15453 * grub-core/script/execute.c (grub_script_arglist_to_argv):
15454 Refactored to perform wildcard expansion on arguments.
15455 * include/grub/script_sh.h (grub_script_wildcard_translator): New
15456 struct.
15457
15458 * tests/util/grub-shell.in: Fix quoting for read input.
15459
5f0c4aca
BC
154602010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15461
15462 Support for updating environment variables with matched substrings
15463 of regexp.
15464
15465 * tests/grub_cmd_regexp.in: New test.
15466 * Makefile.util.def: Rule for new test.
15467
15468 * grub-core/commands/regexp.c: New option -s to update environment
15469 variables with regexp matches.
15470
3759a35f
SJ
154712010-09-04 Szymon Janc <szymon@janc.net.pl>
15472
15473 * include/grub/file.h (grub_file): New member not_easly_seekable.
15474 (grub_file_seekable): New inline function.
15475 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
15476 easily seekable.
15477 (grub_gzio_open): Set not_easly_seekable.
15478 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
15479 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
15480
ed8c6dec
BC
154812010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15482
15483 Support for options to appear multiple times on cmdline.
15484
15485 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
15486 * grub-core/commands/extcmd.c: Support for repeatable option.
15487 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
15488 repeatable option support.
15489
15490 Refactor menuentry into a regular command.
15491
15492 * grub-core/commands/menuentry.c: New file, menuentry command
15493 implementation.
15494 * grub-core/Makefile.core.def: Rule update for normal.mod.
15495 * grub-core/normal/main.c: Moved menuentry creation to
15496 grub-core/commands/menuentry.c.
15497 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
15498 (grub_menu_execute_entry_real): Removed.
15499 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
15500 function.
15501 (grub_script_execute_menuentry): Removed.
15502 * grub-core/script/parser.y (menuentry): Removed.
15503 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
15504 * grub-core/script/yylex.l (menuentry): Removed.
15505 * include/grub/menu.h (grub_menu_init): New prototype.
15506 (grub_menu_fini): New prototype.
15507 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
15508 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
15509 (grub_script_execute_sourcecode): New prototype.
15510
dacd0cf0
BC
155112010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15512
15513 "return" command for GRUB script functions.
15514
15515 * tests/grub_script_return.in: New test.
15516 * Makefile.util.def: Rules for new test.
15517
15518 * grub-core/script/execute.c (grub_script_return): New function.
15519 * grub-core/script/main.c: Register/unregister return commaond.
15520 * include/grub/script_sh.h (grub_script_return): New prototype.
15521
52e72f9d
BC
155222010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15523
15524 "setparams" command to update positional parameters.
15525
15526 * tests/grub_script_setparams.in: New test.
15527 * Makefile.util.def: Rules for new test.
15528
15529 * grub-core/script/argv.c (grub_script_argv_make): New function.
15530 * grub-core/script/execute.c (replace_scope): New function.
15531 (grub_script_setparams): New function.
15532 * grub-core/script/lexer.c: Remove unused variables.
15533 * grub-core/script/main.c: Register/unregister setparams command.
15534 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
15535 (grub_script_setparams): New prototype.
15536
25b60c91
BC
155372010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15538
15539 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
15540 grub_free order.
15541
37e7bf68
BC
155422010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15543
15544 Support for passing block of commands as an argument to extcmds.
15545
15546 * Makefile.util.def: Rules for new test.
15547 * tests/grub_script_blockarg.in: New test.
15548 * grub-core/tests/test_blockarg.c: New file, block argument
15549 command used in the test.
15550
15551 * include/grub/extcmd.h (grub_extcmd_context): New struct.
15552 (grub_register_extcmd_prio): New function prototype.
15553 (grub_extcmd_dispatcher): New function prototype.
15554 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
15555 type.
15556 * include/grub/script_sh.h (struct grub_script): New members
15557 `children', `next_siblings' and `refcnt' for block arguments and
15558 reference counting.
15559 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
15560 (grub_script_arg): New member `script' for block argument.
15561 (grub_script_argv): New member `script' for block argument.
15562 (grub_parser_param): New member `scripts' for block argument.
15563 (grub_script_mem_free): New extern function prototype.
15564 (grub_script_ref): New function prototype.
15565 (grub_script_unref): New function prototype.
15566
15567 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
15568 extcmd form to support block arguments.
15569 * grub-core/script/argv.c: Block arguments support.
15570 * grub-core/script/execute.c: Likewise.
15571 * grub-core/script/lexer.c: Likewise.
15572 * grub-core/script/main.c: Likewise.
15573 * grub-core/script/script.c: Likewise.
15574 * grub-core/script/parser.y: Likewise. New `block' and `block0'
15575 non-terminals.
15576
15577 * grub-core/commands/acpi.c: Update extcmd implementations with
15578 grub_extcmd_context_t.
15579 * grub-core/commands/cat.c: Likewise.
15580 * grub-core/commands/echo.c: Likewise.
15581 * grub-core/commands/extcmd.c: Likewise.
15582 * grub-core/commands/hashsum.c: Likewise.
15583 * grub-core/commands/hdparm.c: Likewise.
15584 * grub-core/commands/help.c: Likewise.
15585 * grub-core/commands/hexdump.c: Likewise.
15586 * grub-core/commands/i386/cpuid.c: Likewise.
15587 * grub-core/commands/i386/pc/drivemap.c: Likewise.
15588 * grub-core/commands/i386/pc/halt.c: Likewise.
15589 * grub-core/commands/i386/pc/sendkey.c: Likewise.
15590 * grub-core/commands/iorw.c: Likewise.
15591 * grub-core/commands/keystatus.c: Likewise.
15592 * grub-core/commands/loadenv.c: Likewise.
15593 * grub-core/commands/ls.c: Likewise.
15594 * grub-core/commands/lspci.c: Likewise.
15595 * grub-core/commands/memrw.c: Likewise.
15596 * grub-core/commands/probe.c: Likewise.
15597 * grub-core/commands/search_wrap.c: Likewise.
15598 * grub-core/commands/setpci.c: Likewise.
15599 * grub-core/commands/sleep.c: Likewise.
15600 * grub-core/disk/loopback.c: Likewise.
15601 * grub-core/hello/hello.c: Likewise.
15602 * grub-core/loader/i386/bsd.c: Likewise.
15603 * grub-core/loader/xnu.c: Likewise.
15604 * grub-core/term/gfxterm.c: Likewise.
15605 * grub-core/term/serial.c: Likewise.
15606 * grub-core/tests/lib/functional_test.c: Likewise.
15607
888d1500
BC
156082010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15609
15610 Multi-line quoted strings support.
15611
15612 * grub-core/script/lexer.c (append_newline): Removed.
15613 (grub_script_lexer_yywrap): Refactored.
15614 (grub_script_lexer_init): Refactored.
15615 * grub-core/script/yylex.l (yywrap): New function.
15616 (grub_lexer_resplit): New function.
15617 (grub_lexer_unput): New function.
15618 * include/grub/script_sh.h (grub_lexer_param): New members, unput
15619 and resplit.
15620 * tests/grub_script_echo1.in: Added few more testcases.
15621
dda060dd
VS
156222010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
15623
15624 * grub-core/kern/misc.c: Don't add abort alias in utils.
15625 Reported by: echoline.
15626
6556eba9
BC
156272010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
15628
15629 Add missing files into "make dist" tarball for other platforms.
15630
15631 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
15632 * conf/Makefile.common (dist_noinst_DATA): New variable.
15633 * conf/Makefile.extra-dist: Added missing make dist files.
15634 * grub-core/Makefile.core.def: Likewise.
15635
c8e7bf5f
VS
156362010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
15637
15638 Compress grub_prefix.
15639
15640 * grub-core/boot/i386/pc/lnxboot.S: Use
15641 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
15642 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
15643 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
15644 GRUB_MACHINE_PREFIX_END. All users updated.
15645 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
15646 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
15647 + 0x40.
15648 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
15649 * util/grub-mkimage.c (image_target_desc): Change data_end to
15650 prefix_end. All users updated.
15651
a7c00cdb
VS
156522010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
15653
15654 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
15655 value.
15656 (grub_openbsd_boot): Likewise.
15657 (grub_netbsd_boot): Likewise.
15658 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
15659 (grub_xnu_boot): Likewise.
15660
9f915872
VS
156612010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15662
15663 * configure.ac: Clean LIBS variable after tests.
15664
efa1bee7
CW
156652010-09-02 Colin Watson <cjwatson@ubuntu.com>
15666
15667 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
15668
61d720e5
VS
156692010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15670
15671 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
15672 echo if libdevmapper will be used.
15673
ef8e0ec8
IT
156742010-09-02 Ian Turner <Ian.Turner@deshaw.com>
15675
15676 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
15677 constant for the same file.
15678
03e261d8
VS
156792010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15680
15681 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
15682
c2a4eba6
CW
156832010-09-02 Colin Watson <cjwatson@ubuntu.com>
15684
15685 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
15686 grub-core/*.pp.
15687
9056cbf3
CW
156882010-09-02 Colin Watson <cjwatson@ubuntu.com>
15689
15690 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
15691 required by the boot protocol.
15692
15693 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
15694 ebp and edi members.
15695 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
15696 state.ebp and state.edi.
15697 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
15698 %ebp and %edi according to grub_relocator32_ebp and
15699 grub_relocator32_edi respectively.
15700 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
15701 and state.edi.
15702
529cc99a
VS
157032010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15704
15705 Add i386-pc-pxe image target.
15706
15707 * util/grub-mkimage.c (image_target_desc): New enum value
15708 IMAGE_I386_PC_PXE.
15709 (image_targets): New target i386-pc-pxe.
15710 (generate_image): Handle i386-pc-pxe image.
15711
9a093920
VS
157122010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15713
15714 Fix grub_pxe_scan.
15715
15716 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
15717 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
15718 All users updated.
15719 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
15720 (grub_pxe_pxenv): Correct type.
15721
f9cefc4e
CW
157222010-09-01 Colin Watson <cjwatson@ubuntu.com>
15723
15724 * NEWS: Document most of the important changes since 1.98.
15725
4066f57f
CW
157262010-09-01 Colin Watson <cjwatson@ubuntu.com>
15727
15728 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
15729 generated manual page) a little.
15730
da2891f9
CW
157312010-09-01 Colin Watson <cjwatson@ubuntu.com>
15732
15733 * docs/grub.texi: Add myself as an author.
15734
ad717fae
VS
157352010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
15736
15737 * Makefile.util.def (libgrub.a): Add missing sunpc.
15738 Reported by: Seth Goldberg.
15739
eefe8abd
VS
157402010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15741
15742 Interrupt wrapping and code simplifications.
15743
9494ef9a
VS
15744 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
15745 x86_noieee1275 which are functionaly equivalent in this case.
15746 (grub-install): Make source on each platform explicit. Enable on
15747 all noemu.
15748 * gentpl.py (x86_efi_pc): Removed group.
15749 (x86_noefi): Likewise.
15750 (i386_noefi): Likewise.
15751 (x86_noieee1275): Likewise.
15752 (i386_noieee1275): Likewise.
15753 (i386_noefi_noieee1275): Likewise.
15754 (i386_pc_qemu_coreboot): Likewise.
15755 (i386_coreboot_multiboot): Likewise.
15756 (i386_pc_coreboot_multiboot_qemu): Likewise.
15757 (x86_noefi_mips): Likewise.
15758 (noieee1275): Likewise.
15759 (ieee1275_mips): Likewise.
15760 (noemu_noieee1275): Likewise.
15761 (cmos): New group.
15762 (usb): Likewise.
15763 (videoinkernel): Likewise.
15764 (videomodules): Likewise.
eefe8abd 15765 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
15766 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
15767 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
15768 include/grub/loader.h, include/grub/msdos_partition.h,
15769 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
15770 include/grub/machine/console.h, include/grub/machine/vga.h,
15771 include/grub/machine/vbe.h, include/grub/machine/init.h,
15772 include/grub/machine/kernel.h, include/grub/cpu/time.h,
15773 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 15774 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
15775 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
15776 * grub-core/Makefile.core.def (kernel): Explicit the source for
15777 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
15778 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
15779 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
15780 Use videoinkernel tag.
15781 (usb): Enable on all usb.
15782 (usbserial_common): Likewise.
15783 (usbserial_pl2303): Likewise.
15784 (usbserial_ftdi): Likewise.
15785 (uhci): Enable on all x86.
15786 (ohci): Enable on all pci.
15787 (cmostest): Enable on all CMOS.
15788 (acpi): Include commands/acpi.c on all platforms.
15789 (halt): Add relevant lib/*/halt.c.
15790 (hdparm): Enable on all pci.
15791 (lspci): Likewise.
15792 (usbtest): Enable on all usb.
15793 (ata): Enable on all pci.
15794 (ata_pthru): Likewise.
15795 (usbms): Enable on all usb.
15796 (usb_keyboard): Likewise.
15797 (font): Use tag videomodules.
15798 (bufio): Likewise.
15799 (datetime): Use tag cmos. Enable on all noemu.
15800 (mmap): Use tags common and x86.
15801 (gfxterm): Use tag videomodules.
15802 (bitmap): Likewise.
15803 (bitmap_scale): Likewise.
15804 (video_fb): Likewise.
15805 (video): Likewise.
15806 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
15807 adjust padding accordingly. All users updated.
15808 (grub_ohci_transaction): Fix bad format specification.
15809 (GRUB_MOD_INIT): Add asserts for struct size.
15810 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
15811 (grub_alloc_td): Likewise.
15812 (grub_free_queue): Likewise.
15813 (grub_uhci_transfer): Likewise.
15814 (grub_uhci_transaction): Fix bad format specification.
15815 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
15816 (grub_usb_bulk_readwrite): Likewise.
15817 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
15818 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
15819 Made static.
15820 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
15821 Made static.
15822 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
15823 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
15824 Transformed into C.
15825 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
15826 Moved from here ...
15827 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
15828 ... here. Transformed into C. Made static.
15829 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
15830 Moved from here ...
15831 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
15832 ... here. Transformed into C. Made static.
15833 * grub-core/kern/i386/pc/startup.S
15834 (grub_biosdisk_check_int13_extensions): Moved from here ...
15835 * grub-core/disk/i386/pc/biosdisk.c
15836 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
15837 Made static.
15838 * grub-core/kern/i386/pc/startup.S
15839 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
15840 * grub-core/disk/i386/pc/biosdisk.c
15841 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
15842 Transformed into C. Made static.
15843 * grub-core/kern/i386/pc/startup.S
15844 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
15845 * grub-core/disk/i386/pc/biosdisk.c
15846 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
15847 Transformed into C. Made static.
15848 * grub-core/kern/i386/pc/startup.S
15849 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
15850 * grub-core/disk/i386/pc/biosdisk.c
15851 (grub_biosdisk_get_diskinfo_standard): ... here.
15852 Transformed into C. Made static.
15853 * grub-core/kern/i386/pc/startup.S
15854 (grub_biosdisk_get_num_floppies): Moved from here ...
15855 * grub-core/disk/i386/pc/biosdisk.c
15856 (grub_biosdisk_get_num_floppies): ... here.
15857 Transformed into C. Made static.
15858 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
15859 New function.
15860 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
15861 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
15862 Transformed into C. Made static.
15863 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
15864 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
15865 Transformed into C. Made static.
15866 * grub-core/kern/i386/ieee1275/init.c: Removed.
15867 * grub-core/kern/i386/misc.S: Likewise.
15868 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
15869 Splitted from here ...
15870 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
15871 Transformed into C. Made static. All users updated.
15872 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
15873 Transformed into C. Made static. All users updated.
15874 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
15875 Moved from here...
15876 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
15877 Transformed into C. Made static. All users updated.
15878 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
15879 Moved from here...
15880 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
15881 Transformed into C. Made static. All users updated.
15882 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
15883 Removed (replaced by C version).
15884 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
15885 Moved from here...
15886 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
15887 Transformed into C. Made static.
15888 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
15889 Moved from here...
15890 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
15891 ... here. Transformed into C.
15892 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
15893 Moved from here...
15894 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
15895 ... here. Transformed into C.
15896 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
15897 Moved from here...
15898 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
15899 ... here. Transformed into C. Made static.
15900 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
15901 Moved from here...
15902 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
15903 ... here. Transformed into C.
21ed554b
VS
15904 * grub-core/kern/i386/pc/startup.S
15905 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
15906 * grub-core/video/i386/pc/vbe.c
15907 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
15908 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
15909 Moved from here...
15910 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
15911 ... here. Transformed into C.
15912 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
15913 Moved from here...
15914 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
15915 ... here. Transformed into C.
15916 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
15917 Moved from here...
15918 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
15919 ... here. Transformed into C.
15920 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
15921 Moved from here...
15922 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
15923 ... here. Transformed into C.
15924 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
15925 Moved from here...
15926 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
15927 ... here. Transformed into C. Made static.
15928 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
15929 Moved from here...
15930 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
15931 ... here. Transformed into C. Made static.
15932 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
15933 Moved from here...
15934 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
15935 ... here. Transformed into C. Made static.
15936 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
15937 pxe_rm_entry as third argument.
15938 (grub_bios_interrupt): New function.
15939 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
15940 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
15941 of calling grub_stop.
15942 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
15943 * grub-core/lib/efi/halt.c (grub_halt): ...here.
15944 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
15945 * grub-core/lib/emu/halt.c (grub_halt): ... here.
15946 * grub-core/lib/i386/halt.c: Moved from here ...
15947 * grub-core/lib/i386/halt.c: ... here.
15948 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
15949 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
15950 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
15951 grub_stop_floppy.
15952 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
15953 * include/grub/i386/coreboot/init.h: Removed.
15954 * include/grub/i386/multiboot/init.h: Likewise.
15955 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
15956 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
15957 * include/grub/i386/pc/int.h: New file.
15958 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
15959 (grub_pxe_scan): Removed.
15960 (grub_pxe_call): Update prototype.
15961 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
15962 prototypes.
15963 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
15964 * include/grub/i386/qemu/init.h: Removed.
15965 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
15966 noreturn.
15967 (grub_halt): Likewise.
15968 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
15969 (grub_reboot): Likewise.
15970 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
15971 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
15972 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
15973
215dd471
RM
159742010-08-30 Robert Millan <rmh@gnu.org>
15975
15976 * NEWS: Document addition of ZFS support in `grub-install' and
15977 `grub-mkconfig'.
15978
ebd65b82
BC
159792010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
15980
15981 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
15982 dprintf output.
15983
11721d19
VS
159842010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15985
15986 Remove leftover embedding of font objects.
15987
15988 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
15989 * util/grub-install.in (font): Removed.
15990 * util/grub-mkimage.c (generate_image): Remove font support. All users
15991 updated.
15992
37837d4e
VS
159932010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15994
15995 Remove leftover embedding of font objects.
15996
15997 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
15998 * util/grub-install.in (font): Removed.
15999 * util/grub-mkimage.c (generate_image): Remove font support. All users
16000 updated.
16001
b4c1aae0
VS
160022010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16003
16004 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 16005 Reported by: Ian Turner
b4c1aae0 16006
8920a08d
VS
160072010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16008
16009 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
16010 timeout to avoid indefinite boot stalling.
16011
f21db033
VS
160122010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16013
16014 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
16015 (grub_env_write_color_highlight): Likewise.
16016
9a9de209
VS
160172010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16018
16019 * grub-core/normal/term.c (print_more): Return to normal and not
16020 to standard state after printing "---MORE---".
16021
3dca01d7
VS
160222010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16023
16024 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
16025 Mask out the bit 0x80 since it has other meaning that specifiing color.
16026
0b986c40
VS
160272010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16028
16029 New relocator. Allows for more kernel support and more straightforward
16030 loader writing.
16031
16032 * Makefile.am (BOOTTARGET): New variable.
16033 (QEMU32): Likewise.
16034 (linux.init.x86_64): New target.
16035 (linux.init.i386): Likewise.
16036 (multiboot.elf): Likewise.
16037 (kfreebsd.elf): Likewise.
16038 (kfreebsd.aout): Likewise.
16039 (pc-chainloader.elf): Likewise.
16040 (pc-chainloader.bin): Likewise.
16041 (ntldr.elf): Likewise.
16042 (ntldr.bin): Likewise.
16043 (multiboot2.elf): Likewise.
16044 (kfreebsd.init.x86_64): Likewise.
16045 (kfreebsd.init.i386): Likewise.
16046 (knetbsd.init.i386): Likewise.
16047 (kopenbsd.init.i386): Likewise.
16048 (knetbsd.init.x86_64): Likewise.
16049 (kopenbsd.init.x86_64): Likewise.
16050 (linux-initramfs.i386): Likewise.
16051 (linux-initramfs.x86_64): Likewise.
16052 (kfreebsd-mfsroot.i386.img): Likewise.
16053 (knetbsd.image.i386): Likewise.
16054 (kopenbsd.image.i386): Likewise.
16055 (kopenbsd.image.x86_64): Likewise.
16056 (knetbsd.miniroot-image.i386.img): Likewise.
16057 (kfreebsd-mfsroot.x86_64.img): Likewise.
16058 (knetbsd.image.x86_64): Likewise.
16059 (knetbsd.miniroot-image.x86_64.img): Likewise.
16060 (kfreebsd-mfsroot.i386.gz): Likewise.
16061 (bootcheck-kfreebsd-i386): Likewise.
16062 (kfreebsd-mfsroot.x86_64.gz): Likewise.
16063 (bootcheck-kfreebsd-x86_64): Likewise.
16064 (knetbsd.miniroot-image.i386.gz): Likewise.
16065 (bootcheck-knetbsd-i386): Likewise.
16066 (bootcheck-kopenbsd-i386): Likewise.
16067 (bootcheck-kopenbsd-x86_64): Likewise.
16068 (knetbsd.miniroot-image.x86_64.gz): Likewise.
16069 (bootcheck-knetbsd-x86_64): Likewise.
16070 (bootcheck-linux-i386): Likewise.
16071 (bootcheck-linux-x86_64): Likewise.
16072 (bootcheck-linux16-i386): Likewise.
16073 (bootcheck-linux16-x86_64): Likewise.
16074 (bootcheck-multiboot): Likewise.
16075 (bootcheck-multiboot2): Likewise.
16076 (bootcheck-kfreebsd-aout): Likewise.
16077 (bootcheck-pc-chainloader): Likewise.
16078 (bootcheck-ntldr): Likewise.
16079 (CLEANFILES): Add new targets.
16080 (BOOTCHECKS): New variable.
16081 (.PHONY): Add bootchecks.
16082 (SUCCESSFUL_BOOT_STRING): New variable.
16083 (BOOTCHECK_TIMEOUT): Likewise.
16084 (bootcheck): New target
16085 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
16086 * configure.ac: Correct efiemu excuse.
16087 * docs/grub.texi (Supported kernels): New chapter.
16088 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
16089 include/grub/mm_private.h. Simplify inclusion of
16090 include/grub/boot.h, include/grub/loader.h
16091 and include/grub/msdos_partition.h
16092 (KERNEL_HEADER_FILES) [i386_coreboot]:
16093 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
16094 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
16095 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
16096 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
16097 include/grub/machine/loader.h.
16098 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
16099 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
16100 extra_dist.
16101 (pci.mod): Enable on i386-multiboot.
16102 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
16103 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
16104 i386-qemu.
16105 (relocator.mod): Rewritten.
16106 (aout.mod): Enable on all x86.
16107 (bsd.mod): Likewise.
16108 (ntldr.mod): New module.
16109 (linux.mod): Use loader/i386/linux.c on all x86.
16110 (xnu.mod): Enable on all x86.
16111 (vga_text.mod): disable on EFI and QEMU.
16112 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
16113 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
16114 * grub-core/efiemu/loadcore.c: Likewise.
16115 * grub-core/efiemu/main.c: Likewise.
16116 (grub_efiemu_exit_boot_services): Removed.
16117 (grub_efiemu_finish_boot_services): Likewise.
16118 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
16119 function.
16120 * grub-core/efiemu/i386/nocfgtables.c: New file.
16121 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
16122 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
16123 (grub_efi_finish_boot_services): Moved from here ...
16124 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
16125 Fille finish memory map and related data.
16126 (finish_mmap_buf): New variable.
16127 (grub_efi_uintn_t finish_mmap_size): Likewise.
16128 (grub_efi_uintn_t finish_key): Likewise.
16129 (grub_efi_uintn_t finish_desc_size): Likewise.
16130 (grub_efi_uint32_t finish_desc_version): Likewise.
16131 (grub_efi_is_finished): Likewise.
16132 (grub_efi_get_memory_map): Use saved memory map if EFI is already
16133 finished.
16134 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
16135 (grub_elf64_phdr_iterate): Likewise.
16136 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
16137 (grub_os_area_size): Likewise.
16138 (grub_machine_init): Don't reserve os area.
16139 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
16140 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
16141 * grub-core/kern/i386/loader.S: Removed.
16142 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
16143 (grub_os_area_size): Likewise.
16144 (grub_machine_init): Don't reserve os area.
16145 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
16146 Don't call grub_dl_unload_all.
16147 Don't include loader.S.
16148 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
16149 Declare the memory after _end as available.
16150 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 16151 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 16152 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
16153 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
16154 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
16155 * include/grub/mm_private.h (grub_mm_header): ... here.
16156 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
16157 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
16158 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
16159 (grub_mm_region): ..here. Removed addr. Added pre_size.
16160 All users updated.
16161 * grub-core/kern/mm.c (base): Renamed to ...
16162 (grub_mm_base): ... this. Made global.
16163 (grub_real_malloc): Alloc from end of region.
16164 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
16165 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
16166 * grub-core/kern/powerpc/cache_flush.S: ... here.
16167 * grub-core/lib/efi/relocator.c: New file.
16168 * grub-core/lib/i386/relocator.c: Rewritten.
16169 * grub-core/lib/i386/relocator16.S: New file.
16170 * grub-core/lib/i386/relocator32.S: Likewise.
16171 * grub-core/lib/i386/relocator64.S: Likewise.
16172 * grub-core/lib/i386/relocator_asm.S: Rewritten.
16173 * grub-core/lib/i386/relocator_common.S: New file.
16174 * grub-core/lib/ieee1275/relocator.c: Likewise.
16175 * grub-core/lib/mips/relocator.c: Rewritten.
16176 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
16177 stylistic adjustments.
16178 * grub-core/lib/powerpc/relocator.c: New file.
16179 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
16180 * grub-core/lib/relocator.c: Rewritten.
16181 * grub-core/lib/x86_64/relocator_asm.S: New file.
16182 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
16183 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
16184 (bsd_tag): New struct.
16185 (tags): New variable.
16186 (tags_last): Likewise.
16187 (netbsd_module): New struct.
16188 (netbsd_mods): New variable.
16189 (netbsd_mods_last): Likewise.
16190 (openbsd_opts): New parameter "serial".
16191 (OPENBSD_SERIAL_ARG): New definition.
16192 (netbsd_opts): New parameter "serial".
16193 (NETBSD_SERIAL_ARG): New definition.
16194 (grub_freebsd_add_meta): Reorganised into ...
16195 (grub_bsd_add_meta): ...this. All users updated.
16196 (grub_freebsd_add_mmap): Reorganised into ...
16197 (generate_e820_mmap): ...this...
16198 (grub_bsd_add_mmap): ...and this. All users updated.
16199 (grub_freebsd_list_modules): Use tags.
16200 (grub_netbsd_add_meta_module): New function.
16201 (grub_netbsd_list_modules): Likewise.
16202 (grub_freebsd_boot): Use relocator and finish EFI.
16203 (grub_openbsd_boot): Likewise.
16204 (grub_netbsd_setup_video): New function.
16205 (grub_netbsd_add_modules): Likewise.
16206 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
16207 and finish EFI.
16208 (grub_bsd_unload): Unload tags.
16209 (grub_bsd_load_aout): Use relocator.
16210 (grub_bsd_elf32_size_hook): New function.
16211 (grub_bsd_elf32_hook): Use relocator.
16212 (grub_bsd_elf64_size_hook): New function.
16213 (grub_bsd_elf64_hook): Use relocator.
16214 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
16215 (grub_bsd_load): Zero-out openbsd_ramdisk.
16216 (grub_bsd_load): Use relocator.
16217 (grub_cmd_openbsd): Support serial.
16218 (grub_cmd_netbsd): Support modules.
16219 (grub_cmd_freebsd_module): Use relocator.
16220 (grub_netbsd_module_load): New function.
16221 (grub_cmd_netbsd_module): Likewise.
16222 (grub_cmd_openbsd_ramdisk): Likewise.
16223 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
16224 kopenbsd_ramdisk.
16225 (GRUB_MOD_FINI): Unregister new commands.
16226 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
16227 (grub_freebsd_load_elfmodule_obj): Use relocator.
16228 (grub_freebsd_load_elfmodule): Likewise.
16229 (grub_freebsd_load_elf_meta): Likewise.
16230 (grub_netbsd_load_elf_meta): New function.
16231 (grub_openbsd_find_ramdisk): Likewise.
16232 * grub-core/loader/i386/bsd_helper.S: Removed.
16233 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
16234 * grub-core/loader/i386/bsd_trampoline.S: Removed.
16235 * grub-core/loader/i386/efi/linux.c: Likewise.
16236 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
16237 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
16238 (DEFAULT_VIDEO_MODE): Likewise.
16239 (real_mode_target): New variable.
16240 (prot_mode_target): Likewise.
16241 (initrd_mem_target): Likewise.
16242 (relocator): Likewise.
16243 (efi_mmap_buf): Likewise.
16244 (efi_mmap_size): Likewise.
16245 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
16246 (free_pages): Use relocator.
16247 (allocate_pages): Account for efi_mmap and use relocator. Return error.
16248 (grub_linux_setup_video): Return error.
16249 (grub_linux_trampoline_start): Removed.
16250 (grub_linux_trampoline_end): Likewise.
16251 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
16252 andd video parameters depending on firmware.
16253 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
16254 [GRUB_MACHINE_EFI]: Pass EFI parameters.
16255 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
16256 (grub_cmd_initrd): Use relocator.
16257 * grub-core/loader/i386/linux_trampoline.S: Removed.
16258 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
16259 (elf_sec_entsize): Likewise.
16260 (elf_sec_shstrndx): Likewise.
16261 (elf_sections): Likewise.
16262 (grub_multiboot_load): Use relocator.
16263 (grub_multiboot_get_mbi_size): Account for sections.
16264 (grub_multiboot_make_mbi): Use relocator and support sections.
16265 (grub_multiboot_add_elfsyms): New function.
16266 (grub_multiboot_free_mbi): Free sections.
16267 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
16268 (grub_linux_real_target): Likewise.
16269 (grub_linux_real_chunk): Likewise.
16270 (grub_linux16_prot_size): Likewise.
16271 (grub_linux16_boot): Use relocator.
16272 (grub_linux_unload): Unload relocator.
16273 (grub_cmd_linux): Use relocator.
16274 (grub_cmd_initrd): Likewise.
16275 * grub-core/loader/i386/pc/ntldr.c: New file.
16276 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
16277 Don't try to guess CPU frequency.
16278 (grub_xnu_set_video): Stretch bitmap.
16279 (grub_xnu_boot): Use relocator.
16280 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
16281 (grub_linux_unload): Free relocator.
16282 (grub_linux_load32): Use relocator.
16283 (grub_linux_load64): Likewise.
16284 (grub_cmd_initrd): Likewise.
16285 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
16286 (grub_multiboot_unload): Unload relocator.
16287 (grub_cmd_multiboot): Use relocator.
16288 (grub_cmd_module): Likewise.
16289 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
16290 Use relocator and support sections.
16291 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
16292 (elf_sec_entsize): Likewise.
16293 (elf_sec_shstrndx): Likewise.
16294 (elf_sections): Likewise.
16295 (grub_multiboot_load): Use relocator.
16296 (grub_multiboot_get_mbi_size): Account for sections.
16297 (grub_multiboot_make_mbi): Use relocator and support sections.
16298 (grub_multiboot_add_elfsyms): New function.
16299 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
16300 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
16301 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
16302 Prototype changed. All users updated.
16303 (grub_xnu_align_heap): Simplified.
16304 (grub_xnu_writetree_toheap): Likewise.
16305 (grub_xnu_unload): Unload relocator.
16306 (grub_cmd_xnu_kernel): Use relocator.
16307 (grub_cmd_xnu_kernel64): Likewise.
16308 (grub_xnu_register_memory): Simplified.
16309 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
16310 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
16311 EFI is finished.
16312 (grub_console_checkkey): Likewise.
16313 (grub_console_getkey): Likewise.
16314 (grub_console_getwh): Likewise.
16315 (grub_console_getxy): Likewise.
16316 (grub_console_gotoxy): Likewise.
16317 (grub_console_cls): Likewise.
16318 (grub_console_setcolorstate): Likewise.
16319 (grub_console_setcursor): Likewise.
16320 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
16321 * grub-core/tests/boot/kbsd.init-i386.S: New file.
16322 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
16323 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
16324 * grub-core/tests/boot/kernel-8086.S: Likewise.
16325 * grub-core/tests/boot/kernel-i386.S: Likewise.
16326 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
16327 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
16328 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
16329 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
16330 * grub-core/tests/boot/knetbsd.cfg: Likewise.
16331 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
16332 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
16333 * grub-core/tests/boot/linux.cfg: Likewise.
16334 * grub-core/tests/boot/linux.init-i386.S: Likewise.
16335 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
16336 * grub-core/tests/boot/linux16.cfg: Likewise.
16337 * grub-core/tests/boot/multiboot.cfg: Likewise.
16338 * grub-core/tests/boot/multiboot2.cfg: Likewise.
16339 * grub-core/tests/boot/ntldr.cfg: Likewise.
16340 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
16341 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
16342 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
16343 New definition.
16344 * include/grub/dl.h (grub_dl_unload_all): Removed.
16345 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
16346 (grub_efi_finish_boot_services): Change prototype.
16347 (grub_efi_is_finished): New variable.
16348 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
16349 Changed prototype.
16350 (grub_efiemu_finish_boot_services): Removed.
16351 (grub_machine_efiemu_init_tables): New prototype.
16352 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
16353 (grub_elf64_phdr_iterate): Likewise.
16354 * include/grub/i386/bsd.h: Include relocator.h.
16355 (freebsd_tag_header): New struct.
16356 (grub_openbsd_bios_mmap): Removed.
16357 (grub_unix_real_boot): Removed.
16358 (grub_freebsd_load_elfmodule32): Changed prototype.
16359 (grub_freebsd_load_elfmodule_obj64): Likewise.
16360 (grub_freebsd_load_elf_meta32): Likewise.
16361 (grub_freebsd_load_elf_meta64): Likewise.
16362 (grub_freebsd_add_meta): Removed.
16363 (grub_netbsd_load_elf_meta32): New prototype.
16364 (grub_netbsd_load_elf_meta64): Likewise.
16365 (grub_bsd_add_meta): Likewise.
16366 (grub_openbsd_ramdisk_descriptor): New struct.
16367 (grub_openbsd_find_ramdisk32): New prototype.
16368 (grub_openbsd_find_ramdisk64): Likewise.
16369 * include/grub/i386/coreboot/loader.h: Removed.
16370 * include/grub/i386/efi/loader.h: Likewise.
16371 * include/grub/i386/ieee1275/loader.h: Likewise.
16372 * include/grub/i386/linux.h (linux_kernel_header): Change void *
16373 to grub_uint32_t.
16374 * include/grub/i386/loader.h: Removed.
16375 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
16376 value.
16377 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
16378 (grub_phys_addr_t): New type.
16379 (grub_vtop): New inline function.
16380 (grub_map_memory): Likewise.
16381 (grub_unmap_memory): Likewise.
16382 * include/grub/i386/multiboot/loader.h: Removed.
16383 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
16384 (NETBSD_BTINFO_CONSOLE): New definition.
16385 (NETBSD_BTINFO_SYMTAB): Likewise.
16386 (NETBSD_BTINFO_MODULES): Likewise.
16387 (NETBSD_BTINFO_FRAMEBUF): Likewise.
16388 (grub_netbsd_bootinfo): New struct.
16389 (grub_netbsd_btinfo_common): Use explicit bitsize.
16390 (grub_netbsd_btinfo_mmap_entry): Removed.
16391 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
16392 (grub_netbsd_btinfo_bootdisk): New struct.
16393 (grub_netbsd_btinfo_symtab): Likewise.
16394 (grub_netbsd_btinfo_serial): Likewise.
16395 (grub_netbsd_btinfo_modules): Likewise.
16396 (grub_netbsd_btinfo_framebuf): Likewise.
16397 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
16398 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
16399 Likewise.
16400 (grub_openbsd_bootargs): Use explicit bitsize.
16401 (grub_openbsd_bootarg_console): New struct.
16402 (GRUB_OPENBSD_COM_MAJOR): New definition.
16403 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
16404 * include/grub/i386/pc/efiemu.h: Removed.
16405 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
16406 * include/grub/i386/qemu/loader.h: Removed.
16407 * include/grub/i386/relocator.h: Rewritten.
16408 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
16409 * include/grub/mips/memory.h: New file.
16410 * include/grub/mips/multiboot.h: Rewritten.
16411 * include/grub/mips/relocator.h: Rewritten.
16412 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
16413 (grub_vtop): New function.
16414 (grub_map_memory): Likewise.
16415 (grub_unmap_memory): Likewise.
16416 * include/grub/misc.h (ALIGN_DOWN): New definition.
16417 * include/grub/mm.h (grub_mm_check_real): New proto.
16418 (GRUB_MM_CHECK): New definition.
16419 * include/grub/mm_private.h: New file.
16420 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
16421 (grub_multiboot_get_mbi_size): Removed.
16422 (grub_multiboot_make_mbi): Change prottype.
16423 (grub_multiboot_set_accepts_video): New proto.
16424 (grub_multiboot_add_elfsyms): Likewise.
16425 (grub_multiboot_payload_eip): New variable.
16426 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
16427 New prototype.
16428 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
16429 New definition.
16430 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
16431 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
16432 * include/grub/powerpc/ieee1275/loader.h: Removed.
16433 * include/grub/powerpc/memory.h: New file.
16434 * include/grub/powerpc/relocator.h: Likewise.
16435 * include/grub/relocator.h: Likewise.
16436 * include/grub/relocator_private.h: Likewise.
16437 * include/grub/sparc64/ieee1275/loader.h: Removed.
16438 * include/grub/x86_64/memory.h: New file.
16439 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
16440 (grub_xnu_heap_malloc): Likewise.
16441 (grub_xnu_heap_real_start): Removed.
16442 (grub_xnu_heap_start): Likewise.
16443 (grub_xnu_relocator): New variable.
16444 (grub_xnu_heap_target_start): Likewise.
16445 * tests/util/grub-shell.in: Support non-pc.
16446 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 16447
5303b85d
VS
164482010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16449
16450 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
16451 on malloc error.
16452 (grub_bidi_logical_to_visual): Check that malloc succeded.
16453 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
16454 puts.
16455 (grub_xputs_normal): Likewise.
16456
d768d159
VS
164572010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16458
16459 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
16460 extra_dist.
16461
164622010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16463
16464 * grub-core/efiemu/runtime/efiemu.sh: Removed.
16465
5bf84df4
VS
164662010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16467
16468 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
16469
3626810e
VS
164702010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16471
16472 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
16473 dprintf.
16474
a7363f53
BC
164752010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
16476
16477 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
16478
902f75f6
VS
164792010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16480
16481 * grub-core/normal/term.c (print_more): Fix a memory leak.
16482 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
16483 (grub_xputs_normal): Likewise.
16484
3c707967
VS
164852010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16486
16487 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
16488 the begining of the string
16489
2053cc07
VS
164902010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16491
16492 * grub-core/script/script.c (grub_script_parse): Free parsed on
16493 failure.
16494
46422ebf
VS
164952010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16496
16497 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
16498 on failure.
16499
9e0fa3f6
VS
165002010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16501
16502 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
16503 return.
16504
3393cf16
VS
165052010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16506
16507 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
16508 (scroll_up): Fix a memory leak.
16509
b17540cb
VS
165102010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16511
16512 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
16513 errors.
16514
67140446
VS
165152010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
16516
16517 Handle USB pendrives exposed as floppies.
16518
16519 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
16520 floppy.
16521 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
16522 Check for partitions on all devices.
16523
e35e46fc
VS
165242010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
16525
16526 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
16527 (readkey): Likewise.
16528
d24c6190
BC
165292010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
16530
16531 Multiple variable names support to "export" command.
16532
16533 * normal/context.c (grub_cmd_export): "export" command supports
16534 multiple variable names.
16535
04ddcc6a
ST
165362010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
16537
16538 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
16539 --target=drive output to Mach device name.
16540
0c8b61d8
BC
165412010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
16542
16543 New Automake based build system for GRUB.
16544
16545 * ABOUT-NLS: New file.
16546 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
16547 in Makefile.util.def file.
16548 * Makefile.util.def: New file. Autogen build definitions file for
16549 GRUB host utils.
16550 * conf/Makefile.common: New file. Common variables for GRUB host
16551 utils and target modules.
16552 * conf/Makefile.extra-dist: New file. Extra files for make dist.
16553 * docs/Makefile.am: New file. Automake file for docs.
16554 * gentpl.py: New file. Python script to generate Autogen
16555 template.
16556 * grub-core/Makefile.am: New file. GRUB target modules' rules
16557 that doesn't fit in Makefile.core.def file.
16558 * grub-core/Makefile.core.def: New file. Autogen build
16559 definitions file for GRUB target modules.
16560 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
16561 specific setjmp.S file.
16562 * po/Makefile.am: New file.
16563
16564 * .bzrignore: New ignores.
16565 * INSTALL: New requirements, without Ruby.
16566 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
16567 * autogen.sh: Updated to invoke autogen as necessary.
16568 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
16569 and defines for Automake conditionals.
16570 * geninit.sh: Refactoring.
16571
16572 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
16573 necessary.
16574 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
16575 New prototype.
16576
16577 * include/grub/test.h: Fix functional test modules' naming.
16578 * grub-core/tests/example_functional_test.c: Fix test module name.
16579
16580 * util/misc.c: Hosted versions' of grub functions for libgrub.a
16581 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
16582 * util/grub-editenv.c: Likewise.
16583 * util/grub-fstest.c: Likewise.
16584 * util/grub-mkdevicemap.c: Likewise.
16585 * util/grub-mkfont.c: Likewise.
16586 * util/grub-mkimage.c: Likewise.
16587 * util/grub-mkpasswd-pbkdf2.c: Likewise.
16588 * util/grub-probe.c: Likewise.
16589 * util/grub-script-check.c: Likewise.
16590 * util/i386/pc/grub-setup.c: Likewise.
16591 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16592
16593 * tests/util/grub-shell.in: Fix override directory path.
16594 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
16595 * util/import_gcry.py: Create Makefile.gcry.def file instead.
16596
16597 * util/lvm.c: Update #includes.
16598 * util/raid.c: Likewise.
16599 * util/resolve.c: Likewise.
16600 * grub-core/bus/emu/pci.c: Likewise.
16601 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
16602 * grub-core/lib/posix_wrap/string.h: Likewise.
16603 * grub-core/kern/emu/main.c: Likewise.
16604
16605 * grub-core/gensymlist.sh: New file. Script for generating kernel
16606 symbols file.
16607 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
16608
16609 * grub-core/gentrigtables.c: Fix unused variable warnings.
16610
16611 * Makefile.in: Removed.
16612 * conf/any-emu.rmk: Removed.
16613 * conf/common.rmk: Removed.
16614 * conf/i386-coreboot.rmk: Removed.
16615 * conf/i386-efi.rmk: Removed.
16616 * conf/i386-ieee1275.rmk: Removed.
16617 * conf/i386-multiboot.rmk: Removed.
16618 * conf/i386-pc.rmk: Removed.
16619 * conf/i386-qemu.rmk: Removed.
16620 * conf/i386.rmk: Removed.
16621 * conf/mips-yeeloong.rmk: Removed.
16622 * conf/mips.rmk: Removed.
16623 * conf/powerpc-ieee1275.rmk: Removed.
16624 * conf/sparc64-ieee1275.rmk: Removed.
16625 * conf/tests.rmk: Removed.
16626 * conf/x86-efi.rmk: Removed.
16627 * conf/x86_64-efi.rmk: Removed.
16628 * gendistlist.sh: Removed.
16629 * geninitheader.sh: Removed.
16630 * genkernsyms.sh.in: Removed.
16631 * genmk.rb: Removed.
16632 * gensymlist.sh.in: Removed.
16633 * mkinstalldirs: Removed.
16634 * boot: Moved ...
16635 * grub-core/boot: ... to here.
16636 * bus: Moved ...
16637 * grub-core/bus: ... to here.
16638 * commands: Moved ...
16639 * grub-core/commands: ... to here.
16640 * disk: Moved ...
16641 * grub-core/disk: ... to here.
16642 * efiemu: Moved ...
16643 * grub-core/efiemu: ... to here.
16644 * font: Moved ...
16645 * grub-core/font: ... to here.
16646 * fs: Moved ...
16647 * grub-core/fs: ... to here.
16648 * gencmdlist.sh: Moved ...
16649 * grub-core/gencmdlist.sh: ... to here.
16650 * genemuinit.sh: Moved ...
16651 * grub-core/genemuinit.sh: ... to here.
16652 * genemuinitheader.sh: Moved ...
16653 * grub-core/genemuinitheader.sh: ... to here.
16654 * genfslist.sh: Moved ...
16655 * grub-core/genfslist.sh: ... to here.
16656 * genhandlerlist.sh: Moved ...
16657 * grub-core/genhandlerlist.sh: ... to here.
16658 * genmoddep.awk: Moved ...
16659 * grub-core/genmoddep.awk: ... to here.
16660 * genmodsrc.sh: Moved ...
16661 * grub-core/genmodsrc.sh: ... to here.
16662 * genpartmaplist.sh: Moved ...
16663 * grub-core/genpartmaplist.sh: ... to here.
16664 * genparttoollist.sh: Moved ...
16665 * grub-core/genparttoollist.sh: ... to here.
16666 * genterminallist.sh: Moved ...
16667 * grub-core/genterminallist.sh: ... to here.
16668 * gentrigtables.c: Moved ...
16669 * grub-core/gentrigtables.c: ... to here.
16670 * genvideolist.sh: Moved ...
16671 * grub-core/genvideolist.sh: ... to here.
16672 * gettext: Moved ...
16673 * grub-core/gettext: ... to here.
16674 * gfxmenu: Moved ...
16675 * grub-core/gfxmenu: ... to here.
16676 * gnulib: Moved ...
16677 * grub-core/gnulib: ... to here.
16678 * hello: Moved ...
16679 * grub-core/hello: ... to here.
16680 * hook: Moved ...
16681 * grub-core/hook: ... to here.
16682 * io: Moved ...
16683 * grub-core/io: ... to here.
16684 * kern: Moved ...
16685 * grub-core/kern: ... to here.
16686 * lib: Moved ...
16687 * grub-core/lib: ... to here.
16688 * loader: Moved ...
16689 * grub-core/loader: ... to here.
16690 * mmap: Moved ...
16691 * grub-core/mmap: ... to here.
16692 * normal: Moved ...
16693 * grub-core/normal: ... to here.
16694 * partmap: Moved ...
16695 * grub-core/partmap: ... to here.
16696 * parttool: Moved ...
16697 * grub-core/parttool: ... to here.
16698 * script: Moved ...
16699 * grub-core/script: ... to here.
16700 * term: Moved ...
16701 * grub-core/term: ... to here
16702 * tests/example_functional_test.c: Moved ...
16703 * grub-core/tests/example_functional_test.c: ... to here.
16704 * tests/lib/functional_test.c: Moved ...
16705 * grub-core/tests/lib/functional_test.c: ... to here.
16706 * tests/lib/test.c: Moved ...
16707 * grub-core/tests/lib/test.c: ... to here.
16708 * video: Moved ...
16709 * grub-core/video: ... to here.
16710
645586e6
BC
167112010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
16712
16713 Replace --enable-grub-emu-modules with grub-emu-lite.
16714
16715 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
16716 cache.S.
16717
16718 * include/grub/emu/misc.h (grub_emu_init): New prototype.
16719 * kern/emu/full.c: New file. For grub-emu specific initialization.
16720 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
16721 * kern/emu/main.c: Call initialization function grub_emu_init.
16722
16723 * Makefile.in: Include grub-emu-lite in install.
16724 * commands/parttool.c: Use grub_no_autoload to differentiate
16725 between grub-emu and grub-emu-lite.
16726 * include/grub/misc.h: New variable grub_no_autoload.
16727
16728 * conf/any-emu.rmk: New rules for grub-emu-lite.
16729 * configure.ac: Remove --enable-grub-emu-modules.
16730 * genmk.rb: Cleanup unnecessary rules.
16731 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
16732
16733 * normal/main.c: Don't load list files on grub-emu-lite.
16734 * util/misc.c (grub_arch_sync_caches): Removed.
16735
f86a4030
CW
167362010-08-23 Colin Watson <cjwatson@ubuntu.com>
16737
16738 * kern/mips/startup.S (grub_prefix): Update comment to refer to
16739 grub-mkimage rather than grub-mkelfimage.
16740 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
16741
06776944
VS
167422010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
16743
16744 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
16745 a key after CapsLock or NumLock. It's just a qemu bug.
16746
df262419
VS
167472010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
16748
16749 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
16750 needed by libusb wrapper.
16751
b40ea81b
ST
167522010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
16753
16754 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
16755
dee50575
VS
167562010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
16757
16758 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
16759 --nounzip is passed.
16760
fb1d7b79
VS
167612010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
16762
16763 USB hotunplugging and USB serial support.
16764
16765 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
16766 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
16767 (grub_uhci_transfer): Respect timeout and set *actual.
16768 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
16769 non-standard length.
16770 (grub_usb_device_attach): Autoload modules.
16771 (GRUB_MOD_INIT): Set grub_term_poll_usb.
16772 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
16773 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
16774 users updated.
16775 (grub_usb_add_hub): Fill nports and children.
16776 (attach_root_port): Receive hub instead of controller.
16777 All users updated. Fill hub->devices.
16778 (grub_usb_root_hub): Allocate hub->devices.
16779 (detach_device): New function.
16780 (poll_nonroot_hub): Fill children and detach devices.
16781 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
16782 actual arguments. All users updated.
16783 (grub_usb_bulk_read_extended): New function.
16784 * bus/usb/serial/common.c: New file.
16785 * bus/usb/serial/ftdi.c: Likewise.
16786 * bus/usb/serial/pl2303.c: Likewise.
16787 * commands/terminal.c (handle_command): Support wildcard.
16788 * commands/usbtest.c: Output "Unknown" instead of empty string.
16789 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
16790 (usbserial_common_mod_SOURCES): New variable.
16791 (usbserial_common_mod_CFLAGS): Likewise.
16792 (usbserial_common_mod_LDFLAGS): Likewise.
16793 (pkglib_MODULES): Add usbserial_pl2303.mod.
16794 (usbserial_pl2303_mod_SOURCES): New variable.
16795 (usbserial_pl2303_mod_CFLAGS): Likewise.
16796 (usbserial_pl2303_mod_LDFLAGS): Likewise.
16797 (pkglib_MODULES): Add usbserial_ftdi.mod.
16798 (usbserial_ftdi_mod_SOURCES): New variable.
16799 (usbserial_ftdi_mod_CFLAGS): Likewise.
16800 (usbserial_ftdi_mod_LDFLAGS): Likewise.
16801 (pkglib_MODULES): Add serial.mod.
16802 (serial_mod_SOURCES): New variable.
16803 (serial_mod_CFLAGS): Likewise.
16804 (serial_mod_LDFLAGS): Likewise.
16805 * conf/i386-pc.rmk: Likewise.
16806 * conf/mips-yeeloong.rmk: Likewise.
16807 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
16808 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
16809 * disk/usbms.c (first_available_slot): New variable.
16810 (grub_usbms_attach): Don't reuse free slots due to potential cache
16811 problems.
16812 * include/grub/serial.h: Moved to ..
16813 * include/grub/ns8250.h: ...this.
16814 * include/grub/serial.h: New file.
16815 * include/grub/term.h (grub_term_poll_usb): New variable.
16816 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
16817 readkey. All users updated.
16818 (grub_terminfo_output_state): Pass term to put.
16819 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
16820 (grub_usb_controller_dev): Add timeout and actual arguments to
16821 transfer. All users updated.
16822 (grub_usb_interface): New field detach_data.
16823 (grub_usb_device): New fields children and nports.
16824 (grub_usb_ep_type_t): New type.
16825 (grub_usb_get_ep_type): New function.
16826 (grub_usb_bulk_read_extended): Likewise.
16827 * include/grub/usbdesc.h (grub_usb_desc): New type.
16828 * include/grub/usbserial.h: New file.
16829 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
16830 * kern/term.c (grub_term_poll_usb): New variable.
16831 (grub_getkey): Call grub_term_poll_usb if set.
16832 (grub_checkkey): Likewise.
16833 (grub_getkeystatus): Likewise.
16834 * term/serial.c: Moved controller-specific parts to ...
16835 * term/ns8250.c: ... here.
16836 * term/serial.c: Mostly rewritten.
16837 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
16838 according to spec.
16839
21a313de
RM
168402010-08-20 Robert Millan <rmh@gnu.org>
16841
16842 Make kFreeBSD code more generic to support ext2fs as root, ufs as
16843 a separate module and maybe other interesting combinations.
16844
16845 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
16846 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
16847 (kfreebsd_entry): Add generic filesystem module load routine.
16848 Map GRUB `ext2' to kFreeBSD `ext2fs'.
16849
63c734a6
CW
168502010-08-20 Colin Watson <cjwatson@ubuntu.com>
16851
16852 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
16853 "numcenter" (I misunderstood the purpose of this entry).
16854 * docs/grub.texi (sendkey): Likewise.
16855
c4d16542
CW
168562010-08-20 Colin Watson <cjwatson@ubuntu.com>
16857
16858 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
16859 status flag options; simply omitting the option is equivalent and
16860 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
16861 (keysym_table): Rename "num5numlock" to "numlock".
16862 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
16863 can uniformly say that only the last of multiple `sendkey'
16864 invocations has any effect.
16865 * docs/grub.texi (sendkey): New section.
16866
93541d66
CW
168672010-08-19 Colin Watson <cjwatson@ubuntu.com>
16868
16869 * commands/i386/pc/sendkey.c (options): Fix three typos.
16870
b4ece5e1
VS
168712010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16872
16873 Implement sendkey support.
16874
16875 * commands/i386/pc/sendkey.c: New file.
16876 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
16877 (sendkey_mod_SOURCES): New variable.
16878 (sendkey_mod_CFLAGS): Likewise.
16879 (sendkey_mod_LDFLAGS): Likewise.
16880
51f1f5af
CW
168812010-08-18 Colin Watson <cjwatson@ubuntu.com>
16882
16883 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
16884 fix warnings from Autoconf.
16885
9da94e05
CW
168862010-08-18 Colin Watson <cjwatson@ubuntu.com>
16887
16888 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
16889 to avoid false positives with some assemblers that output things
16890 like "someprefix_func" as part of their output.
16891
729a0f2e
RM
168922010-08-15 Robert Millan <rmh@gnu.org>
16893
16894 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
16895 errors.
16896 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
16897 grub_get_libzfs_handle() errors.
16898
f3710e08
RM
168992010-08-14 Robert Millan <rmh@gnu.org>
16900
16901 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
16902 filesystem is not ZFS.
16903
7a3c13de
BC
169042010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16905
16906 Fix for misspelled color names defaulting to black/black (bug
16907 reported by Doug Nazar)
16908
16909 * include/grub/normal.h (grub_parse_color_name_pair): Add return
16910 status to prototype.
16911 * normal/color.c (grub_parse_color_name_pair): Return failure
16912 status.
16913 (grub_env_write_color_normal): Ignore bad color names.
16914 (grub_env_write_color_highlight): Likewise.
16915 * normal/main.c (GRUB_MOD_INIT): Set default color names.
16916
ab8ba50d
BC
169172010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16918
16919 "shift" command support to GRUB script.
16920
16921 * include/grub/script_sh.h (grub_script_shift): New prototype.
16922 * script/execute.c (grub_script_shift): New function.
16923 * script/main.c (grub_script_init): Register shift command.
16924 (grub_script_fini): Unregister shift command.
16925 * util/grub-script-check.c (grub_script_cmd_shift): New function.
16926
16927 * tests/grub_script_shift.in: New testcase.
16928 * conf/tests.rmk: Rules for new testcase.
16929
4d61999e
BC
169302010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16931
16932 "continue" command support to GRUB script.
16933
16934 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
16935 (grub_script_break): Continue support.
16936 * script/main.c (grub_script_init): Register continue command.
16937 (grub_script_fini): Unregister continue command.
16938
16939 * tests/grub_script_continue.in: New testcase.
16940 * conf/tests.rmk: Rules for new testcase.
16941
4df51e00
BC
169422010-08-12 BVK Chaitanya <bvk@dbook>
16943
16944 "break" command support to GRUB script.
16945
16946 * conf/common.rmk: Rule updates to grub-script-check.
16947 * include/grub/misc.h (grub_min): New function.
16948 * include/grub/script_sh.h (grub_script_init): New prototype.
16949 (grub_script_fini): New prototype.
16950 (grub_script_break): New prototype.
16951 * script/main.c (grub_script_init): New function.
16952 (grub_script_fini): New function.
16953 * script/execute.c (grub_script_break): New function.
16954 * normal/main.c: Calls to grub_script_{init,fini}.
16955 * util/grub-script-check.c (grub_script_break): New function.
16956
16957 * tests/grub_script_break.in: New testcase.
16958 * conf/tests.rmk: Rules for new test case.
16959
f12c8420
BC
169602010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16961
16962 Function parameters support to GRUB script.
16963
16964 * script/yylex.l (VARIABLE): Regular expression update.
16965 * script/function.c (grub_script_function_call): Moved ...
16966 * script/execute.c (grub_script_function_call): ... to here.
16967 (grub_script_execute_arglist_to_argv): Removed.
16968 (grub_script_arglist_to_argv): New function.
16969 * script/argv.c: New file.
16970 (grub_script_argv_free): New function.
16971 (grub_script_argv_next): Likewise.
16972 (grub_script_argv_append): Likewise.
16973 (grub_script_argv_split_append): Likewise.
16974 * include/grub/script_sh.h (grub_script_argv): New struct.
16975 (grub_script_argv_free): New function.
16976 (grub_script_argv_next): Likewise.
16977 (grub_script_argv_append): Likewise.
16978 (grub_script_argv_split_append): Likewise.
16979
16980 * conf/common.rmk (normal.mod): New source script/argv.c.
16981
16982 * tests/grub_script_echo1.in: More tests.
16983 * tests/grub_script_vars1.in: Likewise.
16984 * tests/grub_script_functions.in: New test case.
16985 * conf/tests.rmk: Rules for new testcase.
16986
8022b748
BC
169872010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16988
16989 Remove grub_script_cmdblock struct.
16990
16991 * include/grub/script_sh.h: Remove grub_script_cmdblock.
16992 * script/parser.y: Likewise.
16993 * script/execute.c: Rename cmdblock suffix to cmdlist.
16994 * script/script.c: Likewise.
16995 * util/grub-script-check.c: Likewise.
16996
79a6ba61
YB
169972010-08-11 Yves Blusseau <blusseau@zetam.org>
16998
16999 * .bzrignore: add grub-macho2img
17000
d04b9414
VS
170012010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
17002
17003 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
17004
f947ab49
VS
170052010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
17006
17007 Remove the dump of sm712 initialisation sequence.
17008
17009 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
17010 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
17011 (GRUB_VGA_IO_MISC_WRITE): Likewise.
17012 (GRUB_VGA_CR_*): Added many registers.
17013 (GRUB_VGA_SR_*): Likewise.
17014 (GRUB_VGA_GR_*): Likewise.
17015 (grub_vga_write_arx): New function.
17016 (grub_video_hw_config): New struct.
17017 (grub_vga_set_geometry): New function.
17018 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
17019 GRUB_PCI_CLASS_SUBCLASS_VGA.
17020 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
17021 * video/sm712.c (grub_sm712_write_reg): New function
17022 (grub_sm712_read_reg): Likewise.
17023 (grub_sm712_sr_write): Likewise.
17024 (grub_sm712_gr_write): Likewise.
17025 (grub_sm712_cr_write): Likewise.
17026 (grub_sm712_write_arx): Likewise.
17027 (grub_sm712_cr_shadow_write): Likewise.
17028 (grub_sm712_write_dda_lookup): Likewise.
17029 (grub_video_sm712_setup): Initialise the video rather then
17030 blindly replay the dump.
17031 (main) [TEST]: Add a routine to be able to compile as standalone for
17032 tests.
17033 * video/sm712_init.c (sm712_init): Removed.
17034 (sm712_sr_seq1): New array.
17035 (sm712_sr_seq2): Likewise.
17036
f0206638
VS
170372010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
17038
17039 * include/grub/vga.h: Add missing grub/pci.h include.
17040
2764da3b
YB
170412010-08-10 Yves Blusseau <blusseau@zetam.org>
17042
17043 * util/grub-macho2img.c (main): fix typo
17044
cf0c775e
VS
170452010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
17046
17047 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
17048 (grub_vga_gr_read): Likewise.
17049 (grub_vga_cr_write): Likewise.
17050 (grub_vga_cr_read): Likewise.
17051 (grub_vga_sr_write): Likewise.
17052 (grub_vga_sr_read): Likewise.
17053 (grub_vga_palette_read): Likewise.
17054 (grub_vga_palette_write): Likewise.
17055 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
17056 (grub_sm712_sr_read): New function.
17057 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
17058 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
17059
07f360e9
RM
170602010-08-09 Robert Millan <rmh@gnu.org>
17061
17062 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
17063 out unused variables on non-ZFS build.
17064
346c2072
RM
170652010-08-08 Robert Millan <rmh@gnu.org>
17066
17067 Fix path generation for sub-filesystems in ZFS.
17068
17069 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
17070 missing slash.
17071
71175420
RM
170722010-08-08 Robert Millan <rmh@gnu.org>
17073
17074 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
17075
0d8286f3
RM
170762010-08-08 Robert Millan <rmh@gnu.org>
17077
17078 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
17079 exist, issue a proper error message (rely on `ls' for translated
17080 strings).
17081
55dd2924
RM
170822010-08-08 Robert Millan <rmh@gnu.org>
17083
17084 Fix grub-probe invocation.
17085
17086 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
17087
d3dd9e80
RM
170882010-08-04 Robert Millan <rmh@gnu.org>
17089
17090 * configure.ac: Remove checks for getfsstat() and getmntany().
17091 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
17092 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
17093 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
17094 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
17095 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
17096 function.
17097 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
17098 via find_mount_point_from_dir() and getfsstat() / getmntany().
17099
0de22aa9
RM
171002010-08-04 Robert Millan <rmh@gnu.org>
17101
17102 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17103 (grub_find_zpool_from_mount_point): Merge into ...
17104 (grub_find_zpool_from_dir): ... this.
17105 * kern/emu/misc.c: Likewise.
17106
17107 * kern/emu/misc.c
17108 (grub_make_system_path_relative_to_its_root): Replace
17109 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
17110 with grub_find_zpool_from_dir().
17111 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
17112
62858144
RM
171132010-08-04 Robert Millan <rmh@gnu.org>
17114
17115 Support OpenSolaris in ZFS device resolution.
17116
17117 * configure.ac: Check for getmntany().
17118 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
17119 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
17120 support.
17121
9dd6fd50
RM
171222010-08-03 Robert Millan <rmh@gnu.org>
17123
17124 Fix grub-emu build.
17125
17126 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
17127 * include/grub/emu/misc.h: ... here.
17128
17129 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
17130 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
17131
17132 * util/misc.c: Remove `<grub/util/libzfs.h>'.
17133 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
17134 (grub_get_libzfs_handle): Move to ...
17135 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
17136 (grub_get_libzfs_handle): ... here.
17137
c9f7ff97
BC
171382010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
17139
17140 * script/execute.c (grub_script_execute_cmdline): Check for NULL
17141 as command name case.
17142
a870a783
CW
171432010-08-02 Colin Watson <cjwatson@ubuntu.com>
17144
17145 * disk/raid.c (insert_array): Select unique numbers for named arrays
17146 as well, for use as keys in the disk cache.
17147
c7db243b
RM
171482010-08-01 Robert Millan <rmh@gnu.org>
17149
17150 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
17151 kFreeBSD device name, except on ZFS where the filesystem label is
17152 used.
17153 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
17154 `/boot/zfs/zpool.cache'.
17155 Set mountfrom kernel variable using ${kfreebsd_device}.
17156
f7abdefb
RM
171572010-08-01 Robert Millan <rmh@gnu.org>
17158
17159 Make it even harder to use uninitialized `libzfs_handle' (and
17160 make the interface a bit simpler).
17161
17162 * include/grub/util/misc.h (grub_util_init_libzfs)
17163 (libzfs_handle): Remove.
17164 (grub_get_libzfs_handle): New prototype.
17165
17166 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
17167 attribute.
17168 (grub_util_init_libzfs): Remove.
17169 (grub_get_libzfs_handle): New function.
17170
17171 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
17172 grub_get_libzfs_handle() to obtain a libzfs handle instead of
17173 accessing `libzfs_handle' directly.
17174
c882acc0
RM
171752010-08-01 Robert Millan <rmh@gnu.org>
17176
17177 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17178 (grub_find_zpool_from_mount_point): New function prototypes.
17179
17180 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
17181 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
17182
17183 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
17184 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
17185 `static' attribute.
17186
17187 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
17188 finding zpool from mount point into ...
17189 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
17190
17191 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
17192 requested path is part of a ZFS pool, use
17193 grub_find_zpool_from_mount_point() to detect its filesystem name,
17194 and generate a path with `/fsname@path' syntax.
17195
8bfe31d8
CW
171962010-08-01 Colin Watson <cjwatson@ubuntu.com>
17197
17198 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
17199 (void) rather than () so that this is a proper prototype.
17200
553df63d
VS
172012010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17202
17203 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
17204
8687cf07
VS
172052010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17206
17207 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
17208 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
17209
ea9be8ea
CW
172102010-08-01 Colin Watson <cjwatson@ubuntu.com>
17211
17212 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
17213
6eea041a
CW
172142010-08-01 Colin Watson <cjwatson@ubuntu.com>
17215
17216 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
17217
2cfb45df
CW
172182010-08-01 Colin Watson <cjwatson@ubuntu.com>
17219
17220 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
17221 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
17222 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
17223 disable gfxpayload.
17224 (Shell-like scripting): Add real content.
17225 (Serial terminal): Suggest `terminal_input serial; terminal_output
17226 serial' rather than putting the two commands on separate lines,
17227 since console input will be inoperative after the first command.
17228 (menuentry): Document --class, --users, and --hotkey options.
17229 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
17230 Vladimir Serbinenko).
17231
7decd202
VS
172322010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
172332010-08-01 Colin Watson <cjwatson@ubuntu.com>
17234
17235 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
17236
c882acc0
RM
172372010-08-01 Robert Millan <rmh@gnu.org>
17238
17239 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17240 (grub_find_zpool_from_mount_point): New function prototypes.
17241
17242 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
17243 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
17244
17245 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
17246 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
17247 `static' attribute.
17248
17249 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
17250 finding zpool from mount point into ...
17251 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
17252
17253 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
17254 requested path is part of a ZFS pool, use
17255 grub_find_zpool_from_mount_point() to detect its filesystem name,
17256 and generate a path with `/fsname@path' syntax.
17257
deb0caa3
RM
172582010-08-01 Robert Millan <rmh@gnu.org>
17259
17260 Prevent accidental use of uninitialized libzfs_handle.
17261
17262 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
17263 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
17264 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
17265
ce04ef47
CW
172662010-08-01 Colin Watson <cjwatson@ubuntu.com>
17267
17268 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
17269 util/grub.d/10_linux.in). Fixes Debian bug #591093.
17270
ebf53056
RM
172712010-08-01 Robert Millan <rmh@gnu.org>
17272
17273 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 17274
3710bb6b
RM
172752010-07-31 Robert Millan <rmh@gnu.org>
17276
17277 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
17278
8072efeb
RM
172792010-07-31 Robert Millan <rmh@gnu.org>
17280
17281 * kern/emu/misc.c: Add missing license header.
17282
3169f4c7
RM
172832010-07-31 Robert Millan <rmh@gnu.org>
17284
17285 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
17286
17287 * include/grub/util/libnvpair.h: Include `<config.h>'.
17288 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
17289 declaring libnvpair prototypes ourselves.
17290 * include/grub/util/libzfs.h: Include `<config.h>'.
17291 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
17292 declaring libzfs prototypes ourselves.
17293
17294 (libzfs_handle): Moved to ...
17295 * include/grub/util/misc.h (libzfs_handle): ... here.
17296 Include `<grub/util/libzfs.h>'.
17297
c9a00aee
RM
172982010-07-30 Robert Millan <rmh@gnu.org>
17299
17300 * include/grub/emu/misc.h: Add missing license header.
17301
a184f9c8
RM
173022010-07-30 Robert Millan <rmh@gnu.org>
17303
17304 Enable `grub-probe -t device' resolution on ZFS.
17305
17306 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
17307 * include/grub/util/libnvpair.h: New file.
17308 * include/grub/util/libzfs.h: New file.
17309
17310 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
17311 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
17312 `<grub/util/libnvpair.h>'.
17313 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
17314
17315 (find_mount_point_from_dir): New static function.
17316 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
17317 function.
17318 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
17319 find_root_device_from_libzfs() before ressorting to find_root_device().
17320
17321 * include/grub/util/misc.h (grub_util_init_libzfs): New function
17322 prototype.
17323 * util/misc.c: Include `<grub/util/libzfs.h>'.
17324 (grub_util_init_libzfs): New function.
17325 [HAVE_LIBZFS] (libzfs_handle): New global variable.
17326 [HAVE_LIBZFS] (fini_libzfs): New static function.
17327 (grub_util_init_libzfs): New function.
17328 * util/grub-probe.c (main): Call grub_util_init_libzfs().
17329
f7790cdd
RM
173302010-07-30 Robert Millan <rmh@gnu.org>
17331
17332 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
17333 (xmalloc, xrealloc, xstrdup, xasprintf): Add
17334 `warn_unused_result' attribute.
17335 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
17336 (grub_xasprintf, grub_xvasprintf): Likewise.
17337 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
17338
0806b63c
RM
173392010-07-29 Robert Millan <rmh@gnu.org>
17340
17341 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
17342 (probe): Handle `PRINT_FS_LABEL'.
17343 (main): Handle `-t fs_label'.
17344
9f841f5c
RM
173452010-07-29 Robert Millan <rmh@gnu.org>
17346
17347 * configure.ac: Remove grub-mkisofs checks.
17348
46371121
VS
173492010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
17350
17351 * util/ieee1275/grub-install.in: Don't use empty grub_device.
17352 Reported by: Lennart Sorensen.
17353
173542010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17355
17356 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
17357 prior to terminal_input/terminal_output separation. It's been over 1.5
17358 years and those versions weren't widely deployed.
17359
a9600892
CW
173602010-07-22 Colin Watson <cjwatson@ubuntu.com>
17361
17362 * disk/raid.c (insert_array): Don't count named arrays when looking
17363 for unused array numbers.
697e053c 17364 Reported and tested by: Michael Guntsche.
a9600892 17365
c03507df
CW
173662010-07-20 Colin Watson <cjwatson@ubuntu.com>
17367
17368 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
17369 implementation of this so that grub-emu links again, with a note
17370 that this should support hotplugging in the future.
17371
b26f1c11
CW
173722010-07-20 Colin Watson <cjwatson@ubuntu.com>
17373
17374 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
17375
efc9d7f1
CW
173762010-07-20 Colin Watson <cjwatson@ubuntu.com>
17377
17378 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
17379 handle on failure.
17380 (grub_loopback_close): Remove empty function.
17381 (grub_loopback_dev): Remove close method.
17382
dd8ff5c9
CW
173832010-07-20 Colin Watson <cjwatson@ubuntu.com>
17384
17385 Disable EFI cursor when the EFI console becomes inactive.
17386
17387 * term/efi/console.c (grub_efi_console_init): New function.
17388 (grub_efi_console_fini): New function.
17389 (grub_console_term_output): Register init and fini methods.
17390
5e3bec67
VS
173912010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17392
17393 * tests/util/grub-shell-tester.in: Remove bashism and declare as
17394 sh script.
17395
afaec079
VS
173962010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17397
17398 * disk/loopback.c (grub_loopback): Replace filename with file.
17399 (delete_loopback): Handle new semantics.
17400 (grub_cmd_loopback): Likewise.
17401 (grub_loopback_iterate): Likewise.
17402 (grub_loopback_close): Likewise.
17403
a6a11f3c
VS
174042010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17405
17406 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
17407 with -p "".
17408 Reported by: Tito Keitel.
17409
64a638b0
VS
174102010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17411
17412 * docs/grub.texi (Naming convention): Document new naming convention.
17413
ab8ba957
VS
174142010-07-20 Vadim Solomin <vadic052@gmail.com>
174152010-07-20 Colin Watson <cjwatson@ubuntu.com>
17416
17417 Generate device.map in something closer to the old ordering.
17418
17419 * util/deviceiter.c (struct device): New declaration.
17420 (compare_file_names): Rename to ...
17421 (compare_devices): ... this. Sort by kernel name in preference to
17422 the stable by-id name, but keep the latter as a fallback comparison.
17423 Update header comment.
17424 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
17425 of `struct device' rather than of plain file names.
17426
a29d6a4b
TF
174272010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
17428
17429 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
17430 on i386.
17431
39d824e8
VS
174322010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17433
17434 * commands/acpi.c (setup_common_tables): Use sizeof instead of
17435 hardcoding size.
17436 (setv1table): Likewise.
17437
f058276b
FZ
174382010-07-20 Colin Watson <cjwatson@ubuntu.com>
17439
17440 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
17441 removing the homehost if present.
17442 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
17443 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
17444 removing the homehost if present.
17445 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
17446 if possible.
17447 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
17448
17449 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
17450 parameter. Set its pointer target to 0.
17451 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
17452 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
17453 `data_offset' value from the superblock for 1.x metadata.
17454 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
17455 data on the device.
17456 (insert_array): Record the start sector of data on the device.
17457 (grub_raid_register): Pass start_sector parameters to
17458 grub_raid_list->detect and insert_array.
17459 * include/grub/raid.h (struct grub_raid_array): Add start_sector
17460 member.
17461 (struct grub_raid): Add start_sector parameter to `detect'.
17462
17463 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
17464 __attribute__ ((packed)), leaving a comment.
17465 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
17466 (grub_mdraid_detect_09): ... here and ...
17467 (grub_mdraid_detect_1x): ... here.
17468
174692010-07-20 Peter Henn <peter.henn@web.de>
17470
17471 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
17472 chunk size and disk size, which are already given as sector counts
17473 as distinct from the 0.90 units. Fetch the correct device number
17474 from the role table instead of using the table index.
17475
174762010-07-20 Felix Zielcke <fzielcke@z-51.de>
17477
17478 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
17479 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
17480 (WriteMostly1): New macro.
17481 Set array->name to NULL for metadata format 0.90. Add support for
17482 metadata 1.x. Fix some comments.
17483 * disk/raid.c (): Add support for name based RAID arrays. Fix a
17484 few comments.
17485 * util/getroot.c (grub_util_get_grub_dev): Add support for
17486 /dev/md/name style devices.
17487
4b761da9
CW
174882010-07-20 Colin Watson <cjwatson@ubuntu.com>
17489
17490 * .bzrignore: Ignore 20_linux_xen.
17491
5771289a
CW
174922010-07-17 Colin Watson <cjwatson@ubuntu.com>
17493
17494 * util/import_unicode.py: Remove unnecessary imports.
17495
5dab68df
AN
174962010-07-17 Aleš Nesrsta <starous@volny.cz>
17497
17498 Hotplugging and USB hub support.
17499
17500 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
17501 (grub_ohci): Likewise.
17502 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
17503 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
17504 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
17505 (GRUB_OHCI_CTRL_EDS): Likewise.
17506 (GRUB_OHCI_BULK_EDS): Likewise.
17507 (GRUB_OHCI_TDS): Likewise.
17508 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
17509 (grub_ohci_ed_phys2virt): New function.
17510 (grub_ohci_virt_to_phys): Likewise.
17511 (grub_ohci_td_phys2virt): Likewise.
17512 (grub_ohci_td_virt2phys): Likewise.
17513 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
17514 attachment.
17515 (grub_ohci_find_ed): New function.
17516 (grub_ohci_alloc_td): Likewise.
17517 (grub_ohci_free_td): Likewise.
17518 (grub_ohci_free_tds): Likewise.
17519 (grub_ohci_transfer): Use previously allocated memory.
17520 (grub_ohci_portstatus): Reset status changed bit.
17521 (grub_ohci_detect_dev): Supply status changed.
17522 (grub_ohci_fini_hw): Free memory.
17523 (grub_ohci_restore_hw): Reallocate memory.
17524 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
17525 Reset status change.
17526 (grub_uhci_detect_dev): Supply status_change.
17527 * bus/usb/usb.c (attach_hooks): New var.
17528 (grub_usb_device_attach): New function.
17529 (grub_usb_register_attach_hook_class): Likewise.
17530 (grub_usb_unregister_attach_hook_class): Likewise.
17531 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
17532 (grub_usb_add_hub): Reset connection changed bit.
17533 (attach_root_port): New function.
17534 (grub_usb_root_hub): Likewise.
17535 (poll_nonroot_hub): Likewise.
17536 (grub_usb_poll_devices): Likewise.
17537 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
17538 * disk/usbms.c (grub_usbms_open): Use device hooks.
17539 (grub_usbms_iterate) :Poll devices.
17540 (grub_usbms_finddevs): Split into ...
17541 (grub_usbms_attach): ... this ...
17542 (grub_usbms_attach): ... and this.
17543 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
17544 in detect_dev.
17545 (grub_usb_interface): New fields attached and detach_hook.
17546 (grub_usb_attach_hook_class): New type.
17547 (grub_usb_attach_desc): New struct.
17548 (grub_usb_register_attach_hook_class): New function.
17549 (grub_usb_unregister_attach_hook_class): Likewise.
17550 (grub_usb_poll_devices): Likewise.
17551 (grub_usb_device_attach): Likewise.
17552 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
17553 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
17554
3222efaf
VS
175552010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
17556
17557 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
17558 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
17559 delta determination style. Works with most NetBSD partitions too.
17560
139b714a
VS
175612010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
17562
17563 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
17564 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
17565
986aad56
VS
175662010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
17567
17568 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
17569
99be513c
AB
175702010-07-14 Anton Blanchard <anton@samba.org>
17571
17572 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
17573 ET_DYN files.
17574
18075f62
GS
175752010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17576
17577 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
17578
8d9a5b15
GS
175792010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17580
17581 * kern/partition.c (grub_partition_check_containment): New function to
17582 check that a partition is physically contained in a parent. Since
17583 offsets are relative (and non-negative), this reduces to checking that
17584 the partition ends before its parent.
17585 (grub_partition_map_probe): Discard out-of-range sub-partitions.
17586 (grub_partition_iterate): Likewise.
17587 * include/grub/partition.h (grub_partition_map): Slightly more detailed
17588 comments.
17589 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
17590 partitions that start before their parent, and add debug printfs.
17591
19563c25
CW
175922010-07-13 Colin Watson <cjwatson@ubuntu.com>
17593
17594 * Makefile.in (.SUFFIX): Spell correctly, as ...
17595 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
17596 bare module name without `.mod', e.g. `test') tried to invoke a
17597 Modula-2 compiler.
17598
1a1f1e67
CW
175992010-07-13 Colin Watson <cjwatson@ubuntu.com>
17600
17601 * README: Point to the Info manual.
17602
811b0dca
JS
176032010-07-13 Jiro SEKIBA <jir@unicus.jp>
17604
17605 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
17606 2nd superblock position from partition size.
17607
e4f4eafc
CW
176082010-07-10 Colin Watson <cjwatson@ubuntu.com>
17609
17610 * Makefile.in (MAINTAINER_CLEANFILES): Remove
17611 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
17612 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
17613 outputs.
17614
4274c30f
VS
176152010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17616
17617 Restructure SCSI .id handling.
17618 Reported and tested by: Aleš Nesrsta.
17619
17620 * disk/ata.c (grub_atapi_close): Removed. All users updated.
17621 (grub_atapi_dev): Changed .name to "ata". New field .id.
17622 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
17623 (grub_usbms_dev): New field .id.
17624 * disk/scsi.c (grub_scsi_iterate): Generate name.
17625 (grub_scsi_open): Parse name.
17626 * include/grub/scsi.h (grub_make_scsi_id): New function.
17627 (grub_scsi_dev): Change iterate and open to number instead of naming
17628 busses. All users updated.
17629 (grub_scsi): Remove name. Add .bus.
17630
5bc24388
VS
176312010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17632
17633 * commands/help.c (grub_cmd_help): Fix a typo.
17634
249975ba
VS
176352010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17636
17637 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
17638 Reported and tested by: Colin Watson.
17639
3eaac1a1
VS
176402010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17641
17642 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
17643 in this context.
17644
becce1b1
VS
176452010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
17646
17647 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
17648
f7bf0918
CW
176492010-07-07 Colin Watson <cjwatson@ubuntu.com>
17650
17651 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
17652 indentation.
17653
0b0f9620
CW
176542010-07-06 Colin Watson <cjwatson@ubuntu.com>
17655
17656 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
17657 and disk/raid6_recover.c.
17658 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
17659 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
17660
1e545469
CW
176612010-07-06 Colin Watson <cjwatson@ubuntu.com>
17662
17663 * term/gfxterm.c (repaint_schedulded): Rename to ...
17664 (repaint_scheduled): ... this. Update all callers.
17665 (repaint_was_schedulded): Rename to ...
17666 (repaint_was_scheduled): ... this. Update all callers.
17667
5357687a
CW
176682010-07-06 Colin Watson <cjwatson@ubuntu.com>
17669
17670 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
17671 which we expect to be handled by upper layers.
17672
29d7e783
BC
176732010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
17674
17675 * bus/usb/usbhub.c: #include time.h header.
17676
37582066
CW
176772010-07-06 Colin Watson <cjwatson@ubuntu.com>
17678
17679 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
17680 entry_name also for entries without stat blocks (e.g. ".."); fixes
17681 corruption of the first entry in a directory.
17682
c8c06953
CW
176832010-07-06 Colin Watson <cjwatson@ubuntu.com>
17684
17685 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
17686 after setting gfxterm as the active terminal. GRUB_BACKGROUND
17687 doesn't work otherwise.
17688
e75056f1
CW
176892010-07-05 Colin Watson <cjwatson@ubuntu.com>
17690
17691 * docs/grub.texi (Features): Update list of supported file systems.
17692 (GNU/Linux): Update for GRUB 2.
17693 (Serial terminal): Remove mention of --disable-serial, which was a
17694 GRUB Legacy configure option. Update instructions to use
17695 `terminal_input' and `terminal_output' rather than `terminal'.
17696 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
17697 configuration' and `Installing GRUB using grub-install'.
17698 (Menu entry editor): Update for GRUB 2.
17699 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
17700 Document new -a, -u, and -v options.
17701 (initrd): New section.
17702 (initrd16): New section.
17703 (linux): New section.
17704 (linux16): New section.
17705 (search): The `var' argument to `--set' is optional.
17706 (GRUB only offers a rescue shell): Go into a little more detail on
17707 drive ordering.
17708
5cf69151
CW
177092010-07-05 Colin Watson <cjwatson@ubuntu.com>
17710
17711 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
17712
e3f90044
CW
177132010-07-05 Colin Watson <cjwatson@ubuntu.com>
17714
17715 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
17716 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
17717
38d8f4f3
CW
177182010-07-05 Colin Watson <cjwatson@ubuntu.com>
17719
17720 * util/i386/pc/grub-setup.c (setup): Rename prefix to
17721 install_prefix, in line with install_dos_part and install_bsd_part.
17722 Add new prefix variable, which is copied to install_prefix after
17723 comparing core.img in memory with the one read from disk in the
17724 no-embedding case, and use that rather than overwriting
17725 install_prefix immediately when installing to a partition.
17726 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
17727 Bicakci.
17728
57ebd41e
GS
177292010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
17730
17731 * configure.ac: Avoid == in test command, it's not portable.
17732 * util/grub.d/30_os-prober.in: Likewise.
17733
cb7f64b2
CW
177342010-07-04 Colin Watson <cjwatson@ubuntu.com>
17735
17736 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
17737
6b654bb0
GS
177382010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
17739
17740 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
17741 multiple (top-level) partmaps.
17742
72a2026d
VS
177432010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17744
17745 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 17746 Reported by: Tino Keitel.
72a2026d 17747
df3eb88f
VS
177482010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17749
17750 Bidi and diacritics support.
17751
17752 * Makefile.in (widthspec.bin): New target.
17753 (widthspec.h): Likewise.
17754 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
17755 * autogen.sh: Generate unidata.c.
17756 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
17757 * commands/ls.c (grub_ls_list_devices): Likewise.
17758 (grub_ls_list_files): Likewise.
17759 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
17760 (grub_mini_cmd_lsmod): Likewise.
17761 * commands/read.c: Likewise.
17762 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
17763 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
17764 * lib/arg.c (grub_arg_show_help): Likewise.
17765 * lib/crypto.c (grub_password_get): Likewise.
17766 * normal/auth.c (grub_username_get): Likewise.
17767 * normal/misc.c (grub_normal_print_device_info): Likewise.
17768 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
17769 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
17770 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
17771 (normal/charset.c_DEPENDENCIES): New variable.
17772 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
17773 (pkglib_MODULES): Remove charset.mod.
17774 (charset_mod_SOURCES): Removed.
17775 (charset_mod_CFLAGS): Likewise.
17776 (charset_mod_LDFLAGS): Likewise.
17777 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
17778 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
17779 and term/tparm.c.
17780 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17781 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17782 (kernel_img_HEADERS): Add terminfo.h.
17783 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
17784 Fill ->font. Reverse ascii bitmaps.
17785 (grub_font_get_xheight): New function.
17786 * font/font.c (grub_font_get_string_width): Moved from here ...
17787 * gfxmenu/font.c (grub_font_get_string_width): ... here.
17788 * font/font.c (grub_font_draw_string): Moved from here ...
17789 * gfxmenu/font.c (grub_font_draw_string): ... here.
17790 * font/font.c (grub_font_dup_glyph): New function.
17791 (grub_font_blit_glyph): Likewise.
17792 (grub_font_blit_glyph_mirror): Likewise.
17793 (blit_comb): Likewise.
17794 (grub_font_construct_dry_run): Likewise.
17795 (grub_font_get_constructed_device_width): Likewise.
17796 (grub_font_construct_glyph): Likewise.
17797 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
17798 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
17799 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
17800 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
17801 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
17802 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
17803 (grub_font_get_xheight): New proto.
17804 (grub_font_get_constructed_device_width): Likewise.
17805 (grub_font_construct_glyph): Likewise.
17806 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
17807 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
17808 * include/grub/font.h (grub_font_draw_string): Moved from here ...
17809 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
17810 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
17811 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
17812 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
17813 (grub_console_getcharwidth): Likewise.
17814 * include/grub/misc.h (grub_xputs): New proto.
17815 (grub_puts): Inlined.
17816 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
17817 (grub_normal_get_line_counter): Removed.
17818 (grub_install_newline_hook): Likewise.
17819 (grub_normal_get_char_counter): New proto.
17820 (grub_normal_reset_more): Likewise.
17821 (grub_xputs_normal): Likewise.
17822 * include/grub/powerpc/ieee1275/console.h: Removed.
17823 * include/grub/sparc64/ieee1275/console.h: Likewise.
17824 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
17825 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
17826 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
17827 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
17828 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
17829 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
17830 (grub_term_input): Pass reference to self. All users updated.
17831 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
17832 Pass reference to self. New fields normal_color, highlight_color and
17833 data. All users updated.
17834 (grub_putchar): Removed.
17835 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
17836 (grub_unicode_estimate_width): New function.
17837 (grub_term_getcharwidth): Add defaults.
17838 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
17839 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
17840 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
17841 (grub_cls): Remove EXPORT_FUNC.
17842 (grub_setcolorstate): Inline.
17843 (grub_newline_hook): Removed.
17844 * include/grub/terminfo.h: Rewritten. All users updated.
17845 * include/grub/unicode.h: New file.
17846 * include/grub/video.h (grub_video_signed_rect): New type.
17847 * kern/emu/console.c (grub_console_highlight_color): Removed.
17848 (grub_console_normal_color): Likewise.
17849 (grub_console_standard_color): Made static.
17850 (grub_ncurses_putchar): Remove mapping.
17851 (grub_ncurses_getcharwidth): Removed.
17852 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
17853 (grub_ncurses_setcolor): Removed.
17854 (grub_ncurses_getcolor): Likewise.
17855 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
17856 (grub_console_putchar): ... this.
17857 (grub_console_putchar): Handle argument difference.
17858 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
17859 console_init_early and console_init_lately.
17860 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
17861 * kern/misc.c (grub_puts): Removed.
17862 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
17863 (grub_vsnprintf_real): Remove str = NULL support.
17864 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
17865 * normal/charset.c (grub_utf8_to_ucs4): ... here.
17866 * kern/term.c (grub_putcode): Renamed to ...
17867 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
17868 (grub_putchar): Removed.
17869 (grub_xputs_dumb): New function.
17870 (grub_xputs): New variable.
17871 * lib/charset.c: Move from here ...
17872 * normal/charset.c: ... to here.
17873 (grub_ucs4_to_utf8): New function.
17874 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
17875 (join_types): New variable.
17876 (unpack_join): New function.
17877 (bidi_types): New variable.
17878 (unpack_bidi): New function.
17879 (get_bidi_type): Likewise.
17880 (get_join_type): Likewise.
17881 (is_mirrored): Likewise.
17882 (grub_unicode_get_comb_type): Likewise.
17883 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
17884 (is_type_after): Likewise.
17885 (grub_unicode_aglomerate_comb): Likewise.
17886 (bidi_line_wrap): Likewise.
17887 (grub_bidi_line_logical_to_visual): Likewise.
17888 (grub_bidi_logical_to_visual): Likewise.
17889 (grub_unicode_mirror_code): Likewise.
17890 (grub_unicode_shape_code): Likewise.
17891 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
17892 Don't use grub_putchar.
17893 * normal/main.c (grub_normal_init_page): Use grub_putcode.
17894 (grub_normal_reader_init): Likewise.
17895 (grub_xputs_saved): New variable.
17896 (GRUB_MOD_INIT): Set grub_xputs.
17897 (GRUB_MOD_FINI): Restore grub_xputs.
17898 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
17899 (menu_init): Avoid printing gfxmenu error.
17900 (show_menu): Use grub_normal_get_char_counter.
17901 * normal/menu_entry.c (update_screen): Fix out-of-array.
17902 (complete): Avoid NULL dereferencing.
17903 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
17904 * normal/menu_text.c (print_spaces): Removed.
17905 (grub_print_ucs4): Likewise.
17906 (grub_print_message_indented): Use grub_print_ucs4.
17907 (print_message): Use grub_putcode.
17908 (print_entry): Hanlde diacritics.
17909 * normal/term.c (term_state): New type.
17910 (grub_more_lines): Removed.
17911 (term_states): New variable.
17912 (grub_normal_line_counter): Renamed to ..
17913 (grub_normal_char_counter): ...this. All users updated.
17914 (grub_normal_get_line_counter): Renamed to ...
17915 (grub_normal_get_char_counter): ... this.
17916 (grub_normal_reset_more): New function.
17917 (process_newline): Removed.
17918 (print_more): New function.
17919 (grub_install_newline_hook): Removed.
17920 (map_code): New function.
17921 (grub_puts_terminal): Use grub_print_ucs4.
17922 (putglyph): New function.
17923 (putcode_real): Likewise.
17924 (grub_putcode): Use putcode_real.
17925 (get_maxwidth): New function.
17926 (get_startwidth): Likewise.
17927 (print_ucs4_terminal): Likewise.
17928 (find_term_state): Likewise.
17929 (put_glyphs_terminal): Likewise.
17930 (print_backlog): Likewise.
17931 (print_ucs4_real): Likewise.
17932 (grub_print_ucs4): Likewise.
17933 (grub_xputs_normal): Likewise.
17934 * term/efi/console.c (grub_console_putchar): Output diacritics.
17935 (grub_console_getcharwidth): Removed.
17936 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
17937 * term/gfxterm.c (clear_char): Free chars.
17938 (scroll_up): Avoid leaking memory.
17939 (grub_gfxterm_putchar): Support diacritics.
17940 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
17941 * term/i386/pc/console.c (grub_console_term_output): Declare as
17942 GRUB_TERM_CODE_TYPE_VGA.
17943 * term/i386/pc/vga.c (grub_vga_term): Declare as
17944 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
17945 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
17946 GRUB_TERM_CODE_TYPE_VGA.
17947 * term/i386/vga_common.c (map_char): Removed.
17948 (grub_console_putchar): Likewise.
17949 (grub_console_getcharwidth): Likewise.
17950 * term/ieee1275/ofconsole.c: Simplify using terminfo.
17951 (colors): Reordered to match terminfo.
17952 (grub_ofconsole_normal_color): Removed.
17953 (grub_ofconsole_writeesc): Likewise.
17954 (grub_ofconsole_highlight_color): Likewise.
17955 (grub_ofconsole_getcharwidth): Likewise.
17956 (grub_ofconsole_setcolorstate): Likewise.
17957 (grub_ofconsole_setcolor): Likewise.
17958 (grub_ofconsole_getcolor): Likewise.
17959 (grub_ofconsole_readkey): Renamed to ...
17960 (readkey): ... this. Remove escape sequence handling. Return -1 on no
17961 key.
17962 (grub_ofconsole_checkkey): Removed.
17963 (grub_ofconsole_getkey): Likewise.
17964 (grub_ofconsole_getxy): Likewise.
17965 (grub_ofconsole_gotoxy): Likewise.
17966 (grub_ofconsole_cls): Likewise.
17967 (grub_ofconsole_refresh): Likewise.
17968 (grub_ofconsole_terminfo_input): New struct.
17969 (grub_ofconsole_terminfo_output): Likewise.
17970 (grub_ofconsole_term_input): Use terminfo.
17971 (grub_ofconsole_term_output): Likewise.
17972 (grub_console_init): Split into ...
17973 (grub_console_init_early): ...this and ...
17974 (grub_console_init_lately): ...this. Use terminfo.
17975 (grub_ofconsole_putchar): Renamed to ...
17976 (put): ... this. Remove mapping.
17977 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
17978 * term/serial.c: Simplify using terminfo.
17979 (xpos): Removed.
17980 (ypos): Likewise.
17981 (keep_track): Likewise.
17982 (registered): Likewise.
17983 (input_buf): Likewise.
17984 (npending): Likewise.
17985 (serial_translate_key_sequence): Likewise.
17986 (fill_input_buf): Likewise.
17987 (grub_serial_checkkey): Likewise.
17988 (grub_serial_getkey): Likewise.
17989 (grub_serial_getxy): Likewise.
17990 (grub_serial_gotoxy): Likewise.
17991 (grub_serial_putchar): Likewise.
17992 (grub_serial_cls): Likewise.
17993 (grub_serial_setcolorstate): Likewise.
17994 (grub_serial_setcursor): Likewise.
17995 (serial_hw_init): Use serial_hw_fetch.
17996 (grub_serial_terminfo_input): New variable.
17997 (grub_serial_terminfo_output): Likewise.
17998 (grub_serial_term_input): Use terminfo.
17999 (grub_serial_term_output): Likewise.
18000 * term/terminfo.c (putstr): Use put.
18001 (grub_terminfo_all_free): New function
18002 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
18003 (grub_terminfo_output_register): New function.
18004 (grub_terminfo_output_unregister): Likewise.
18005 (grub_terminfo_getxy): Likewise.
18006 (grub_terminfo_readkey): Likewise.
18007 (grub_terminfo_checkkey): Likewise.
18008 (grub_terminfo_getkey): Likewise.
18009 (grub_terminfo_input_init): Likewise.
18010 (print_terminfo): Likewise.
18011 (grub_cmd_terminfo): Handle encoding.
18012 (grub_terminfo_gotoxy): Track position.
18013 (grub_terminfo_cls): Likewise.
18014 (grub_terminfo_putchar): Likewise.
18015 (grub_terminfo_setcolorstate): Handle colors
18016 (grub_terminfo_cursor_on): This ...
18017 (grub_terminfo_cursor_off): ... and this merged into ...
18018 (grub_terminfo_setcursor): ... this.
18019 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
18020 * unicode/ArabicShaping.txt: New file (imported from Unicode).
18021 * unicode/BidiMirroring.txt: Likewise.
18022 * unicode/UnicodeData.txt: Likewise.
18023 * unicode/COPYING: Likewise.
18024 * util/grub-editenv.c (grub_putchar): Removed.
18025 (grub_xputs_real): New function.
18026 (grub_xputs): New variable.
18027 * util/grub-fstest.c (grub_putchar): Removed.
18028 (grub_xputs_real): New function.
18029 (grub_xputs): New variable.
18030 * util/grub-mkdevicemap.c (grub_putchar): Removed.
18031 (grub_xputs_real): New function.
18032 (grub_xputs): New variable.
18033 * util/grub-probe.c (grub_putchar): Removed.
18034 (grub_xputs_real): New function.
18035 (grub_xputs): New variable.
18036 * util/grub-script-check.c (grub_putchar): Removed.
18037 (grub_xputs_real): New function.
18038 (grub_xputs): New variable.
18039 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
18040 (grub_xputs_real): New function.
18041 (grub_xputs): New variable.
18042 * util/import_unicode.py: New file.
18043 * util/grub-mkfont.c (ft_errmsgs): New array.
18044 (grub_glyph_info): Make bitmap a pointer.
18045 (file_formats): New type WIDTH_SPEC.
18046 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
18047 (options): Add width-spec.
18048 (help): Likewise.
18049 (add_char): Renamed to ...
18050 (add_glyph): ... this.
18051 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
18052 (glyph_replace): New type.
18053 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
18054 (add_char): New function.
18055 (add_subst): Likewise.
18056 (process_cursive): Likewise.
18057 (add_font): Handle GSUB.
18058 (write_font_width_spec): New function.
18059 (main): Sort glyphs.
18060 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
18061 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
18062 * kern/term.c (grub_cls): Moved from here...
18063 * normal/term.c (grub_cls): ... here.
18064
50f0bcda
CW
180652010-07-02 Colin Watson <cjwatson@ubuntu.com>
18066
18067 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
18068 suitable for using within the format argument of printf when
18069 converting grub_size_t.
18070 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
18071 "x" to convert grub_size_t arguments.
18072
40372103
VS
180732010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18074
18075 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
18076 too long captions.
18077 (list_get_minimal_size): Take selection box into account.
18078
942a10c7
VS
180792010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18080
18081 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
18082 NULL font.
18083
2bdb2892
CW
180842010-07-02 Colin Watson <cjwatson@ubuntu.com>
18085
18086 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
18087 devices when iterating over /dev/disk/by-id; they will be handled
18088 later if appropriate, which they aren't always (e.g. LVM).
18089
e03ed6c1
CW
180902010-07-02 Colin Watson <cjwatson@ubuntu.com>
18091
18092 * include/grub/misc.h (grub_reboot): Declare as noreturn.
18093 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
18094 fails.
18095 (grub_halt): Likewise.
18096 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
18097 reset-all fails.
18098 (grub_halt): Don't return, even if all of shut-down, power-off, and
18099 poweroff fail.
18100
47695765
CW
181012010-07-02 Colin Watson <cjwatson@ubuntu.com>
18102
18103 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
18104 arguments, not three.
18105
507736c8
CW
181062010-07-02 Colin Watson <cjwatson@ubuntu.com>
18107
18108 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
18109 * util/grub.d/10_linux.in: Use it to check for LVM, so that
18110 LVM-on-RAID is handled correctly.
18111
e3c8cd37
CW
181122010-07-02 Colin Watson <cjwatson@ubuntu.com>
18113
18114 * docs/grub.texi (Changes from GRUB Legacy): New section.
18115 (Future): Fix typo.
18116
8d4a2fec
CW
181172010-07-02 Colin Watson <cjwatson@ubuntu.com>
18118
18119 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
18120 grub.d/README accidentally ends up executable for one reason or
18121 another. Ignore it.
18122
1c4827be
VS
181232010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18124
18125 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
18126 (gpt_partition_map_iterate): Support non-512B sectors.
18127
d9a0c941
VS
181282010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18129
18130 * kern/efi/init.c (grub_efi_init): Disable watchdog.
18131 Tested by: Seth Goldberg.
18132
48f27e87
VS
181332010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18134
18135 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
18136 Properly align mbi.
18137 Reported by: Seth Goldberg.
18138
b0c4f956
VS
181392010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18140
18141 * util/grub-mkrescue.in: Avoid module duplication.
18142
105a2e8c
SF
181432010-07-01 Sean Finney <seanius@seanius.net>
18144
18145 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
18146
5944958c
SF
181472010-07-01 Sean Finney <seanius@seanius.net>
18148
18149 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
18150
181512010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18152
18153 * disk/lvm.c (grub_lvm_checkvalue): New function.
18154 (grub_lvm_check_flag): Likewise.
18155
b79889ba
RM
181562010-07-01 Robert Millan <rmh@gnu.org>
18157
18158 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
18159 Support 'p' as partition separator on kernel of FreeBSD (used
18160 with GPT labels).
18161 (grub_util_biosdisk_get_grub_dev): Likewise.
18162
ec1d04f1
VS
181632010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18164
18165 Yeeloong firmware port.
18166
18167 * boot/mips/yeeloong/fwstart.S: New file.
18168 * bus/cs5536.c (gpiodump): New const.
18169 (set_io_space): New function.
18170 (set_iod): Likewise.
18171 (set_p2d): Likewise.
18172 (grub_cs5536_init_geode): Likewise.
18173 * commands/mips/yeeloong/lsspd.c: New file.
18174 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
18175 (serial_mod_SOURCES): New variable.
18176 (serial_mod_CFLAGS): Likewise.
18177 (serial_mod_LDFLAGS): Likewise.
18178 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
18179 term/terminfo.c and term/tparm.c.
18180 (pkglib_IMAGES): Add fwstart.img.
18181 (fwstart_img_SOURCES): New variable.
18182 (fwstart_img_CFLAGS): Likewise.
18183 (fwstart_img_ASFLAGS): Likewise.
18184 (fwstart_img_LDFLAGS): Likewise.
18185 (fwstart_img_FORMAT): Likewise.
18186 (pkglib_MODULES): Add lsspd.mod.
18187 (lsspd_mod_SOURCES): New variable.
18188 (lsspd_mod_CFLAGS): Likewise.
18189 (lsspd_mod_LDFLAGS): Likewise.
18190 (pkglib_MODULES): Add halt.mod.
18191 (halt_mod_SOURCES): New variable.
18192 (halt_mod_CFLAGS): Likewise.
18193 (halt_mod_LDFLAGS): Likewise.
18194 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
18195 (serial_mod_SOURCES): Removed.
18196 (serial_mod_CFLAGS): Likewise.
18197 (serial_mod_LDFLAGS): Likewise.
18198 * disk/ata.c (check_device): New function.
18199 (grub_ata_device_initialize): Use check_device.
18200 (grub_ata_iterate): Recheck devices.
18201 (grub_ata_open): Likewise.
18202 (grub_atapi_iterate): Likewise.
18203 (grub_atapi_open): Likewise.
18204 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
18205 (GRUB_ATA_CH1_PORT1): Likewise.
18206 (GRUB_ATA_CH0_PORT2): Likewise.
18207 (GRUB_ATA_CH1_PORT2): Likewise.
18208 * include/grub/mips/loongson.h: New file.
18209 * include/grub/mips/yeeloong/ec.h: Likewise.
18210 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
18211 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
18212 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
18213 * include/grub/misc.h (grub_halt): Declare as noreturn.
18214 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
18215 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
18216 (UART_ENABLE_FIFO_TRIGGER1): New definition.
18217 (UART_ENABLE_DTRRTS): Likewise.
18218 (UART_ENABLE_MODEM): Removed.
18219 (UART_ENABLE_OUT2): New const.
18220 * include/grub/term.h (grub_term_register_input_active): New function.
18221 (grub_term_register_output_active): Likewise.
18222 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
18223 argument.
18224 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
18225 (init_pci): New function.
18226 (grub_machine_init): Execute platform init when firmware. Init serial.
18227 (grub_halt): Implement.
18228 (grub_exit): Likewise.
18229 (grub_reboot): Likewise.
18230 * term/serial.c (serial_hw_init): Update macros.
18231 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
18232 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
18233 (image_targets): New target mipsel-yeeloong-flash.
18234 (generate_image): Support IMAGE_YEELOONG_FLASH.
18235 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
18236 (grub_video_sm712_setup): Init card.
18237 (grub_video_sm712_set_palette): Removed.
18238 * video/sm712_init.c: New file.
18239
ff4a70d2
CW
182402010-06-30 Colin Watson <cjwatson@ubuntu.com>
18241
18242 * Makefile.in (install-local): Temporarily prepend $(builddir) to
18243 PATH when running help2man and then run it on the unadorned
18244 executable names, rather than passing $(builddir)/* paths to
18245 help2man. This avoids the build directory ending up in generated
18246 manual pages.
18247
1246efeb
CW
182482010-06-29 Colin Watson <cjwatson@ubuntu.com>
18249
18250 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
18251 to avoid accidents when debugging with 'sh -x'.
18252 * util/grub-mkrescue.in: Likewise.
18253 * util/grub.d/00_header.in: Likewise.
18254 * util/grub.d/10_hurd.in: Likewise.
18255 * util/grub.d/10_kfreebsd.in: Likewise.
18256 * util/grub.d/10_linux.in: Likewise.
18257 * util/grub.d/10_netbsd.in: Likewise.
18258 * util/grub.d/10_windows.in: Likewise.
18259 * util/grub.d/20_linux_xen.in: Likewise.
18260 * util/grub.d/30_os-prober.in: Likewise.
18261 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18262
1ba9b889
CW
182632010-06-29 Colin Watson <cjwatson@ubuntu.com>
18264
18265 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
18266 last character in the buffer.
18267 Reported by: Vladimir Serbinenko.
18268
dccaf99d
RM
182692010-06-29 Robert Millan <rmh@gnu.org>
18270
18271 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
18272 (Command-line and menu entry commands): Document `badram' command.
18273
d500ed12
RM
182742010-06-28 Robert Millan <rmh@gnu.org>
18275
18276 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
18277 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
18278 command using ${GRUB_BADRAM} as parameter.
18279
20bc84a6
CW
182802010-06-28 Colin Watson <cjwatson@ubuntu.com>
18281
18282 * docs/grub.texi (Device map): New section.
18283 (Themes): New section (stub).
18284 * Makefile.in (docs/grub.info): The info documentation now builds
18285 without errors. Make sure it stays that way.
18286
4045dee1
VS
182872010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
18288
18289 Use normal parser for menu entries.
18290 Reported by: Thomas Frauendorfer
18291
18292 * include/grub/parser.h (grub_parser_execute): Don't export.
18293 * normal/menu.c (grub_menu_execute_entry_real): New function.
18294 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
18295
bca58c7b
CW
182962010-06-28 Colin Watson <cjwatson@ubuntu.com>
18297
18298 * docs/grub.texi (Embedded configuration): New section (replacing
18299 old "Preset Menu" stub).
18300 (Images): New section.
18301 (configfile): Note that any menu entries defined in `file' are shown
18302 immediately.
18303
dec53e63
JT
183042010-06-28 Josh Triplett <josh@joshtriplett.org>
18305
18306 * mmap/i386/pc/mmap_helper.S: Set CF on return.
18307
c06e40f7
CW
183082010-06-28 Colin Watson <cjwatson@ubuntu.com>
18309
18310 * util/grub-install.in: Add --debug-image= option.
18311
cb88052b
CW
183122010-06-28 Colin Watson <cjwatson@ubuntu.com>
18313
18314 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
18315 possible on Linux.
18316
18317 * util/deviceiter.c (check_device): Rename to ...
18318 (check_device_readable_unique): ... this. Update all callers.
18319 Maintain and check a list of which devices (by canonicalized name)
18320 have already been seen.
18321 (clear_seen_devices): New function.
18322 (compare_file_names) [__linux__]: New function.
18323 (grub_util_iterate_devices): Clear the list of seen devices on exit
18324 and (just in case) on entry.
18325 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
18326 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
18327 seen-devices list, superseded by general code in check_device.
18328
bbe34652
CW
183292010-06-28 Colin Watson <cjwatson@ubuntu.com>
18330
18331 * commands/cat.c (options): New variable.
18332 (grub_cmd_cat): Parse options. If the --dos option is given, print
18333 DOS-style "\r\n" line endings as simple newlines (Debian bug
18334 #586358).
18335 (GRUB_MOD_INIT): Use extcmd.
18336 (GRUB_MOD_FINI): Likewise.
18337 * docs/grub.texi (cat): Document --dos.
18338
412e09f3
VS
183392010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
18340
18341 XEN with Linux grub-mkconfig support.
18342
18343 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
18344 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
18345 GRUB_CMDLINE_XEN_DEFAULT.
18346 * util/grub.d/20_linux_xen.in: New file.
18347
53f3ef38 183482010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
18349
18350 Initialise VGA video on qemu ourselves.
18351
18352 * boot/i386/qemu/boot.S: Don't call 0xc000.
18353 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
18354 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
18355 (kernel_img_HEADERS): Add pci.h.
18356 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
18357 * configure.ac: Force unifont on qemu and yeeloong.
18358 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
18359 (grub_vga_palette_write): Use correct register.
18360 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
18361 Call grub_qemu_init_cirrus.
18362 * kern/i386/qemu/init.c: New file.
18363 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
18364
18365 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
18366
c75be4fb
PR
183672010-06-26 Pavel Roskin <proski@gnu.org>
18368
18369 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
18370 13.
18371
d8034603
CW
183722010-06-26 Colin Watson <cjwatson@ubuntu.com>
18373
18374 * docs/grub.texi (Simple configuration): Explain that
18375 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
18376 set to `true' to disable their respective recovery entries, not
18377 merely set.
18378
3fa06487
CW
183792010-06-26 Colin Watson <cjwatson@ubuntu.com>
18380
18381 Make the `source' command slightly faster.
18382
18383 * normal/main.c (grub_normal_execute): Don't re-read list files when
18384 nested.
18385
e9b29642
CW
183862010-06-23 Colin Watson <cjwatson@ubuntu.com>
18387
18388 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
18389 field position and mask size to red fields from mode_info, not
18390 green.
18391 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
18392 Remove redundant tag->common.framebuffer_type assignment.
18393 Reported by: Seth Goldberg.
18394
e726542f
CW
183952010-06-23 Colin Watson <cjwatson@ubuntu.com>
18396
18397 Sync up other versions of the Linux loader with Robert Millan's
18398 change of 2010-01-09, "Make loader output a bit more user-friendly".
18399
18400 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
18401 grub_dprintf().
18402 (grub_cmd_linux): Likewise.
18403 (grub_cmd_initrd): Likewise.
18404 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
18405 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
18406
d6e98a17
CW
184072010-06-21 Colin Watson <cjwatson@ubuntu.com>
18408
18409 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
18410 larger than MEMORY_MAP_SIZE.
18411
14d3f08e
BC
184122010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
18413
18414 Fix parallel build.
18415
18416 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
18417 dependency.
18418 * script/parser.y: #include grub_script.tab.h header.
18419
4f9613a3
VS
184202010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
18421
18422 Support >3GiB and <16MiB RAM in i386-qemu.
18423
18424 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
18425 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
18426 (grub_lower_mem): Removed.
18427 (grub_upper_mem): Likewise.
18428 (mem_size): Made static.
18429 (above_4g): New variable.
18430 (grub_machine_mmap_init): Detect small mem_size and above_4g.
18431 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
18432 support.
18433
05e51879
VS
184342010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
18435
18436 Cirrus 5446 and Bochs video cards support.
18437
18438 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
18439 video_bochs.mod
18440 (video_cirrus_mod_SOURCES): New variable.
18441 (video_cirrus_mod_CFLAGS): Likewise.
18442 (video_cirrus_mod_LDFLAGS): Likewise.
18443 (video_bochs_mod_SOURCES): Likewise.
18444 (video_bochs_mod_CFLAGS): Likewise.
18445 (video_bochs_mod_LDFLAGS): Likewise.
18446 * include/grub/vga.h: New file.
18447 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
18448 (grub_video_fb_set_page_t): New type.
18449 (grub_video_fb_setup): New prototype.
18450 (grub_video_fb_swap_buffers): Likewise.
18451 (grub_video_fb_get_info_and_fini): Likewise.
18452 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
18453 (CRTC_DATA_PORT): Likewise.
18454 (CRTC_CURSOR): Likewise.
18455 (CRTC_CURSOR_ADDR_HIGH): Likewise.
18456 (CRTC_CURSOR_ADDR_LOW): Likewise.
18457 (CRTC_CURSOR_DISABLE): Likewise.
18458 (update_cursor): Use grub_vga_cr_write.
18459 (grub_vga_text_setcursor): Likewise.
18460 * video/bochs.c: New file.
18461 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
18462 (palette): Likewise.
18463 (palette_size): Likewise.
18464 (framebuffer): New variable.
18465 (grub_video_fb_init): Use 'framebuffer'.
18466 (grub_video_fb_fini): Likewise.
18467 (grub_video_fb_get_info): Likewise.
18468 (grub_video_fb_get_palette): Likewise.
18469 (grub_video_fb_set_palette): Likewise.
18470 (grub_video_fb_set_viewport): Likewise.
18471 (grub_video_fb_get_viewport): Likewise.
18472 (grub_video_fb_map_color): Likewise.
18473 (grub_video_fb_map_rgb): Likewise.
18474 (grub_video_fb_map_rgba): Likewise.
18475 (grub_video_fb_unmap_color): Likewise.
18476 (grub_video_fb_unmap_color_int): Likewise.
18477 (grub_video_fb_fill_rect): Likewise.
18478 (grub_video_fb_blit_bitmap): Likewise.
18479 (grub_video_fb_blit_render_target): Likewise.
18480 (grub_video_fb_scroll): Likewise.
18481 (grub_video_fb_create_render_target): Likewise.
18482 (grub_video_fb_doublebuf_blit_init): Likewise.
18483 (grub_video_fb_set_active_render_target): Handle doublebuffering.
18484 (doublebuf_pageflipping_update_screen): New function.
18485 (doublebuf_pageflipping_init): Likewise.
18486 (grub_video_fb_setup): Likewise.
18487 (grub_video_fb_swap_buffers): Likewise.
18488 (grub_video_fb_get_info_and_fini): Likewise.
18489 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
18490 All users updated.
18491 (doublebuf_pageflipping_commit): Restructured into ...
18492 (doublebuf_pageflipping_set_page): ... this.
18493 (doublebuf_pageflipping_update_screen): Removed.
18494 (doublebuf_pageflipping_init): Likewise.
18495 (double_buffering_init): Likewise.
18496 (grub_video_vbe_setup): Use grub_video_fb_setup.
18497 (grub_video_vbe_swap_buffers): Removed.
18498 (grub_video_vbe_set_active_render_target): Likewise.
18499 (grub_video_vbe_get_active_render_target): Likewise.
18500 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
18501 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
18502 grub_video_fb_set_active_render_target and
18503 grub_video_fb_get_active_render_target.
18504 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
18505 (SEQUENCER_DATA_PORT): Likewise.
18506 (MAP_MASK_REGISTER): Likewise.
18507 (CRTC_ADDR_PORT): Likewise.
18508 (CRTC_DATA_PORT): Likewise.
18509 (START_ADDR_HIGH_REGISTER): Likewise.
18510 (START_ADDR_LOW_REGISTER): Likewise.
18511 (GRAPHICS_ADDR_PORT): Likewise.
18512 (GRAPHICS_DATA_PORT): Likewise.
18513 (READ_MAP_REGISTER): Likewise.
18514 (INPUT_STATUS1_REGISTER): Likewise.
18515 (INPUT_STATUS1_VERTR_BIT): Likewise.
18516 (get_map_mask): Use grub_vga_sr_read.
18517 (set_map_mask): Use grub_vga_sr_write.
18518 (set_read_map): Use grub_vga_gr_write.
18519 (set_start_address): Use grub_vga_cr_write.
18520 * video/sm712.c (framebuffer): Remove leftover fields.
18521
4321c64a
CW
185222010-06-20 Colin Watson <cjwatson@ubuntu.com>
18523
18524 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
18525 setting GRUB_VIDEO_BACKEND. Make it available as a user override
18526 instead. Replace the gfxterm backend check with a check that
18527 ${GRUB_PREFIX}/video.lst is non-empty.
18528 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
18529 again.
18530 (load_video): New generated function. Call it before loading
18531 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
18532 * util/grub.d/10_linux.in (linux_entry): Call load_video.
18533 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
18534 * docs/grub.texi (Simple configuration): Document
18535 GRUB_VIDEO_BACKEND.
18536
185372010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
18538
18539 Use video functions in linux and xnu loaders.
18540
18541 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
18542 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
18543 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
18544 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
18545 loader/i386/pc/linux.c.
18546 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
18547 (find_line_len): Removed.
18548 (find_framebuf): Likewise.
18549 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
18550 * loader/i386/efi/xnu.c: Removed.
18551 * loader/i386/pc/xnu.c: Moved from here...
18552 * loader/i386/xnu.c: ...here.
18553
18554 Enable priorities in video drivers.
18555
18556 * include/grub/video.h (grub_video_adapter_prio_t): New type.
18557 (grub_video_adapter): New field prio.
18558 (grub_video_register): Respect prio when inserting.
18559 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
18560 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
18561 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
18562 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
18563 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
18564 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
18565 * video/sm712.c (grub_video_sm712_adapter): Likewise.
18566
18567 Fix SDL driver ID.
18568
18569 * include/grub/video.h (grub_video_driver_id_t): New value
18570 GRUB_VIDEO_DRIVER_SDL.
18571 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
18572
7d24e434
CW
185732010-06-17 Colin Watson <cjwatson@ubuntu.com>
18574
18575 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
18576 argument to printf.
18577 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
18578
c88a83f6
CW
185792010-06-17 Colin Watson <cjwatson@ubuntu.com>
18580
18581 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
18582 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
18583
094dfb69
CW
185842010-06-17 Colin Watson <cjwatson@ubuntu.com>
18585
18586 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
18587 directly, and recommend grub-install instead.
18588 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
18589
2164da6b
CW
185902010-06-17 Colin Watson <cjwatson@ubuntu.com>
18591
18592 Fix i386-pc prefix handling with nested partitions (Debian bug
18593 #585068). Note that the case where the core image is booted using
18594 multiboot and relocated from its original location still requires
18595 more work.
18596
18597 * kern/i386/pc/init.c (make_install_device): If the prefix starts
18598 with "(,", fill the boot drive in between those two characters, but
18599 expect that a full partition specification including partition map
18600 names will follow.
18601 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
18602 specified, write a prefix without the drive name but including a
18603 full partition specification.
18604
044e2e60
CW
186052010-06-16 Colin Watson <cjwatson@ubuntu.com>
18606
18607 * util/grub-mkconfig.in: Ignore non-option arguments, for
18608 compatibility with older versions (before 2010-06-12) which did the
18609 same. In particular, this makes it easier to ship an update-grub
18610 wrapper which is compatible with that used with GRUB Legacy (Debian
18611 bug #586056).
18612
5591324f
GS
186132010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18614
18615 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
18616 for manual page generation.
18617
662e24d5
GS
186182010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18619
18620 * po/POTFILES: Remove leftover commands/handler.c.
18621
8d70754e
CW
186222010-06-14 Colin Watson <cjwatson@ubuntu.com>
18623
18624 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
18625 left this script non-functional.
18626
41160e2e
CW
186272010-06-14 Colin Watson <cjwatson@ubuntu.com>
18628
18629 * docs/man/grub-emu.h2m: New file.
18630
b5309cc1
CW
186312010-06-13 Colin Watson <cjwatson@ubuntu.com>
18632
18633 * docs/grub.texi (Commands): Document reduced command set in rescue
18634 mode.
18635 (cpuid): New section.
18636
fcb2d090
GS
186372010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
18638
18639 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
18640 new partition naming style.
18641 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
18642
96e5c556
BC
186432010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
18644
18645 Add "-o grub.iso" like cmdline options support.
18646
18647 * util/grub-install.in: Improve cmdline option parsing.
18648 * util/grub-mkconfig.in: Likewise.
18649 * util/grub-mkrescue.in: Likewise.
18650 * util/grub-reboot.in: Likewise.
18651 * util/grub-set-default.in: Likewise.
18652 * util/i386/efi/grub-install.in: Likewise.
18653 * util/ieee1275/grub-install.in: Likewise.
18654 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18655
c16be99b
CW
186562010-06-12 Colin Watson <cjwatson@ubuntu.com>
18657
18658 * .bzrignore: Ignore 41_custom.
18659
ce08a9fb
TS
186602010-06-12 Thomas Schmitt <scdbackup@gmx.net>
18661
18662 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
18663
7beac90c
CW
186642010-06-12 Colin Watson <cjwatson@ubuntu.com>
18665
18666 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
18667 prototype declarations.
18668
18669 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
18670 generating fs, partmap, and video lists.
18671 * include/grub/fs.h (grub_fs_register): Omit prototype if
18672 GRUB_LST_GENERATOR is defined.
18673 * include/grub/partition.h (grub_partition_map_register): Likewise.
18674 * include/grub/video.h (grub_video_register): Likewise.
18675
1c8f0f8d
JM
186762010-06-12 Javier Martín <lordhabbit@gmail.com>
18677
18678 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
18679
a6085973
TS
186802010-06-12 Thomas Schmitt <scdbackup@gmx.net>
18681
18682 * util/grub-mkrescue.in: Support --xorriso argument.
18683
25c56d29
VS
186842010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
18685
18686 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
18687 Suggested by: Thomas Schmitt.
18688
e03e4b24
VS
186892010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
18690
18691 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
18692 Suggested by: Thomas Schmitt.
18693
57711df6
VS
186942010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
18695
18696 custom.cfg support.
18697
18698 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
18699 * util/grub.d/41_custom.in: New file.
18700
ee62c427
CW
187012010-06-12 Colin Watson <cjwatson@ubuntu.com>
18702
18703 * util/grub-mkrescue.in (make_image): Remove sh module, which has
18704 been merged back into normal.
18705
283af07a
CW
187062010-06-11 Colin Watson <cjwatson@ubuntu.com>
18707
18708 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
18709 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
18710
56a0d956
CW
187112010-06-11 Colin Watson <cjwatson@ubuntu.com>
18712
18713 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
18714 when generating manual pages.
18715 * docs/man/grub-bin2h.h2m: New file.
18716 * docs/man/grub-editenv.h2m: New file.
18717 * docs/man/grub-fstest.h2m: New file.
18718 * docs/man/grub-install.h2m: New file.
18719 * docs/man/grub-macho2img.h2m: New file.
18720 * docs/man/grub-mkconfig.h2m: New file.
18721 * docs/man/grub-mkdevicemap.h2m: New file.
18722 * docs/man/grub-mkfont.h2m: New file.
18723 * docs/man/grub-mkimage.h2m: New file.
18724 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
18725 * docs/man/grub-mkrelpath.h2m: New file.
18726 * docs/man/grub-mkrescue.h2m: New file.
18727 * docs/man/grub-ofpathname.h2m: New file.
18728 * docs/man/grub-pe2elf.h2m: New file.
18729 * docs/man/grub-probe.h2m: New file.
18730 * docs/man/grub-reboot.h2m: New file.
18731 * docs/man/grub-script-check.h2m: New file.
18732 * docs/man/grub-set-default.h2m: New file.
18733 * docs/man/grub-setup.h2m: New file.
18734
3a37e322
VS
187352010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
18736
18737 Use FOR_* macros instead of *_iterate whenever possible.
18738
18739 * commands/handler.c: Removed.
18740 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
18741 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
18742 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18743 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
18744 (grub_probe_SOURCES): Remove kern/parser.c.
18745 (util/grub-script-check.c_DEPENDENCIES): Removed.
18746 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
18747 and grub_script_check_init.c.
18748 (grub_script_check_init.lst): Removed.
18749 (grub_script_check_init.h): Likewise.
18750 (grub_script_check_init.c): Likewise.
18751 (pkglib_MODULES): Remove handler.mod and sh.mod.
18752 (handler_mod_SOURCES): Removed.
18753 (handler_mod_CFLAGS): Likewise.
18754 (handler_mod_LDFLAGS): Likewise.
18755 (normal_mod_SOURCES): Remove normal/handler.c.
18756 Add script/main.c, script/script.c, script/execute.c,
18757 script/function.c, script/lexer.c, grub_script.tab.c
18758 and grub_script.yy.c.
18759 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18760 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18761 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
18762 (grub_setup_SOURCES): Remove kern/parser.c.
18763 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18764 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
18765 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
18766 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18767 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18768 (grub_setup_SOURCES): Remove kern/parser.c.
18769 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18770 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
18771 * include/grub/command.h (grub_command_iterate): Removed.
18772 (FOR_COMMANDS): New macro.
18773 * include/grub/dl.h (grub_dl): New member next.
18774 (grub_dl_iterate): Removed.
18775 (grub_dl_head): New variable declaration.
18776 (FOR_DL_MODULES): New macro.
18777 * include/grub/fs.h: Include list.h.
18778 (grub_fs): Make next first element.
18779 (grub_fs_list): New variable declaration.
18780 (grub_fs_register): Make inline.
18781 (grub_fs_unregister): Likewise.
18782 (grub_fs_iterate): Removed.
18783 (FOR_FILESYSTEMS): New macro.
18784 * include/grub/handler.h: Removed.
18785 * include/grub/list.h (grub_list_hook_t): Removed.
18786 (grub_list_test_t): Likewise.
18787 (grub_list_pop): Likewise.
18788 (grub_list_iterate): Likewise.
18789 (grub_list_insert): Likewise.
18790 (FOR_LIST_ELEMENTS): New macro.
18791 * include/grub/parser.h (grub_parser_class): Removed.
18792 (grub_parser_register): Likewise.
18793 (grub_parser_unregister): Likewise.
18794 (grub_parser_get_current): Likewise.
18795 (grub_parser_set_current): Likewise.
18796 (grub_register_rescue_parser): Likewise.
18797 (grub_rescue_parse_line): New function.
18798 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
18799 * include/grub/script_sh.h (grub_script_function_list): New variable
18800 declaration.
18801 (FOR_SCRIPT_FUNCTIONS): New macro.
18802 (grub_script_function_iterate): Removed.
18803 (grub_normal_parse_line): New prototype.
18804 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
18805 (FOR_DISABLED_TERM_INPUTS): Likewise.
18806 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
18807 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
18808 * include/grub/video.h (grub_video_adapter): Move 'next' to first
18809 element.
18810 (grub_video_register): Inline.
18811 (grub_video_unregister): Likewise.
18812 (grub_video_adapter_list): New variable declaration.
18813 (grub_video_iterate): Removed.
18814 (FOR_VIDEO_ADAPTERS): New macro.
18815 * kern/dl.c (grub_dl_list): Removed. All users updated.
18816 (grub_dl_iterate): Removed.
18817 * kern/fs.c (grub_fs_list): Make global.
18818 (grub_fs_register): Removed.
18819 (grub_fs_unregister): Likewise.
18820 (grub_fs_iterate): Likewise.
18821 * kern/handler.c: Removed.
18822 * kern/list.c (grub_list_pop): Removed.
18823 (grub_list_iterate): Likewise.
18824 (grub_list_insert): Likewise.
18825 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
18826 (grub_prio_list_insert): Don't use grub_list_insert.
18827 * kern/main.c (grub_register_rescue_parser): Don't call
18828 grub_register_rescue_parser.
18829 * kern/parser.c (grub_parser_class): Removed.
18830 (grub_parser_execute): Use grub_rescue_parse_line.
18831 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
18832 (grub_rescue_parser): Removed.
18833 (grub_register_rescue_parser): Likewise.
18834 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
18835 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
18836 (grub_auth_check_authentication): Likewise.
18837 * normal/completion.c (iterate_command): Removed.
18838 (grub_normal_do_completion): Use FOR_COMMANDS.
18839 * normal/handler.c: Removed.
18840 * normal/main.c (read_config_file): Remove parser changing.
18841 (grub_normal_execute): Don't call read_handler_list.
18842 (grub_normal_read_line_real): Statically allocate prompt.
18843 (grub_cmdline_run): Use grub_normal_parse_line.
18844 (GRUB_MOD_FINI): Don't call free_handler_list.
18845 * normal/menu_entry.c (run): Likewise.
18846 * script/function.c (grub_script_function_list): Make global.
18847 (grub_script_function_iterate): Removed.
18848 * script/main.c (grub_normal_parse_line): Make global.
18849 (grub_sh_parser): Removed.
18850 (GRUB_MOD_INIT): Likewise.
18851 (GRUB_MOD_FINI): Likewise.
18852 * tests/lib/functional_test.c (grub_functional_test): Use
18853 FOR_LIST_ELEMENTS.
18854 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
18855 (grub_test_run): Use FOR_LIST_ELEMENTS.
18856 * tests/lib/unit_test.c (main): Likewise.
18857 * util/deviceiter.c (grub_util_iterate_devices): Don't use
18858 grub_list_pop.
18859 * util/grub-fstest.c (grub_term_input_class): Removed.
18860 (grub_term_output_class): Likewise.
18861 * util/grub-probe.c: Likewise.
18862 * util/i386/pc/grub-setup.c: Likewise.
18863 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18864 * util/grub-script-check.c (main): Don't call grub_init_all and
18865 grub_fini_all.
18866 * video/video.c (grub_video_adapter_list): Make global.
18867 (grub_video_register): Removed.
18868 (grub_video_unregister): Likewise.
18869 (grub_video_iterate): Likewise.
18870
6289c3a7
VS
188712010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
18872
18873 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
18874 reported by Henrique Ferreiro.
18875
91460247
RM
188762010-06-09 Robert Millan <rmh@gnu.org>
18877
18878 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
18879 ones, when both are available.
18880
0ea7c4f9
GS
188812010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
18882
18883 Make --version uniform and avoid hard-coded program name.
18884
18885 * util/grub-mkimage.c (main): Use `program_name' instead of
18886 hard-coded string.
18887 * util/i386/pc/grub-setup.c (main): Likewise.
18888 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
18889 * util/grub-install.in: Save the basename of $0 in $self, and use the
18890 latter in informational messages. Use the same format for --version
18891 as the binary programs.
18892 * util/grub-mkconfig.in: Likewise.
18893 * util/grub-mkrescue.in: Likewise.
18894 * util/grub-reboot.in: Likewise.
18895 * util/grub-set-default.in: Likewise.
18896 * util/i386/efi/grub-install.in: Likewise.
18897 * util/ieee1275/grub-install.in: Likewise.
18898 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18899
e8a6f3b6
GS
189002010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
18901
18902 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
18903 embedding area. Use <= instead of == when checking for non-emptiness.
18904
f4d095d7
GS
189052010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
18906
18907 * configure.ac: Add `.' to the directories searched for unifont.
18908
50e532ca
CW
189092010-06-08 Colin Watson <cjwatson@ubuntu.com>
18910
18911 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
18912 grub_script.yy.h.
18913
d39f3dec
CW
189142010-06-08 Colin Watson <cjwatson@ubuntu.com>
18915
18916 * docs/grub.texi (History): Expand to cover GRUB 2.
18917 (Serial terminal): Refer to `terminal_input' and `terminal_output'
18918 commands, not `terminal'.
18919 (serial): Likewise.
18920 (terminal_input): New section.
18921 (terminal_output): New section.
18922 (uppermem): New section (stub).
18923 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
18924
6ef0ddb4
CW
189252010-06-08 Colin Watson <cjwatson@ubuntu.com>
18926
18927 * docs/grub.texi (Security): Menu entries are unrestricted by
18928 default, not restricted to superusers as I had previously thought.
18929 Reword to account for this.
18930
e0f4c438
CW
189312010-06-07 Colin Watson <cjwatson@ubuntu.com>
18932
18933 * kern/emu/misc.c (device_mapper_null_log): New function.
18934 (grub_device_mapper_supported): New function.
18935 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
18936 prototype.
18937 * kern/emu/hostdisk.c (find_partition_start): Check whether
18938 device-mapper is supported before trying to use it.
18939 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
18940
da908200
CW
189412010-06-07 Colin Watson <cjwatson@ubuntu.com>
18942
18943 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
18944 (File name syntax): Likewise.
18945 (help): --all is no longer supported in GRUB 2. Be more precise
18946 about pattern matching.
18947
fb55c3ac
CW
189482010-06-07 Colin Watson <cjwatson@ubuntu.com>
18949
18950 * normal/completion.c (grub_normal_do_completion): When completing
18951 arguments to "set" and the current word contains an equals sign,
18952 skip to after the equals sign before starting completion.
18953
258c2573
CW
189542010-06-07 Colin Watson <cjwatson@ubuntu.com>
18955
18956 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
18957
ee75515e
CW
189582010-06-07 Colin Watson <cjwatson@ubuntu.com>
18959
18960 * docs/grub.texi (Network): New section.
18961 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
18962 `(nd)' as in GRUB Legacy.
18963 (pxe_unload): New section.
18964
a6a700aa
CW
189652010-06-07 Colin Watson <cjwatson@ubuntu.com>
18966
18967 * docs/grub.texi (Troubleshooting): `echo' is not usually available
18968 in the rescue shell, so recommend using `set' instead. Thanks,
18969 Jordan Uggla.
18970
4003dd38
CW
189712010-06-07 Colin Watson <cjwatson@ubuntu.com>
18972
18973 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
18974 (password): New section.
18975 (password_pbkdf2): New section.
18976 (search): New section.
18977 (Security): New section.
18978 (Troubleshooting): New section, currently very incomplete.
18979 (Invoking grub-mkpasswd-pbkdf2): New section.
18980 (Internals): New section, currently very incomplete.
18981
e1cbcc40
CW
189822010-06-07 Colin Watson <cjwatson@ubuntu.com>
18983
18984 * util/grub.d/00_header.in: Add some more quoting (of
18985 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
18986 work again.
18987 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
18988
db8fa1ad
CW
189892010-06-07 Colin Watson <cjwatson@ubuntu.com>
18990
18991 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
18992 to `count', fixing variable shadowing that broke the -c option.
18993
189942010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
18995
18996 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
18997 in case they contain spaces.
18998
f28a9212
CW
189992010-06-04 Colin Watson <cjwatson@ubuntu.com>
19000
19001 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
19002 "part_" to partmap module names, in line with grub-install.
19003 Reported by: Jindřich Makovička (Debian bug #584426).
19004
9cdfe32f
CW
190052010-06-04 Colin Watson <cjwatson@ubuntu.com>
19006
19007 * util/grub-mkimage.c: Make target-related error messages slightly
19008 more helpful; -O talks about "format". Explicitly point to the use
19009 of -O if no target is specified.
19010 Reported by: Didier Raboud (Debian bug #584415).
19011
795b593a
CW
190122010-06-03 Colin Watson <cjwatson@ubuntu.com>
19013
19014 * INSTALL: Document several build requirements for optional features
19015 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
19016
9d9b5833
GS
190172010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
19018
19019 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
19020 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
19021 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
19022
0819fec8
CW
190232010-06-02 Colin Watson <cjwatson@ubuntu.com>
19024
19025 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
19026 Thanks to Jordan Uggla for spotting this.
19027
49396b4f
VS
190282010-06-02 Aleš Nesrsta <starous@volny.cz>
19029
19030 Finally make USB usable.
19031
19032 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
19033 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
19034 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
19035 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
19036 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
19037 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
19038 (GRUB_OHCI_FSMPS): Likewise.
19039 (GRUB_OHCI_PERIODIC_START): Likewise.
19040 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
19041 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
19042 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
19043 (GRUB_OHCI_SET_PORT_RESET): Likewise.
19044 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
19045 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
19046 (grub_ohci_transaction): Likewise.
19047 (grub_ohci_transfer): Improve condition detection algorithms.
19048 Handle toggle property. Program the transactions correctly.
19049 Improve error handling. Various important fixups.
19050 (grub_ohci_portstatus): Put register writes in right order.
19051 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
19052 (grub_uhci_transfer): Don't show "failed" message on success.
19053 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
19054 array.
19055 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
19056 determine its size.
19057 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
19058 before initialization is completed. Use IN direction for empty
19059 transfers. Use last_trans and compute toggle.
19060 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
19061 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
19062 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
19063 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
19064 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
19065 (grub_usb_device): Increase toggle to 256.
19066 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
19067 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
19068 GRUB_USBMS_SUBCLASS_SFF8070.
19069 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
19070 (grub_scsi_inquiry): New member page and alloc_length.
19071 (grub_scsi_request_sense): New structure.
19072 (grub_scsi_request_sense_data): Likewise.
19073 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
19074 control.
19075 * disk/scsi.c (grub_scsi_request_sense): New function.
19076 (grub_scsi_test_unit_ready): Likewise.
19077 (grub_scsi_inquiry): Fill new fields.
19078 (grub_scsi_read_capacity): Likewise.
19079 (grub_scsi_read10): Add request sense at the end.
19080 (grub_scsi_read12): Likewise.
19081 (grub_scsi_write10): Likewise.
19082 (grub_scsi_write12): Likewise.
19083 (grub_scsi_open): Add Test Unit Ready.
19084 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
19085 Support additional subclasses. Con't clear halt yet. Activate the
19086 proper config. Calculate LUNs correctly.
19087 (grub_usbms_transfer): Various important fixups.
19088
190892010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19090
19091 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
19092 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
19093 (grub_ohci_fini_hw): New function.
19094 (grub_ohci_restore_hw): Likewise.
19095 (GRUB_MOD_INIT(ohci)): Register preboot hook.
19096 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
19097 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
19098
190992010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19100
19101 Dedicated DMA allocations.
19102
19103 * bus/pci.c (grub_memalign_dma32): New function
19104 (grub_dma_free): Likewise.
19105 (grub_dma_get_virt): Likewise.
19106 (grub_dma_get_phys): Likewise.
19107 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
19108 (grub_ohci_pci_iter): Use dma32_alloc.
19109 (grub_ohci_transfer): Likewise.
19110 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
19111 (grub_usb_bulk_readwrite): Likewise.
19112 * include/grub/pci.h: Add declarations.
19113
191142010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19115
19116 CS5536 support.
19117
19118 * bus/cs5536.c: New file.
19119 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
19120 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
19121 (cs5536_mod_SOURCES): New variable.
19122 (cs5536_mod_CFLAGS): Likewise.
19123 (cs5536_mod_LDFLAGS): Likewise.
19124 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
19125 machine/pci.h.
19126 (kernel_img_SOURCES): Add bus/cs5536.c.
19127 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
19128 usb_keyboard.mod.
19129 (usb_mod_SOURCES): New variable.
19130 (usb_mod_CFLAGS): New variable.
19131 (usb_mod_LDFLAGS): New variable.
19132 (usbtest_mod_SOURCES): New variable.
19133 (usbtest_mod_CFLAGS): New variable.
19134 (usbtest_mod_LDFLAGS): New variable.
19135 (ohci_mod_SOURCES): New variable.
19136 (ohci_mod_CFLAGS): New variable.
19137 (ohci_mod_LDFLAGS): New variable.
19138 (usbms_mod_SOURCES): New variable.
19139 (usbms_mod_CFLAGS): New variable.
19140 (usbms_mod_LDFLAGS): New variable.
19141 (usb_keyboard_mod_SOURCES): New variable.
19142 (usb_keyboard_mod_CFLAGS): New variable.
19143 (usb_keyboard_mod_LDFLAGS): New variable.
19144 * include/grub/smbus.h: New file.
19145 * include/grub/cs5536.h: New file.
19146
0b35b2a9
CW
191472010-06-02 Colin Watson <cjwatson@ubuntu.com>
19148
19149 * util/grub.d/00_header.in: Add safety check to make sure that
19150 ${locale_dir} exists before trying to probe it.
19151
ca0afd5b
CW
191522010-06-02 Colin Watson <cjwatson@ubuntu.com>
19153
19154 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
19155 per the GNU Coding Standards; this is now too obscure to be worth
19156 documenting.
19157 (QNX): Likewise.
19158 (chainloader): Remove cross-reference to `SCO UnixWare'.
19159
1c41aa78
CW
191602010-06-02 Colin Watson <cjwatson@ubuntu.com>
19161
19162 * docs/grub.texi (Chain-loading): New section.
19163 (DOS/Windows): New section, borrowed from GRUB Legacy with details
19164 adjusted for GRUB 2.
19165 (SCO UnixWare): Likewise.
19166 (QNX): Likewise.
19167 (chainloader): Add reference to `Block list syntax'.
19168 (drivemap): New section.
19169 (parttool): New section.
19170
bb8ea0f5
CW
191712010-06-02 Colin Watson <cjwatson@ubuntu.com>
19172
19173 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
19174 the grub shell'.
19175 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
19176 (Installing GRUB using grub-install): Remove reference to the grub
19177 shell; mention `grub-mkimage' and `grub-setup' instead.
19178 (Invoking grub-install): Likewise.
19179 (Interface): Add reference to `Menu entry editor'.
19180 (serial): Remove `--device' option.
19181
288dd6ed
CW
191822010-06-02 Colin Watson <cjwatson@ubuntu.com>
19183
19184 * docs/grub.texi (Configuration): New section, documenting
19185 configuration file generation using grub-mkconfig. I've left a slot
19186 for documenting the full shell scripting format but have not yet
19187 started on writing that up.
19188 (Invoking grub-mkconfig): New section.
19189
34c9f0e9
CW
191902010-06-02 Colin Watson <cjwatson@ubuntu.com>
19191
19192 * docs/grub.texi (direntry): Remove grub-terminfo reference.
19193 (GNU GRUB manual): Likewise.
19194 (General commands): Update description of `terminfo' for GRUB 2.
19195
9121567e
CW
191962010-06-02 Colin Watson <cjwatson@ubuntu.com>
19197
19198 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
19199 (GRUB_MOD_INIT): Fix capitalisation.
19200 * docs/grub.texi (Command-line and menu entry commands): Document
19201 gettext and gptsync commands.
19202
ab631611
CW
192032010-06-02 Colin Watson <cjwatson@ubuntu.com>
19204
19205 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
19206 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
19207
bde4a9ac
CW
192082010-06-01 Colin Watson <cjwatson@ubuntu.com>
19209
19210 Add btrfs probing support, currently only in the single-device case.
19211
19212 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
19213 function.
19214 (grub_guess_root_device): Call find_root_device_from_mountinfo
19215 before looking in /dev.
19216
b1d17e10
VS
192172010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19218
19219 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
19220 GRUB_DISK_SIZE_UNKNOWN.
19221 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
19222
dfbfe004
JS
192232010-05-31 Jiro SEKIBA <jir@unicus.jp>
19224
19225 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
19226 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
19227 corrupted or not synced properly.
19228
c2ffc8e9
VS
192292010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19230
19231 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
19232 Reported by: Seth Goldberg.
19233
56293166
VS
192342010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19235
19236 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
19237 addition of dest.
19238 Reported by: Seth Goldberg.
19239
7620e7de
VS
192402010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19241
19242 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
19243 Reported by: Seth Goldberg.
19244
c837af3f
VS
192452010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19246
19247 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
19248 64-bit address as signed on MIPS.
19249
c7c75cf4
CW
192502010-05-28 Colin Watson <cjwatson@ubuntu.com>
19251
19252 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
19253 to the empty string.
19254
fa4b8490
BC
192552010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
19256
19257 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
19258
19259 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
19260 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
19261 * kern/misc.c (__enable_execute_stack): Disable on
19262 GRUB_MACHINE_EMU.
19263
a33075b9
CW
192642010-05-28 Colin Watson <cjwatson@ubuntu.com>
19265
19266 Make grub-probe work with symbolic links under /dev/mapper as well
19267 as with real block devices. The Linux world seems to be (at best)
19268 in transition here, and GRUB shouldn't get caught in the middle.
19269
19270 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
19271 /dev/mapper.
19272
d8708134
CW
192732010-05-27 Colin Watson <cjwatson@ubuntu.com>
19274
19275 * util/grub-script-check.c (main): Ensure defined behaviour on empty
19276 input files (in which case exit zero).
19277
db2102a0
CW
192782010-05-27 Colin Watson <cjwatson@ubuntu.com>
19279
19280 * kern/emu/misc.c (canonicalize_file_name): realpath can still
19281 return NULL for various reasons even if it has a maximum-length
19282 buffer: for example, there might be a symlink loop, or the path
19283 might exceed PATH_MAX. If this happens, return NULL.
19284
5fdba519
RM
192852010-05-27 Robert Millan <rmh@gnu.org>
19286
19287 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
19288 partmap module to handle cross-partmap setups.
19289 Reported by Orestes Mas. Gràcies!
19290
d1d368e4
CW
192912010-05-27 Colin Watson <cjwatson@ubuntu.com>
19292
19293 * util/grub-mkrescue.in: Initialise override_dir rather than
19294 assuming that it's unset or empty in the environment.
19295
95ac3c73
GS
192962010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
19297
19298 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
19299 variable index into p_index to suppress a warning with -Wshadow.
19300
7d8c0213
BC
193012010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
19302
19303 * INSTALL: Added flex >= 2.5.35 requirement.
19304
db4d5813
VS
193052010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19306
19307 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
19308
f24f4300
VS
193092010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19310
19311 cmostest support.
19312
19313 * commands/i386/cmostest.c: New file.
19314 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
19315 (cmostest_mod_SOURCES): New variable.
19316 (cmostest_mod_CFLAGS): Likewise.
19317 (cmostest_mod_LDFLAGS): Likewise.
19318 * conf/i386-pc.rmk: Likewise.
19319 * docs/grub.texi (Vendor power-on keys): New section.
19320 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
19321 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
19322 and GRUB_BUTTON_CMOS_ADDRESS.
19323 * util/grub.d/00_header.in: Handle powering-on by separate button.
19324
ad603f61
VS
193252010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19326
19327 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
19328 Removed drawing_scrollbar argument. All users updated
19329 Fixes #29792.
19330 Reported by Jo Shields
19331
3ecb080a
VS
193322010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19333
19334 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
19335 buffer since gfxterm handles double repaint.
19336
5f2316c1
VS
193372010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19338
19339 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
19340 * term/gfxterm.c (real_scroll): Likewise.
19341
9a25f885
VS
193422010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19343
19344 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
19345 before calling BIOS.
19346
39fbb79a
VS
193472010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19348
19349 * include/grub/i18n.h: Always enable grub_gettext.
19350
228cfa97
VS
193512010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19352
19353 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
19354 partition naming style.
19355
21717c8f
CW
193562010-05-21 Colin Watson <cjwatson@ubuntu.com>
19357
19358 * util/grub-mkconfig.in: Fix handling of -o so that it works when
19359 not the first option.
19360
c0f48e65
CW
193612010-05-20 Colin Watson <cjwatson@ubuntu.com>
19362
19363 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
19364
96779aec
CW
193652010-05-20 Colin Watson <cjwatson@ubuntu.com>
19366
19367 * util/misc.c: Move inclusion of <limits.h> to ...
19368 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
19369
fa9d256e
GS
193702010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
19371
19372 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
19373 Fix merge error in NetBSD code.
19374 (find_partition_start) [__NetBSD__]: Likewise.
19375
123b7a85
BC
193762010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
19377
19378 Fix grub-mkrescue usage unit testing.
19379
19380 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
19381
74276c0d
CF
193822010-05-18 Christian Franke <franke@computer.org>
19383
19384 * util/grub.d/10_windows.in: Use path names instead of
19385 drive letters to prevent warning from Cygwin 1.7.
19386 Add drivemap command to menuentry if needed.
19387
c4f7b523
ST
193882010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
19389
19390 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
19391 gnumach and gnumach.gz.
19392
95b97950
VS
193932010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19394
19395 * include/grub/i18n.h (gettext): Inline instead of using #define.
19396 (grub_gettext): Likewise.
19397 (_): Likewise.
19398
01b8d2d7
VS
193992010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19400
19401 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
19402 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
19403 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
19404 (main): Add a slash after pkglibdirroot.
19405
654e1d1e
VS
194062010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19407
19408 * util/grub-install.in: Add missing "in" keyword.
19409
26966aeb
VS
194102010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19411
19412 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
19413 Reported by: Seth Goldberg.
19414
75006747
VS
194152010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19416
19417 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
19418
74cbf5bd
CW
194192010-05-18 Colin Watson <cjwatson@ubuntu.com>
19420
19421 * configure.ac: Check for Linux device-mapper support.
19422
19423 * util/hostdisk.c (device_is_mapped): New function.
19424 (find_partition_start): New function, partly broken out from
19425 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
19426 device-mapper support added.
19427 (linux_find_partition): Use find_partition_start.
19428 (convert_system_partition_to_system_disk): Add `st' argument.
19429 Support Linux /dev/mapper/* devices if device-mapper support is
19430 available; only DM-RAID devices are understood at present.
19431 (find_system_device): Add `st' argument. Pass it to
19432 convert_system_partition_to_system_disk.
19433 (grub_util_biosdisk_get_grub_dev): Pass stat result to
19434 find_system_device and convert_system_partition_to_system_disk. Use
19435 find_partition_start.
19436
19437 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
19438 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
19439 * util/deviceiter.c [__linux__]: Define MINOR.
19440 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
19441 * util/mkdevicemap.c (grub_putchar): New function.
19442 (grub_getkey): New function.
19443 (grub_refresh): New function.
19444 (main): Set debug=all if -v -v is used.
19445
355b51e9
CW
194462010-05-18 Colin Watson <cjwatson@ubuntu.com>
19447
19448 Fix build with non-GNU libcs.
19449
19450 * util/misc.c (canonicalize_file_name): Move to ...
19451 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
19452 grub_make_system_path_relative_to_its_root.
19453
7fb5c25f
CW
194542010-05-18 Colin Watson <cjwatson@ubuntu.com>
19455
19456 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
19457 we handle finding grub-mkimage. Default to finding grub-mkimage in
19458 ${bindir} with program_transform_name applied, and provide a
19459 --grub-mkimage option to override this.
19460
1d3293d6
VS
194612010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19462
19463 Remove grub-mkisofs.
19464
19465 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
19466 (grub_mkisofs_SOURCES): Removed.
19467 (grub_mkisofs_CFLAGS): Removed.
19468 * util/mkisofs/defaults.h: Removed.
19469 * util/mkisofs/eltorito.c: Likewise.
19470 * util/mkisofs/exclude.h: Likewise.
19471 * util/mkisofs/hash.c: Likewise.
19472 * util/mkisofs/include/: Likewise.
19473 * util/mkisofs/include/fctldefs.h: Likewise.
19474 * util/mkisofs/include/mconfig.h: Likewise.
19475 * util/mkisofs/include/prototyp.h: Likewise.
19476 * util/mkisofs/include/statdefs.h: Likewise.
19477 * util/mkisofs/iso9660.h: Likewise.
19478 * util/mkisofs/joliet.c: Likewise.
19479 * util/mkisofs/match.c: Likewise.
19480 * util/mkisofs/match.h: Likewise.
19481 * util/mkisofs/mkisofs.c: Likewise.
19482 * util/mkisofs/mkisofs.h: Likewise.
19483 * util/mkisofs/msdos_partition.h: Likewise.
19484 * util/mkisofs/multi.c: Likewise.
19485 * util/mkisofs/name.c: Likewise.
19486 * util/mkisofs/rock.c: Likewise.
19487 * util/mkisofs/tree.c: Likewise.
19488 * util/mkisofs/write.c: Likewise.
19489
5dde9afe
VS
194902010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19491
19492 Unify grub-mkimage accross platforms.
19493
19494 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
19495 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
19496 (grub_mkelfimage_SOURCES): Removed.
19497 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
19498 (util/grub-mkimage.c_DEPENDENCIES): .. this.
19499 (bin_UTILITIES): Add grub-mkimage.
19500 (grub_mkimage_SOURCES): New variable.
19501 (kernel_img_HEADERS): Remove machine/kernel.h.
19502 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
19503 (pkglib_PROGRAMS): Add kernel.img.
19504 (kernel_img_HEADERS): Add machine/kernel.h.
19505 (kernel_img_FORMAT): Removed.
19506 (bin_UTILITIES): Remove grub-mkimage.
19507 (grub_mkimage_SOURCES): Removed.
19508 (grub_mkimage_CFLAGS): Likewise.
19509 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19510 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
19511 (pkglib_PROGRAMS): Add kernel.img.
19512 (bin_UTILITIES): Remove grub-mkimage.
19513 (grub_mkimage_SOURCES): Removed.
19514 (grub_mkimage_CFLAGS): Likewise.
19515 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19516 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
19517 (pkglib_PROGRAMS): Add kernel.img.
19518 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
19519 (pkglib_PROGRAMS): Add kernel.img.
19520 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
19521 (grub_mkimage_SOURCES): Removed.
19522 (grub_mkimage_CFLAGS): Likewise.
19523 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19524 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
19525 (pkglib_PROGRAMS): Add kernel.img.
19526 (bin_UTILITIES): Remove grub-mkimage.
19527 (grub_mkimage_SOURCES): Removed.
19528 (grub_mkimage_CFLAGS): Likewise.
19529 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19530 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
19531 (grub_mkimage_SOURCES): Removed.
19532 (grub_mkimage_CFLAGS): Likewise.
19533 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19534 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
19535 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
19536 (grub_pe32_optional_header): ... this.
19537 (grub_pe64_optional_header): ... and this. All users updated.
19538 (GRUB_PE32_PE32_MAGIC): Split into ..
19539 (GRUB_PE32_PE32_MAGIC): .. this.
19540 (GRUB_PE32_PE64_MAGIC): .. and this.
19541 (GRUB_PE32_SIGNATURE_SIZE): New definition.
19542 * include/grub/elf.h (PT_GNU_STACK): New definition.
19543 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
19544 * include/grub/i386/efi/kernel.h: Likewise.
19545 * include/grub/i386/kernel.h: Likewise.
19546 * include/grub/i386/pc/kernel.h: Likewise.
19547 * include/grub/i386/qemu/boot.h: Likewise.
19548 * include/grub/mips/kernel.h: Likewise.
19549 * include/grub/mips/qemu-mips/kernel.h: Likewise.
19550 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
19551 * include/grub/powerpc/kernel.h: Likewise.
19552 * include/grub/sparc64/ieee1275/boot.h: Likewise.
19553 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
19554 * include/grub/sparc64/kernel.h: Likewise.
19555 * include/grub/x86_64/efi/kernel.h: Likewise.
19556 * include/grub/x86_64/kernel.h: Likewise.
19557 * include/grub/offsets.h: New file.
19558 * include/grub/kernel.h (grub_module_info): Split into ...
19559 (grub_module_info32): ... this.
19560 (grub_module_info64): ... and this.
19561 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
19562 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
19563 (grub_boot_blocklist): Moved from here ...
19564 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
19565 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
19566 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
19567 * include/grub/types.h (grub_target_to_host16): Removed.
19568 (grub_target_to_host32): Likewise.
19569 (grub_target_to_host64): Likewise.
19570 (grub_host_to_target16): Likewise.
19571 (grub_host_to_target32): Likewise.
19572 (grub_host_to_target64): Likewise.
19573 (grub_host_to_target_addr): Likewise.
19574
19575 Support grub-mkrescue for efi, coreboot and qemu.
19576
19577 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
19578 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
19579 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
19580 * util/grub-mkrawimage.c: Moved from here ...
19581 * util/grub-mkimage.c: ... here. All users updated.
19582 (ALIGN_ADDR): Use image_target.
19583 (TARGET_NO_FIELD): New const.
19584 (image_target_desc): New type.
19585 (image_targets): New array.
19586 (grub_target_to_host64): Use image_target.
19587 (grub_target_to_host32): Likewise.
19588 (grub_target_to_host16): Likewise.
19589 (grub_host_to_target64): Likewise.
19590 (grub_host_to_target32): Likewise.
19591 (grub_host_to_target16): Likewise.
19592 (grub_host_to_target_addr): Likewise.
19593 (generate_image): Handle multiimage.
19594 (main): Require -O parameter. All users updated.
19595 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
19596 util/efi/grub-mkimage.c
19597 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
19598 New option --rom-directory.
19599 Use xorriso.
19600 * util/i386/efi/grub-mkimage.c: Removed.
19601 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
19602 (grub_target_to_host32): Likewise.
19603 (grub_target_to_host64): Likewise.
19604 (grub_host_to_target16): Likewise.
19605 (grub_host_to_target32): Likewise.
19606 (grub_host_to_target64): Likewise.
19607 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
19608 (grub_target_to_host32): Likewise.
19609 (grub_target_to_host64): Likewise.
19610 (grub_host_to_target16): Likewise.
19611 (grub_host_to_target32): Likewise.
19612 (grub_host_to_target64): Likewise.
19613
f4fc97d0
BC
196142010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
19615
19616 Source tree is reorganized for emu build.
19617
19618 * include/grub/util/console.h: Move from here...
19619 * include/grub/emu/console.h: ...to here.
19620 * include/grub/util/getroot.h: Move from here...
19621 * include/grub/emu/getroot.h: ...to here.
19622 * include/grub/util/hostdisk.h: Move from here...
19623 * include/grub/emu/hostdisk.h: ...to here.
19624 * util/console.c: Move from here...
19625 * kern/emu/console.c: ...to here.
19626 * util/getroot.c: Move from here...
19627 * kern/emu/getroot.c: ...to here.
19628 * util/grub-emu.c: Move from here...
19629 * kern/emu/main.c: ...to here.
19630 * util/hostdisk.c: Move from here...
19631 * kern/emu/hostdisk.c: ...to here.
19632 * util/hostfs.c: Move from here...
19633 * kern/emu/hostfs.c: ...to here.
19634 * util/mm.c: Move from here...
19635 * kern/emu/mm.c: ...to here.
19636 * util/pci.c: Move from here...
19637 * bus/emu/pci.c: ...to here.
19638 * util/sdl.c: Move from here...
19639 * video/emu/sdl.c: ...to here.
19640 * util/time.c: Move from here...
19641 * kern/emu/time.c: ...to here.
19642 * util/usb.c: Move from here...
19643 * bus/usb/emu/usb.c: ...to here.
19644
19645 * include/grub/emu/misc.h: New header for grub-emu functions.
19646 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
19647
19648 * conf/any-emu.rmk: Rule updates for above renames.
19649 * conf/common.rmk: Likewise.
19650 * conf/i386-pc.rmk: Likewise.
19651 * conf/i386-qemu.rmk: Likewise.
19652 * conf/mips.rmk: Likewise.
19653 * conf/sparc64-ieee1275.rmk: Likewise.
19654 * conf/x86-efi.rmk: Likewise.
19655
19656 * disk/lvm.h: #include updates for above renames.
19657 * util/grub-mkrelpath.c: Likewise.
19658 * util/grub-probe.c: Likewise.
19659 * util/i386/pc/grub-setup.c: Likewise.
19660 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19661 * kern/emu/console.c: Likewise.
19662 * kern/emu/getroot.c: Likewise.
19663 * kern/emu/hostdisk.c: Likewise.
19664 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
19665
19666 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
19667 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
19668 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
19669 * util/misc.c: Remove grub-emu functions.
19670
cced9145
VS
196712010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19672
19673 Fix gfxmenu crash.
19674 Reported by: Thorsten Grützmacher.
19675
19676 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
19677 timeout hook.
19678 (circprog_set_property): Register and unregister timeout hook.
19679 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
19680 (label_destroy): Free template. and unregister hook.
19681 (label_set_state): New function.
19682 (label_set_property): Handle templates and hooks.
19683 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
19684 timeout hook.
19685 (progress_bar_set_property): Register and unregister timeout hook.
19686 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
19687 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
19688 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
19689 (update_timeout_visit): Removed.
19690 (update_timeouts): New function.
19691 (redraw_timeouts): Likewise.
19692 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
19693 (grub_gfxmenu_clear_timeout): Likewise.
19694 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
19695 (grub_gfxmenu_timeout_notify): Likewise.
19696 (grub_gfxmenu_timeout_notifications): New external variable.
19697 (grub_gfxmenu_timeout_register): New function.
19698 (grub_gfxmenu_timeout_unregister): Likewise.
19699
c6e5caab
VS
197002010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19701
19702 Transform (broken) vga terminal into (working) vga video driver.
19703
19704 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
19705 video/i386/pc/vga.c.
19706 * include/grub/video.h (grub_video_driver_id):
19707 Add GRUB_VIDEO_DRIVER_VGA.
19708 * term/i386/pc/vga.c: Renamed to ...
19709 * video/i386/pc/vga.c: ...this
19710 (DEBUG_VGA): Removed.
19711 (CHAR_WIDTH): Likewise.
19712 (CHAR_HEIGHT): Likewise.
19713 (TEXT_WIDTH): Likewise.
19714 (TEXT_HEIGHT): Likewise.
19715 (DEFAULT_FG_COLOR): Likewise.
19716 (DEFAULT_BG_COLOR): Likewise.
19717 (colored_char): Likewise.
19718 (xpos): Likewise.
19719 (ypos): Likewise.
19720 (cursor_state): Likewise.
19721 (fg_color): Likewise.
19722 (bg_color): Likewise.
19723 (text_buf): Likewise.
19724 (page): Likewise.
19725 (font): Likewise.
19726 (framebuffer): New variable.
19727 (set_read_map): Disabled.
19728 (setup): New variable.
19729 (is_target): Likewise.
19730 (grub_vga_mod_init): Likewise.
19731 (grub_vga_mod_fini): Likewise.
19732 (check_vga_mem): Likewise.
19733 (write_char): Likewise.
19734 (write_cursor): Likewise.
19735 (scroll_up): Likewise.
19736 (grub_vga_putchar): Likewise.
19737 (grub_vga_getcharwidth): Likewise.
19738 (grub_vga_getwh): Likewise.
19739 (grub_vga_getxy): Likewise.
19740 (grub_vga_gotoxy): Likewise.
19741 (grub_vga_cls): Likewise.
19742 (grub_vga_setcolorstate): Likewise.
19743 (grub_vga_setcursor): Likewise.
19744 (grub_video_vga_init): New function.
19745 (grub_video_vga_setup): Likewise.
19746 (grub_video_vga_fini): Likewise.
19747 (update_target): Likewise.
19748 (grub_video_vga_blit_bitmap): Likewise.
19749 (grub_video_vga_blit_render_target): Likewise.
19750 (grub_video_vga_set_active_render_target): Likewise.
19751 (grub_video_vga_get_active_render_target): Likewise.
19752 (grub_video_vga_swap_buffers): Likewise.
19753 (grub_video_vga_set_palette): Likewise.
19754 (grub_video_vga_get_info_and_fini): Likewise.
19755 (grub_vga_term): Removed.
19756 (grub_video_vga_adapter): New variable.
19757 (GRUB_MOD_INIT): Register a video driver instead of terminal.
19758 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
19759
2bf61a98
VS
197602010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19761
19762 * video/readers/jpeg.c: Indented.
19763
09ddcd11
VS
197642010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19765
19766 Various jpeg cleanups.
19767
19768 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
19769 (grub_jpeg_decode_quan_table): Use sizeof.
19770 (grub_jpeg_decode_du): Use ARRAY_SIZE.
19771
e5507505
PH
197722010-05-05 Peter Hurley <No e-mail available> (tiny change)
19773
19774 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
19775 tables. Ignore non-last ac bit.
19776 (grub_jpeg_decode_quan_table): Likewise.
19777
7e720a9b
VS
197782010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19779
19780 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
19781 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
19782 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19783 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
19784 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
19785 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
19786
a7fc080b
VS
197872010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19788
19789 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
19790 error.
19791
2bf6012d
VS
197922010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19793
19794 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
19795
265d68cd
VS
197962010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
19797
19798 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
19799 condition.
19800
198012010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
19802
19803 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
19804 part.
19805
265d68cd 198062010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
19807
19808 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
19809 pointers.
19810
265d68cd 198112010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
19812
19813 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
19814
d1b61374
CF
198152010-05-01 Christian Franke <franke@computer.org>
19816
19817 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
19818 Remove broken Cygwin path conversion.
19819 * util/misc.c: [__CYGWIN__] Add include and define.
19820 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
19821 for Cygwin 1.7.
19822 (make_system_path_relative_to_its_root): Simplify loop, replace early
19823 return by break.
19824 [__CYGWIN__] Add conversion to win32 path.
19825 Include "/" case in trailing slash removal.
19826
3558c6e9
VS
198272010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19828
19829 * kern/main.c (grub_load_config): Fix copy-pasted comment.
19830 Reported by: Seth Goldberg
19831
f5f3ff93
VS
198322010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19833
19834 * commands/help.c (grub_cmd_help): Fix a typo.
19835 Reported by: Seth Goldberg
19836
d8b5cd40
VS
198372010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19838
19839 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
19840 name and add N_.
19841 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
19842 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
19843 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
19844 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
19845 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
19846 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
19847 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
19848 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
19849 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
19850 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
19851 * normal/context.c (GRUB_MOD_INIT): Likewise.
19852 * normal/main.c (GRUB_MOD_INIT): Likewise.
19853 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
19854 * term/serial.c (GRUB_MOD_INIT): Likewise.
19855 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
19856
88c14915
VS
198572010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19858
19859 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
19860 extra == 0.
19861
165134bc
VS
198622010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19863
19864 * commands/iorw.c: New file.
19865 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
19866 (iorw_mod_SOURCES): New variable.
19867 (iorw_mod_CFLAGS): Likewise.
19868 (iorw_mod_LDFLAGS): Likewise.
19869
c5ac9b32
VS
198702010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19871
19872 Hotkey support
19873
19874 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
19875 * normal/main.c (hotkey_aliases): New variable.
19876 (grub_normal_add_menu_entry): Parse "--hotkey".
19877 * normal/menu_text.c (run_menu): Handle hotkeys.
19878
ce60689c
VS
198792010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19880
19881 * kern/i386/coreboot/init.c (grub_machine_init): Call
19882 grub_machine_mmap_init on qemu.
19883
0359d006
VS
198842010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19885
19886 * boot/i386/qemu/boot.S: Add a missing .code16.
19887
7819a456
VS
198882010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19889
19890 Use LBIO on coreboot.
19891
19892 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
19893 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
19894 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
19895 New declaration.
19896 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
19897 grub_machine_mmap_init on coreboot.
19898 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
19899 GRUB_LINUXBIOS_MEMBER_LINK.
19900 (grub_machine_mmap_iterate): Fix declaration.
19901 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
19902
7210dca9
VS
199032010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19904
19905 Split coreboot and multiboot ports.
19906
19907 * conf/i386-multiboot.rmk: New file.
19908 * configure.ac: Add multiboot port.
19909 * include/grub/i386/multiboot/boot.h: New file.
19910 * include/grub/i386/multiboot/console.h: Likewise.
19911 * include/grub/i386/multiboot/init.h: Likewise.
19912 * include/grub/i386/multiboot/kernel.h: Likewise.
19913 * include/grub/i386/multiboot/loader.h: Likewise.
19914 * include/grub/i386/multiboot/memory.h: Likewise.
19915 * include/grub/i386/multiboot/serial.h: Likewise.
19916 * include/grub/i386/multiboot/time.h: Likewise.
19917 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
19918 * loader/multiboot.c: Likewise.
19919 * loader/multiboot_mbi2.c: Likewise.
19920 * util/grub-mkrescue.in: Generate multiboot rescue.
19921
6f8aaf68
VS
199222010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19923
3080f7a7
VS
19924 * kern/parser.c (grub_parser_execute): Cope with read-only config.
19925
199262010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19927
19928 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
19929
19930 * commands/terminal.c (abstract_terminal): New struct.
19931 (handle_command): New function. Based on grub_cmd_terminal_input.
19932 (grub_cmd_terminal_input): Use handle_command.
19933 (grub_cmd_terminal_output): Use handle_command.
19934
a8ebb841
BC
199352010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
19936
19937 Fix comment handling.
19938
19939 * tests/grub_script_comments.in: New testcase.
19940 * conf/tests.rmk: Rules for new testcase.
19941 * script/yylex.l: Updated flex rules.
19942
bb06ba08
ST
199432010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
19944
19945 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
19946 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
19947 if argc is 1.
bb06ba08 19948
cc9d2425
VS
199492010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
19950
19951 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
19952 autogen issues.
19953
460d8402
CF
199542010-04-26 Christian Franke <franke@computer.org>
19955
19956 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
19957 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
19958 (grub_get_prefix): Remove function.
19959 * util/grub-emu.c (main): Replace grub_get_prefix () call by
19960 make_system_path_relative_to_its_root ().
19961 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
19962
553c01f9
CF
199632010-04-24 Christian Franke <franke@computer.org>
19964
19965 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
19966 (kernel_img_LDFLAGS): Remove -static-libgcc.
19967
2aec1692
CF
199682010-04-24 Christian Franke <franke@computer.org>
19969
19970 * configure.ac: Do not CHECK_BSS_START_SYMBOL
19971 and CHECK_END_SYMBOL if grub-emu is built.
19972 Unset TARGET_OBJ2ELF if grub-emu is built
19973 without module support.
19974
f67dc308
JS
199752010-04-24 Jiro SEKIBA <jir@unicus.jp>
19976
19977 Nilfs2 support.
19978
19979 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
19980 (grub_fstest_SOURCES): Likewise.
19981 (pkglib_MODULES): Add nilfs2.mod.
19982 (nilfs2_mod_SOURCES): New variable.
19983 (nilfs2_mod_CFLAGS): Likewise.
19984 (nilfs2_mod_LDFLAGS): Likewise.
19985 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
19986 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
19987 * fs/nilfs2.c: New file.
19988
4ba8d354
VS
199892010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
19990
19991 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
19992 is not supported.
19993
0d2c20c6
GS
199942010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
19995
19996 Add grub-mkconfig support for NetBSD.
19997
19998 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
19999 * util/grub-mkconfig.in: export new NetBSD specific variables.
20000 * po/POTFILES-shell: added 10_netbsd.in.
20001 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
20002
bc4a2d83
BC
200032010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
20004
20005 Fix emu build with grub-emu-pci and grub-emu-modules.
20006
20007 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
20008 functions.
20009 * include/grub/libpciaccess.h: New file.
20010 * conf/any-emu.rmk: Update kernel headers for emu build.
20011
f48c87aa
VS
200122010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20013
20014 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
20015
18959385
VS
200162010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20017
20018 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
20019
0037de3f
VS
200202010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20021
20022 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
20023 Retrieve chosen/bootpath if bootpath isn't hardcoded.
20024 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
20025 util/ieee1275/ofpath.c.
20026 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
20027 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
20028 * include/grub/sparc64/ieee1275/boot.h
20029 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
20030 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
20031 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
20032 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
20033 const char *.
20034 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
20035 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
20036 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
20037 install.
20038
38e55e90
GS
200392010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
20040
20041 * util/grub-mkconfig.in: Corrected two == equality tests.
20042 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
20043 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
20044 expect a number appended to it.
20045 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
20046 expects a number appended to it.
20047
a9e6ff28
VS
200482010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20049
20050 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
20051
0b830b8f
VS
200522010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20053
20054 * util/hostdisk.c (make_device_name): Change to new partition naming.
20055
0973daeb
VS
200562010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20057
20058 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
20059
460d8402 200602010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
20061
20062 * Makefile.in: Add missing localedir setting.
20063
0b456309
CW
200642010-04-14 Colin Watson <cjwatson@ubuntu.com>
20065
20066 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
20067 mistake in r2156. Noticed by Anthony Fok.
20068
20069 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
20070 @localedir@.
20071 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
20072
08f46d62
BC
200732010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
20074
20075 Fix a spurious, uninitialized variable warning.
20076
20077 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
20078 Initialize variable, shdr.
20079 (grub_freebsd_load_elfmodule): Likewise.
20080 (grub_freebsd_load_elf_meta): Likewise.
20081
8c4a72d4
BC
200822010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
20083
20084 Fix for escaped dollar in double quoted strings.
20085
20086 * script/yylex.l: Updated flex rules.
20087 * conf/tests.rmk: Rule for new testcase.
20088 * tests/grub_script_dollar.in: New testcase.
20089
ce44826e
CPE
200902010-04-13 Carles Pina i Estany <carles@pina.cat>
200912010-04-13 Colin Watson <cjwatson@ubuntu.com>
20092
20093 Enclose all translated strings in grub.cfg in single quotes, and
20094 escape them appropriately (Ubuntu bug #552921).
20095
20096 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
20097 * util/grub.d/10_hurd.in: Use it.
20098 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20099 * util/grub.d/10_linux.in (linux_entry): Likewise.
20100
4b0cd8f8
VS
201012010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20102
20103 Fix cygwin compilation.
20104
20105 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
20106 * include/grub/misc.h (__register_frame_info)
20107 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
20108 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
20109 * kern/misc.c (__register_frame_info)
20110 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
20111 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
20112
01fcf061
VS
201132010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20114
20115 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
20116
5d04b11e
VS
201172010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20118
20119 Unify libgcc processing.
20120
20121 * Makefile.in (kernel_img_LDFLAGS): New variable.
20122 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
20123 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
20124 overwriting.
20125 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
20126 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
20127 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
20128 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
20129 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
20130 overwriting. Remove -lgcc and -static-libgcc
20131 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
20132 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
20133 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
20134 (kernel_img_LDFLAGS): Append instead of overwriting.
20135 Remove -lgcc and -static-libgcc
20136 * conf/sparc64-ieee1275.rmk: Likewise.
20137 * include/grub/powerpc/libgcc.h: Move to ...
20138 * include/grub/libgcc.h: .. this.
20139 * include/grub/libgcc.h: Don't export most of the function on x86.
20140 (__bswapsi2): New export.
20141 (__bswapdi2): Likewise.
20142 * include/grub/mips/libgcc.h: Removed.
20143 * include/grub/sparc64/libgcc.h: Likewise.
20144
b7f3ac29
VS
201452010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20146
20147 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
20148 disk_info_msg (conflicts with gettexting into languages with cases).
20149
2c7031b1
GS
201502010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
20151
20152 Add grub-probe support for NetBSD.
20153
20154 * util/getroot.c (find_root_device): Convert block device to
20155 character device on NetBSD.
20156 * util/probe.c (probe): Require character device on NetBSD.
20157 * util/hostdisk.c: NetBSD specific headers.
20158 (configure_device_driver): new function to tune device driver
20159 parameters (currently only for NetBSD floppy driver).
20160 (grub_util_biosdisk_open): NetBSD specific code (get disk size
20161 via disklabel ioctl).
20162 (open_device): call configure_device_driver on NetBSD.
20163 (convert_system_partition_to_system_disk): NetBSD specific code.
20164 (device_is_wholedisk): Likewise.
20165 (grub_util_biosdisk_get_grub_dev): Likewise.
20166 (make_device_name): Fixed a typo in bsd_part_str.
20167 * configure.ac: check for opendisk() and getrawpartition() on
20168 NetBSD and set LIBUTIL.
20169 * Makefile.in: add LIBUTIL to LIBS.
20170
f516290c
BC
201712010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
20172
20173 Documentation fix.
20174
20175 * util/grub-script-check.c: Better help message.
20176
d8dcc0df
BC
201772010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
20178
20179 Fix FreeBSD build.
20180
20181 * configure.ac: Flex version check.
20182 * conf/common.rmk: Add -Wno-error to sh.mod.
20183 * script/yylex.l: Remove all #pragma.
20184
6734334a
VS
201852010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20186
20187 * include/grub/util/misc.h (canonicalise_file_name): Add missing
20188 prototype.
20189 Reported by: Seth Goldberg.
20190
daea6abd
VS
201912010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20192
20193 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
20194 Rename "module" to "module2".
20195 Reported by: Seth Goldberg.
20196
f2fd9d2b
VS
201972010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20198
20199 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
20200 EXPORT_FUNC.
20201 Reported by: Seth Goldberg.
20202
be124579
VS
202032010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20204
20205 * lib/posix_wrap/locale.h: Add missing file.
20206 Reported by: Seth Goldberg.
20207
ef5da797
VS
202082010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20209
20210 grub-emu module load support.
20211
20212 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
20213 NO_DYNAMIC_MODULES switched to this.
20214 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
20215 (CFLAGS): Likewise.
20216 * conf/any-emu.rmk: Generate symlist.
20217 (kernel_img_HEADERS): Add util/datetime.h.
20218 (kernel_img_HEADERS) [sdl]: Add sdl.h.
20219 (kernel_img_HEADERS) [libusb]: Add libusb.h.
20220 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
20221 kern/$(target_cpu)/cache.S.
20222 * configure.ac (grub-emu-modules): New option.
20223 * genmk.rb: Handle multiple source lists.
20224 * include/grub/sdl.h: New file.
20225 * include/grub/libusb.h: Likewise.
20226 * util/grub-emu.c (main): Hanle (host) root.
20227 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
20228 GRUB_ERR_UNKNOWN_DEVICE.
20229 * util/misc.c: Move mm functions to ...
20230 * util/mm.c: ... here. All users updated.
20231
47822096
VS
202322010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20233
20234 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
20235 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
20236 missing files.
20237 (maintainer-clean): Remove libgcrypt-grub.
20238
5d7e7445
VS
202392010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20240
20241 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
20242
25f4e252
EC
202432010-04-09 EFI Coder <eficoder@hotmail.com>
20244
20245 * normal/menu_text.c (print_message): Clean up the message and show
20246 the Fn information when on EFI
20247 * term/efi/console.c (grub_console_checkkey): Add F4 support.
20248
027de555
VS
202492010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20250
20251 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
20252 All users updated.
20253 * normal/crypto.c (read_crypto_list): Likewise.
20254 * normal/dyncmd.c (read_command_list): Likewise.
20255 * normal/term.c (read_terminal_list): Likewise.
20256 * normal/main.c (read_lists): Use explicit prefix.
20257 (read_lists_hook): Use read_lists.
20258 (grub_normal_execute): Likewise.
20259
47779711
VS
202602010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20261
20262 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
20263 Reported by: Thomas Schmitt.
20264 Add -no-emul-boot to grub-mkisofs parameters.
20265
1118c32e
VS
202662010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20267
20268 * font/font.c: Indented.
20269
7d652447
BC
202702010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
20271
20272 Elif support to GRUB script (by Deepak Vankadaru).
20273
20274 * tests/grub_script_if.in: New testcase.
20275 * conf/tests.rmk: Rule for new testcase.
20276 * script/parser.y: Grammar rules for elif.
20277
34bb22df
BC
202782010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
20279
20280 While and until loops support to GRUB script.
20281
20282 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
20283 (grub_script_create_cmdwhile): New function prototype.
20284 (grub_script_execute_cmdwhile): New function prototype.
20285 * script/execute.c (grub_script_execute_cmdwhile): New function.
20286 * script/parser.y (command): New commands.
20287 (whilecmd): New grammar rule.
20288 (untilcmd): New grammar rule.
20289 * script/script.c (grub_script_create_cmdwhile): New function.
20290 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
20291 function.
20292
20293 * tests/grub_script_while1.in: New testcase.
20294 * conf/tests.rmk: Rule for new testcase.
20295
e215d8e0
VS
202962010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20297
20298 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
20299 as *.jpg.
20300
d7c43ba1
MV
203012010-04-09 Mario Vazquez <mariovazq@gmail.com>
20302
20303 GRUB_BACKGROUND support.
20304
20305 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
20306 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
20307
d64795c0
VS
203082010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20309
20310 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 20311 Idea by: Mario Vazquez
d64795c0
VS
20312
20313 * util/grub.d/00_header.in: Load pf2 and image modules.
20314
f267f83a
VS
203152010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20316
20317 grub-mkconfig multiple terminal support.
20318
20319 * util/grub-mkconfig.in: Handle multiple terminals correctly.
20320 * util/grub.d/00_header.in: Likewise.
20321
b7841ceb
VS
203222010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20323
20324 * Makefile.in: Specify files explicitly instead of using $< and $@ since
20325 we use cd $(srcdir).
20326
df60998c
CW
203272010-04-08 Colin Watson <cjwatson@ubuntu.com>
20328
20329 * util/grub.d/10_linux.in: Only use the first word of
20330 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
20331 spaces in GRUB_DISTRIBUTOR.
20332 * util/grub.d/10_kfreebsd.in: Likewise.
20333 * util/grub.d/10_hurd.in: Likewise.
20334
fa09c82e
BC
203352010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
20336
14e18ae3 20337 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
20338
20339 * tests/util/grub-shell.in: Remove -serial stdio option.
20340
daf892b3
BC
203412010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20342
20343 POSIX header file wrappers.
20344
20345 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
20346 equivalents.
20347 * lib/posix_wrap/ctype.h: Likewise.
20348 * lib/posix_wrap/errno.h: Likewise.
20349 * lib/posix_wrap/langinfo.h: Likewise.
20350 * lib/posix_wrap/limits.h: Likewise.
20351 * lib/posix_wrap/localcharset.h: Likewise.
20352 * lib/posix_wrap/stdint.h: Likewise.
20353 * lib/posix_wrap/stdio.h: Likewise.
20354 * lib/posix_wrap/stdlib.h: Likewise.
20355 * lib/posix_wrap/string.h: Likewise.
20356 * lib/posix_wrap/sys/types.h: Likewise.
20357 * lib/posix_wrap/unistd.h: Likewise.
20358 * lib/posix_wrap/wchar.h: Likewise.
20359 * lib/posix_wrap/wctype.h: Likewise.
20360 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
20361 (grub_script.yy.h): Likewise.
20362 * script/yylex.l: Remove POSIX emulation #defines.
20363 * Makefile.in (POSIX_CFLAGS): New variable.
20364 (GNULIB_UTIL_CFLAGS): Likewise.
20365
20366 Regexp support.
20367
20368 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
20369 (regexp_mod_SOURCES): New variable.
20370 (regexp_mod_CFLAGS): Likewise.
20371 (regexp_mod_LDFLAGS): Likewise.
20372 * commands/regexp.c: New file.
20373 * gnulib/regcomp.c: New file. Imported from gnulib.
20374 * gnulib/regex.c: Likewise.
20375 * gnulib/regex_internal.c: Likewise.
20376 * gnulib/regex_internal.h: Likewise.
20377 * gnulib/regexec.c: Likewise.
20378 * gnulib/regex.h: Likewise.
20379
974ac4f7
VS
203802010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20381
20382 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
20383 unsupported video mode types.
20384
2622c3ff
VS
203852010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20386
20387 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
20388
064cb524
VS
203892010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20390
20391 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
20392 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
20393
a8c3b552
VS
203942010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
20395
20396 Remove unused grub_vga_get_font.
20397
20398 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
20399 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
20400
187bbe3d
GS
204012010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20402
20403 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
20404 * include/grub/misc.h: Likewise.
20405
b9396631
GS
204062010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20407
20408 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
20409 for which failure is fatal.
20410
50479feb
GS
204112010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20412
20413 * util/grub-install.in: Use mkdir -p to create grub directory.
20414 * util/i386/efi/grub-install.in: Likewise.
20415 * util/ieee1275/grub-install.in: Likewise.
20416
b1654fdf
GS
204172010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20418
20419 * Makefile.in (LEX): new variable.
20420
bd5a6415
GS
204212010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20422
20423 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
20424 `=' and added double quotes on operands of this equality test.
20425
3db3a82b
VS
204262010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
20427
20428 * Makefile.in (uninstall): Remove a leftover debug echo.
20429 Reported by: Grégoire Sutre
20430
38023412
VS
204312010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
20432
20433 MIPS multiboot2 support.
20434
20435 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
20436 (multiboot2_mod_SOURCES): New variable.
20437 (multiboot2_mod_CFLAGS): Likewise.
20438 (multiboot2_mod_LDFLAGS): Likewise.
20439 (multiboot2_mod_ASFLAGS): Likewise.
20440 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
20441 definition.
20442 (MULTIBOOT_ENTRY_REGISTER): Likewise.
20443 (MULTIBOOT_MBI_REGISTER): Likewise.
20444 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
20445 (MULTIBOOT_ELF32_MACHINE): Likewise.
20446 (MULTIBOOT_ELF64_MACHINE): Likewise.
20447 * include/grub/mips/multiboot.h: New file.
20448 * include/grub/video.h (grub_video_driver_id): New type
20449 GRUB_VIDEO_DRIVER_SM712.
20450 (grub_video_get_info_and_fini): Export.
20451 (grub_video_get_palette): Likewise.
20452 (grub_video_get_driver_id): Likewise.
20453 * include/multiboot2.h: Resynced with spec.
20454 * loader/i386/multiboot.c: Moved from here ...
20455 * loader/multiboot.c: ... here. All users updated.
20456 (grub_multiboot_boot): Use platform-specific macros.
20457 * loader/i386/multiboot_elfxx.c: Moved from here ...
20458 * loader/multiboot_elfxx.c: ... here. All users updated.
20459 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
20460 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
20461 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
20462
47674667
VS
204632010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20464
20465 Import gnulib argp module.
20466
20467 * gnulib/argp-ba.c: New file.
20468 * gnulib/argp-eexst.c: Likewise.
20469 * gnulib/argp-fmtstream.c: Likewise.
20470 * gnulib/argp-fmtstream.h: Likewise.
20471 * gnulib/argp-fs-xinl.c: Likewise.
20472 * gnulib/argp-help.c: Likewise.
20473 * gnulib/argp-namefrob.h: Likewise.
20474 * gnulib/argp-parse.c: Likewise.
20475 * gnulib/argp-pin.c: Likewise.
20476 * gnulib/argp-pv.c: Likewise.
20477 * gnulib/argp-pvh.c: Likewise.
20478 * gnulib/argp-version-etc.c: Likewise.
20479 * gnulib/argp-version-etc.h: Likewise.
20480 * gnulib/argp-xinl.c: Likewise.
20481 * gnulib/argp.h: Likewise.
20482
495442ed
VS
204832010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
20484
20485 * kern/device.c (grub_device_iterate): Clear errors after failed
20486 opening device.
20487
f9fd65df
VS
204882010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
20489
20490 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
20491 returned by firmware.
20492
af09641e
VS
204932010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20494
20495 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
20496 compilation on coreboot and qemu
20497
016883a5
VS
204982010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
20499
20500 * include/multiboot2.h: Resync with spec.
20501
f97e1f7d
VS
205022010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
20503
20504 Multiboot2 tag support
20505
20506 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
20507 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
20508 Remove loader/multiboot_loader.c.
20509 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
20510 (grub_multiboot2_real_boot): Likewise.
20511 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
20512 (grub_get_multiboot_mmap_count): New proto.
20513 (grub_fill_multiboot_mmap): Likewise.
20514 (grub_multiboot_set_video_mode): Likewise.
20515 (grub_multiboot_set_console): Likewise.
20516 (grub_multiboot_load): Likewise.
20517 (grub_multiboot_load_elf): Likewise.
20518 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
20519 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
20520 * include/multiboot.h: Resynced with specification.
20521 * include/multiboot2.h: Resynced with specification.
20522 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
20523 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
20524 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
20525 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
20526 users updated.
20527 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
20528 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
20529 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
20530 Removed.
20531 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
20532 Moved from here...
20533 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
20534 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
20535 Moved from here...
20536 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
20537 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
20538 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
20539 All users updated.
20540 * loader/i386/multiboot_mbi2.c: New file.
20541
3506b90b
VS
205422010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
20543
20544 Resync with gnulib.
20545
20546 * Makefile.in (GNULIB_CFLAGS): New variable.
20547 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
20548 (grub_script_check_CFLAGS): New variable.
20549 * gnulib/alloca.h: Resync with gnulib.
20550 * gnulib/error.c: Likewise.
20551 * gnulib/error.h: Likewise.
20552 * gnulib/fnmatch.c: Likewise.
20553 * gnulib/fnmatch_loop.c: Likewise.
20554 * gnulib/getdelim.c: Likewise.
20555 * gnulib/getline.c: Likewise.
20556 * gnulib/getopt.c: Likewise.
20557 * gnulib/getopt1.c: Likewise.
20558 * gnulib/getopt_int.h: Likewise.
20559 * gnulib/gettext.h: Likewise.
20560 * gnulib/progname.c: Likewise.
20561 * gnulib/progname.h: Likewise.
20562
394a3120
GS
205632010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
20564
20565 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
20566 which is the case with --disabled-nls.
20567
20568 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
20569 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
20570 * util/misc.c: Likewise.
20571 * util/mkisofs/mkisofs.c: Likewise.
20572 * util/mkisofs/mkisofs.h: Likewise.
20573
969d1c78
VS
205742010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
20575
20576 Simplify Apple CC support.
20577
20578 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
20579 Add 0 byte at the end not to have a symbol with empty target.
20580 * mmap/i386/pc/mmap_helper.S: Likewise.
20581 * genmk.rb: Ignore errors 2030 and 2050.
20582 * kern/i386/pc/startup.S: Use LOCAL when possible.
20583
8d2977bb
BC
205842010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
20585
20586 Testcase and the fix for final semicolon on cmdline.
20587
20588 * tests/grub_script_final_semicolon.in: New testcase.
20589 * conf/tests.rmk: Rules for the new testcase.
20590 * script/parser.y: Grammar fix.
20591
a7bd6915
BC
205922010-03-26 BVK Chaitanya <bvk@localhost>
20593
20594 Blank lines testcase for GRUB script.
20595
20596 * tests/grub_script_blanklines.in: New testcase.
20597 * conf/tests.rmk: Rules for the new testcase.
20598
e4ff6628
VS
205992010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20600
20601 Don't use __FILE__.
20602
20603 * genmk.rb: Add -DGRUB_FILE to all C targets.
20604 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
20605 * include/grub/list.h: Likewise.
20606 * include/grub/misc.h: Likewise.
20607 * include/grub/mm.h: Likewise.
20608 * include/grub/test.h: Likewise.
20609 * kern/mm.c: Likewise.
20610 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
20611
6a5cf6b6
VS
206122010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20613
20614 Sunpc partitions support.
20615
20616 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
20617 (grub_fstest_SOURCES): Likewise.
20618 (pkglib_MODULES): Add part_sunpc.mod.
20619 (part_sunpc_mod_SOURCES): New variable.
20620 (part_sunpc_mod_CFLAGS): Likewise.
20621 (part_sunpc_mod_LDFLAGS): Likewise.
20622 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
20623 * partmap/sunpc.c: New file.
20624
746d9045
BC
206252010-03-26 BVK Chaitanya <bvk@localhost>
20626
20627 For loop support to GRUB script.
20628
20629 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
20630 (grub_script_create_cmdfor): New function prototype.
20631 (grub_script_execute_cmdfor): New function prototype.
20632 * script/execute.c (grub_script_execute_cmdfor): New function.
20633 * script/parser.y (command): New for command.
20634 (forcmd): New grammar rule.
20635 * script/script.c (grub_script_create_cmdfor): New function.
20636 * util/grub-script-check.c (grub_script_execute_cmdfor): New
20637 function.
20638 * tests/grub_script_for1.in: New testcase.
20639 * conf/tests.rmk: Rules for new testcase.
20640
18486b18
VS
206412010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20642
20643 Nested partitions
20644
20645 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
20646 'partition' is NULL, grub_partition_get_start already does that.
20647 * commands/loadenv.c (check_blocklists): Likewise.
20648 (write_blocklists): Likewise.
20649 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
20650 (grub_fstest_SOURCES): Likewise.
20651 (pkglib_MODULES): Add part_bsd.mod.
20652 (part_bsd_mod_SOURCES): New variable.
20653 (part_bsd_mod_CFLAGS): Likewise.
20654 (part_bsd_mod_LDFLAGS): Likewise.
20655 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
20656 (grub_emu_SOURCES): Likewise.
20657 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20658 * include/grub/bsdlabel.h: New file.
20659 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
20660 'get_name'.
20661 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
20662 (grub_partition_map_list): New variable.
20663 (grub_partition_map_register): Inline.
20664 (grub_partition_map_unregister): Likewise.
20665 (FOR_PARTITION_MAPS): New macro.
20666 (grub_partition_map_iterate): Removed.
20667 (grub_partition_get_start): Handle nested partitions.
20668 * include/grub/msdos_partition.h: Remove bsd-related entries.
20669 (grub_pc_partition): Remove.
20670 * kern/disk.c (grub_disk_close): Free partition data.
20671 (grub_disk_adjust_range): Handle nested partitions.
20672 * kern/partition.c (grub_partition_map_probe): New function.
20673 (grub_partition_probe): Parse name to number, handle subpartitions.
20674 (get_partmap): New function.
20675 (grub_partition_iterate): Handle subpartitions.
20676 (grub_partition_get_name): Likewise.
20677 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
20678 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
20679 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
20680 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
20681 Set 'number'.
20682 (acorn_partition_map_probe): Remove.
20683 (acorn_partition_map_get_name): Likewise.
20684 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
20685 Set 'number'.
20686 Set 'index' to 0 since there can be only one partition entry per sector.
20687 (amiga_partition_map_probe): Remove.
20688 (amiga_partition_map_get_name): Likewise.
20689 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
20690 Set 'number'.
20691 Set 'offset' and 'index' to real positions of partitions.
20692 (apple_partition_map_probe): Remove.
20693 (apple_partition_map_get_name): Likewise.
20694 * partmap/bsdlabel.c: New file.
20695 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
20696 Set 'number'.
20697 Allocate 'data' so it can be correctly freed.
20698 Set 'index' to offset inside sector.
20699 (gpt_partition_map_probe): Remove.
20700 (gpt_partition_map_get_name): Likewise.
20701 * partmap/msdos.c (grub_partition_parse): Remove.
20702 (pc_partition_map_iterate): Don't force raw access.
20703 Set 'number'.
20704 Make 'ext_offset' a local variable.
20705 (pc_partition_map_probe): Remove.
20706 (pc_partition_map_get_name): Remove.
20707 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
20708 Set 'number'.
20709 (sun_partition_map_probe): Remove.
20710 (sun_partition_map_get_name): Likewise.
20711 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
20712 (grub_pcpart_type): Likewise.
20713 * util/hostdisk.c (open_device): Handle new numbering scheme.
20714 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
20715 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
20716 * util/grub-probe.c (probe_partmap): Handle nested paritions.
20717 * util/grub-install.in: Insert all subpartition modules.
20718 * util/ieee1275/grub-install.in: Likewise.
20719
a3940f88
AG
207202010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
20721
20722 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
20723 grammar.
20724
21b99926 207252010-03-24 Colin Watson <cjwatson@ubuntu.com>
20726
20727 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
20728
bed1d352
CW
207292010-03-21 Colin Watson <cjwatson@ubuntu.com>
20730
20731 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
20732 match where 'make install' puts them.
20733 * util/i386/efi/grub-install.in: Likewise.
20734
c9f58427
CW
207352010-03-19 Colin Watson <cjwatson@ubuntu.com>
20736
20737 * .bzrignore: Add gentrigtables, grub-script-check,
20738 grub_script_check_init.c, grub_script_check_init.h, and
20739 trigtables.c.
20740
f84afb27
VS
207412010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
20742
20743 * kern/parser.c: Indented.
20744
ed0e3d30
VS
207452010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
20746
20747 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
20748
0ea81d98
VS
207492010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
20750
20751 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
20752 alpha_mask_size == 0 case.
20753
0cdc2a09
BC
207542010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
20755
20756 GRUB shell lexer and parser improvements.
20757
20758 * conf/any-emu.rmk: Build rule updates.
20759 * conf/common.rmk: Likewise.
20760 * conf/i386-coreboot.rmk: Likewise.
20761 * conf/i386-efi.rmk: Likewise.
20762 * conf/i386-ieee1275.rmk: Likewise.
20763 * conf/i386-pc.rmk: Likewise.
20764 * conf/powerpc-ieee1275.rmk: Likewise.
20765 * conf/x86_64-efi.rmk: Likewise.
20766
20767 * configure.ac: Configure check for flex.
20768
20769 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
20770 types.
20771 (grub_lexer_param): Struct member updates.
20772 (grub_parser_param): Likewise.
20773 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
20774 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
20775 (grub_script_lexer_init): Prototype update.
20776 (grub_script_lexer_record_start): Likewise.
20777 (grub_script_lexer_record_stop): Likewise.
20778 (grub_script_lexer_yywrap): New function prototype.
20779 (grub_script_lexer_fini): Likewise.
20780 (grub_script_execute_argument_to_string): Removed by...
20781 (grub_script_execute_argument_to_argv): ...better version.
20782
20783 * script/execute.c (ROUND_UPTO): New macro.
20784 (grub_script_execute_cmdline): Out of memory fixes.
20785 (grub_script_execute_menuentry): Likewise.
20786 (grub_script_execute_argument_to_string): Removed. Update all
20787 users by...
20788 (grub_script_execute_argument_to_argv): ...better version.
20789 * script/function.c (grub_script_function_create): Use
20790 grub_script_execute_argument_to_argv instead of
20791 grub_script_execute_argument_to_string.
20792
20793 * script/lexer.c (check_varstate): Removed.
20794 (check_textstate): Removed.
20795 (grub_script_lexer_record_start): Likewise.
20796 (grub_script_lexer_record_stop): Likewise.
20797 (recordchar): Replaced with...
20798 (grub_script_lexer_record): ...new function.
20799 (nextchar): Removed.
20800 (grub_script_lexer_init): Rewritten.
20801 (grub_script_yylex): Rewritten.
20802 (append_newline): New function.
20803 (grub_script_lexer_yywrap): New function.
20804 (grub_script_lexer_fini): New function.
20805 (grub_script_yyerror): Sets error flag.
20806
20807 * script/yylex.l: New file.
20808 (grub_lexer_yyfree): Wrapper for flex yyffre.
20809 (grub_lexer_yyalloc): Likewise.
20810 (grub_lexer_yyrealloc): Likewise.
20811 * script/parser.y: Refactored.
20812
20813 * script/script.c (grub_script_arg_add): Out of memory fixes.
20814 (grub_script_add_arglist): Likewise.
20815 (grub_script_create_cmdline): Likewise.
20816 (grub_script_create_cmdmenu): Likewise.
20817 (grub_script_add_cmd): Likewise.
20818 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
20819 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
20820 unnecessary code.
20821
20822 * tests/grub_script_echo1.in: New testcase.
20823 * tests/grub_script_vars1.in: New testcase.
20824 * tests/grub_script_echo_keywords.in: New testcase.
20825
1d63a066
VS
208262010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20827
20828 Remove some redundancy in build system.
20829
20830 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
20831 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
20832 (TARGET_LDFLAGS): Add -nostdlib.
20833 (TARGET_IMG_LDFLAGS): Likewise.
20834 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
20835 anything since mmap isn't available.
20836 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
20837 Add util/time.c.
20838 (pkglib_MODULES): Remove reboot.mod.
20839 (reboot_mod_SOURCES): Removed.
20840 (reboot_mod_CFLAGS): Likewise.
20841 (reboot_mod_LDFLAGS): Likewise.
20842 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
20843 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
20844 (DEFSYMFILES): Add kernel_syms.lst.
20845 (kernel_img_HEADERS): Add common headers.
20846 (symlist.c): New target.
20847 (kernel_syms.lst): Likewise.
20848 (pkglib_MODULES): Add memdisk.mod.
20849 (memdisk_mod_SOURCES): New variable.
20850 (memdisk_mod_CFLAGS): Likewise.
20851 (memdisk_mod_LDFLAGS): Likewise.
20852 (pkglib_MODULES): Add reboot.mod.
20853 (reboot_mod_SOURCES): New variable.
20854 (reboot_mod_CFLAGS): Likewise.
20855 (reboot_mod_LDFLAGS): Likewise.
20856 (pkglib_MODULES): Add date.mod.
20857 (date_mod_SOURCES): New variable.
20858 (date_mod_CFLAGS): Likewise.
20859 (date_mod_LDFLAGS): Likewise.
20860 (pkglib_MODULES): Add datehook.mod.
20861 (datehook_mod_SOURCES): New variable.
20862 (datehook_mod_CFLAGS): Likewise.
20863 (datehook_mod_LDFLAGS): Likewise.
20864 (pkglib_MODULES): Add lsmmap.mod.
20865 (lsmmap_mod_SOURCES): New variable.
20866 (lsmmap_mod_CFLAGS): Likewise.
20867 (lsmmap_mod_LDFLAGS): Likewise.
20868 (pkglib_MODULES): Add boot.mod.
20869 (boot_mod_SOURCES): New variable.
20870 (boot_mod_CFLAGS): Likewise.
20871 (boot_mod_LDFLAGS): Likewise.
20872 * conf/i386-coreboot.rmk: Removed redundant parts.
20873 * conf/i386-ieee1275.rmk: Likewise.
20874 * conf/i386-pc.rmk: Likewise.
20875 * conf/mips-yeeloong.rmk: Likewise.
20876 * conf/mips.rmk: Likewise.
20877 * conf/powerpc-ieee1275.rmk: Likewise.
20878 * conf/sparc64-ieee1275.rmk: Likewise.
20879 * conf/x86_64-efi.rmk: Likewise.
20880 * conf/i386-coreboot.rmk: Moved qemu parts ..
20881 * conf/i386-qemu.rmk: ... here
20882 * conf/i386-efi.rmk: Moved common parts to...
20883 * conf/x86-efi.rmk: ... here.
20884 * conf/i386.rmk: Added modules common to all x86 variants.
20885 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
20886 * disk/memdisk.c: Remove grub/machine/kernel.h.
20887 * gensymlist.sh.in: Include symbol.h.
20888 * hook/datehook.c: Correct module name.
20889 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
20890 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
20891 * include/grub/i386/efi/serial.h: New file.
20892 * include/grub/x86_64/efi/serial.h: Likewise.
20893 * util/time.c: Likewise.
20894 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
20895
463ac55f
CK
208962010-03-14 Colin King <colin.king@ubuntu.com>
208972010-03-14 Colin Watson <cjwatson@ubuntu.com>
20898
20899 Shrink the pre-partition-table part of boot.img by eight bytes.
20900
20901 * boot/i386/pc/boot.S (ERR): New macro.
20902 (chs_mode): Use ERR.
20903 (geometry_error): Likewise.
20904 (hd_probe_error): Remove. This is only used once, so we wrwite
20905 it inline instead.
20906 (read_error): Instead of printing read_error_string, just set up
20907 %si and fall through to ...
20908 (error_message): ... this new function, also used by ERR.
20909
08e46ede
CW
209102010-03-14 Colin Watson <cjwatson@ubuntu.com>
20911
20912 Speed up consecutive hostdisk operations on the same device.
20913
20914 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
20915 (grub_util_biosdisk_open): Initialise disk->data.
20916 (struct linux_partition_cache): New structure.
20917 (linux_find_partition): Cache partition start positions; these are
20918 expensive to compute on every read and write.
20919 (open_device): Cache open file descriptor in disk->data, so that we
20920 don't have to reopen it and flush the buffer cache for consecutive
20921 operations on the same device.
20922 (grub_util_biosdisk_close): New function.
20923 (grub_util_biosdisk_dev): Set `close' member.
20924
20925 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
20926 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
20927 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
20928 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
20929 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
20930
4a6d2d06
VS
209312010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20932
20933 Compile parts of grub-emu as modules.
20934
20935 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
20936 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
20937 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
20938 (all-local): Add $(GRUB_EMU).
20939 (install-local): Install $(GRUB_EMU).
20940 (uninstall): Uninstall $(GRUB_EMU).
20941 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
20942 * kern/dl.c: Likewise.
20943 * commands/sleep.c: Not include machine/time.h.
20944 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
20945 (COMMON_CFLAGS): Likewise.
20946 (sbin_UTILITIES): Remove grub-emu.
20947 (grub_emu_SOURCES): Removed.
20948 (kernel_img_RELOCATABLE): New variable.
20949 (pkglib_PROGRAMS): Add kernel.img.
20950 (kernel_img_SOURCES): New variable
20951 (kernel_img_CFLAGS): Likewise.
20952 (kernel_img_LDFLAGS): Likewise.
20953 (TARGET_NO_STRIP): Likewise.
20954 (TARGET_NO_DYNAMIC_MODULES): Likewise.
20955 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
20956 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
20957 (grub-emu): New target.
20958 (GRUB_EMU): New variable.
20959 * configure.ac: Whitelist -emu as possible x86_64 architecture.
20960 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
20961 * loader/xnu.c: Likewise.
20962 * include/grub/pci.h: Likewise.
20963 * genemuinit.sh: New file.
20964 * genemuinitheader.sh: Likewise.
20965 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
20966 Support TARGET_NO_DYNAMIC_MODULES.
20967 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
20968 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
20969 * disk/loopback.c: Likewise.
20970 * font/font_cmd.c: Likewise.
20971 * partmap/acorn.c: Likewise.
20972 * partmap/amiga.c: Likewise.
20973 * partmap/apple.c: Likewise.
20974 * partmap/gpt.c: Likewise.
20975 * partmap/msdos.c: Likewise.
20976 * partmap/sun.c: Likewise.
20977 * parttool/msdospart.c: Likewise.
20978 * term/gfxterm.c: Likewise.
20979 * video/bitmap.c: Likewise.
20980 * video/readers/jpeg.c: Likewise.
20981 * video/readers/png.c: Likewise.
20982 * video/readers/tga.c: Likewise.
20983 * video/video.c: Likewise.
20984 * util/grub-emu.c (read_command_list): Removed.
20985 (main): Don't call util_init_nls.
20986 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
20987 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
20988
91fdd2ed
VS
209892010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20990
20991 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
20992 date.mod, datehook.mod.
20993 (datetime_mod_SOURCES): New variable.
20994 (datetime_mod_CFLAGS): Likewise.
20995 (datetime_mod_LDFLAGS): Likewise.
20996 (date_mod_SOURCES): Likewise.
20997 (date_mod_CFLAGS): Likewise.
20998 (date_mod_LDFLAGS): Likewise.
20999 (datehook_mod_SOURCES): Likewise.
21000 (datehook_mod_CFLAGS): Likewise.
21001 (datehook_mod_LDFLAGS): Likewise.
21002 * conf/sparc64-ieee1275.rmk: Likewise.
21003 * lib/ieee1275/datetime.c: New file.
21004
873ccae6
VS
210052010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21006
21007 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
21008 (ieee1275_fb_mod_SOURCES): New variable.
21009 (ieee1275_fb_mod_CFLAGS): Likewise.
21010 (ieee1275_fb_mod_LDFLAGS): Likewise.
21011 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
21012 New proto.
21013 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
21014 (HEAP_MAX_ADDR): Likewise.
21015 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
21016 type.
21017 Correct stop condition.
21018 (grub_ieee1275_devices_iterate): New function.
21019 * video/ieee1275.c: New file.
21020
601c97c0
VS
210212010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21022
21023 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
21024
21025 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
21026 as scratch.
21027 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
21028 SCRATCH_PAD_DISKBOOT as scratch.
21029 (bootit): Pass Openfirmware pointer in %o4.
21030 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
21031 of 0x200000.
21032 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
21033 with util/grub-mkrawimage.c.
21034 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
21035 * include/grub/aout.h (AOUT_MID_SUN): New definition.
21036 (grub_aout_get_type) [GRUB_UTIL]: Removed.
21037 (grub_aout_load) [GRUB_UTIL]: Likewise.
21038 * include/grub/kernel.h (grub_modules_get_end): New proto.
21039 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
21040 (SCRATCH_PAD_BOOT): New definition.
21041 (SCRATCH_PAD_DISKBOOT): Likewise.
21042 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
21043 * include/grub/sparc64/ieee1275/ieee1275.h
21044 (grub_ieee1275_original_stack): New variable
21045 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
21046 New definition
21047 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
21048 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
21049 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
21050 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
21051 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
21052 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
21053 (grub_platform_image_format_t): New type.
21054 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
21055 * kern/main.c (grub_modules_get_end)
21056 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
21057 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
21058 (codestart): Switch stacks.
21059 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
21060 variable.
21061 (grub_heap_init): Use grub_modules_get_end.
21062 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
21063 stack.
21064 * util/grub-mkrawimage.c (generate_image): Support sparc64.
21065 (main): Likewise.
21066 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
21067
d68b491e
TG
210682010-03-14 Thorsten Glaser <tg@mirbsd.org>
21069
21070 * util/grub-mkrescue.in: Base ISO UUID on UTC.
21071
4e02ed50
MK
210722010-03-08 Matt Kraai <kraai@ftbfs.org>
21073
21074 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
21075 bug #559005).
21076
1f15fc1e
VS
210772010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
21078
21079 * genmoddep.awk: Output all missing symbols and not only first.
21080
fce5d8ff
VS
210812010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21082
21083 * NEWS: Put the date of 1.98 release.
21084
d1e8a02f
VS
210852010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21086
21087 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
21088 ft2build.h.
21089
696fd607
VS
210902010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21091
21092 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
21093 completition in the middle of string.
21094
33e2e6f3
VS
210952010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21096
21097 * util/grub-mkrescue.in: Use mktemp with explicit template.
21098
b1f6d291
VS
210992010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21100
21101 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
21102
2ac227c7
VS
211032010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21104
21105 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
21106 right pointer.
21107
8f9a632b
VS
211082010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
21109
21110 Fix FreeBSD compilation.
21111
21112 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
21113 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
21114
60b03859
VS
211152010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
21116
21117 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
21118
48a5a769
VS
211192010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21120
21121 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
21122
3ab4bd77
VS
211232010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21124
21125 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
21126
d116e0d8
RM
211272010-03-04 Robert Millan <rmh.grub@aybabtu.com>
21128
21129 Support relative image path in theme file.
21130
21131 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
21132 (image_set_property): Handle theme_dir and relative path.
21133
c7ef54aa
VS
211342010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21135
21136 * configure.ac: Alias amd64 to x86_64.
21137
fcee14ed
VS
211382010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21139
21140 * NEWS: mention multiboot on EFI.
21141
d0780363
VS
211422010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21143
21144 * kern/main.c (grub_load_modules): Handle errors from init functions of
21145 embeded modules.
21146
41168ea4
VS
211472010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21148
21149 * normal/autofs.c (autoload_fs_module): Handle errors.
21150
b54d93ac
VS
211512010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21152
21153 Disable linux.mod on qemu-mips since it's not functional and leads
21154 to compilation failure.
21155
21156 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
21157 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
21158 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
21159 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
21160 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
21161 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
21162 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
21163 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
21164 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
21165 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
21166 Reported by: BVK Chaitanya
21167
fc8345da
JU
211682010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
21169
21170 * INSTALL: Add gettext as a dependency and add qemu to a new section
21171 "Prerequisites for make-check".
21172
4760f979
CF
211732010-03-04 Christian Franke <franke@computer.org>
21174
21175 * util/grub-pe2elf.c: Add missing include "progname.h".
21176
f209b5b2
VS
211772010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21178
21179 * normal/crypto.c (read_crypto_list): Fix a typo.
21180 Reported by: Seth Goldberg.
21181
b4b7be98
VS
211822010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21183
21184 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 21185 Reported by: Seth Goldberg.
b4b7be98 21186
c0ee0385
VS
211872010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21188
21189 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
21190 ascii.bitmaps.
21191
a8efbf64
VS
211922010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21193
21194 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 21195 Reported by: Seth Goldberg.
a8efbf64 21196
08dcd913
VS
211972010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21198
21199 * util/i386/efi/grub-install.in: Copy gettext files.
21200
c4d0b332
VS
212012010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21202
21203 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
21204
c6f2fe52
VS
212052010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21206
21207 Wait for user entry basing on presence of output rather than on errors.
21208
21209 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
21210 (grub_install_newline_hook): Likewise.
21211 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
21212 * normal/menu.c (show_menu): Check line_counter to determine presence
21213 of output.
21214 * normal/term.c (grub_normal_line_counter): New variable.
21215 (grub_normal_get_line_counter): New function.
21216 (grub_install_newline_hook): Likewise.
21217
5382b1e4
VS
212182010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21219
21220 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
21221
5519963b
VS
212222010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21223
21224 * configure.ac: Update version to 1.98.
21225
72b28631
VS
212262010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
21227
21228 * util/grub.d/10_linux.in (linux_entry): Don't default to
21229 gfxpayload=keep if Linux doesn't support video handover.
21230
c140a180
VS
212312010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
21232
21233 Don't compile video modules on yeeloong since video subsystem is part
21234 of kernel.
21235
21236 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
21237 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
21238 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
21239 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
21240 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
21241 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
21242 * include/grub/bitmap_scale.h: Likewise.
21243 * include/grub/bufio.h: Likewise.
21244 * include/grub/font.h: Likewise.
21245 * include/grub/gfxterm.h: Likewise.
21246 * include/grub/video.h: Likewise.
21247 * include/grub/vbe.h: Don't include video_fb.h.
21248 * video/i386/pc/vbe.c: Include video_fb.h.
21249 * commands/i386/pc/vbetest.c: Include video.h.
21250
a0ca21c2
CW
212512010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
21252
21253 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
21254 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
21255 default entry if GRUB_SAVEDEFAULT=true. This allows using
21256 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
21257 saving a new default on every boot.
21258
4a8a763c
VS
212592010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
21260
21261 * normal/crypto.c (read_crypto_list): Fix a memory leak.
21262 * normal/term.c (read_terminal_list): Likewise.
21263 * normal/main.c (grub_normal_init_page): Likewise.
21264 (grub_normal_read_line_real): Likewise.
21265
607ffde2
VS
212662010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
21267
21268 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
21269 memory leak.
21270 Reported by: Seth Goldberg.
21271
2b8fa975
CW
212722010-02-24 Joey Korkames <joey+lists@kidfixit.com>
21273
21274 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
21275 duplicate declaration of `start'.
21276
618307dd
VS
212772010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
21278
21279 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
21280 filename.
21281 Reported by: Georgy Buranov
21282
7dd05b96 212832010-02-20 Carles Pina i Estany <carles@pina.cat>
21284
21285 * util/grub-mkrawimage.c (usage): Change string formatting to
21286 improve gettext.
21287
d1484a42
MRA
212882010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
21289
21290 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
21291 backspace keys.
21292
42b1d186
VS
212932010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
21294
21295 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
21296 Reported by: Michael Suchanek.
21297
212982010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
21299
21300 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
21301 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
21302
d9f31a41
VS
213032010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
21304
21305 Remove any reference to non-free fonts.
21306
21307 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
21308 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
21309 uses non-free components.
21310 * font/font.c (grub_font_get_name): Remove example name.
21311 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
21312 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
21313 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
21314 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
21315
2793c71e
GB
213162010-02-16 Georgy Buranov <gburanov@gmail.com>
21317
21318 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
21319
402e3779
VS
213202010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
21321
21322 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
21323 Double divisor.
21324 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
21325 features.
21326 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
21327
0dd1e0dd
VS
213282010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
21329
21330 * gensymlist.sh.in: Use TARGET_CC instead of CC.
21331
6fa7cfce
ST
213322010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21333
21334 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
21335 * docs/grub.texi (Command-line and menu entry commands): Document play
21336 command.
21337
37c8483b
ST
213382010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21339
21340 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
21341 parse arguments as inline tempo and notes. Move code for playing notes
21342 to...
21343 (play): ... new function.
21344
14da0fb7
ST
213452010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21346
21347 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
21348 grub_uint16_t instead of short.
21349 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
21350 disk from little endian to cpu endianness.
21351
04459e70
ST
213522010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
21353
21354 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
21355 GRUB_TICKS_PER_SECOND instead of 120.
21356
a0876943
VS
213572010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21358
21359 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
21360 escape sequence after \e.
21361
e29f95dc
VS
213622010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21363
21364 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
21365 non-ASCII characters.
21366
d27859b2
VS
213672010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21368
21369 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
21370 set root in single quotes to prevent \, from being unescaped.
21371
bc028f2f
VS
213722010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21373
21374 Prevent unknown commands from stopping menuentry execution.
21375
21376 * script/execute.c (grub_script_execute_cmdline): Print error after
21377 unknown command.
21378
095f5f82
VS
213792010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21380
21381 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
21382 Reported by: Pavel Pisa.
21383
8c717950
VS
213842010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21385
21386 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
21387
904935c3
VS
213882010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21389
21390 Merge grub_ieee1275_map_physical into grub_map and rename to
21391 grub_ieee1275_map
21392
21393 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
21394 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
21395 Remove.
21396 * kern/ieee1275/openfw.c (grub_map): Rename to ...
21397 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
21398 necessary.
21399 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
21400
5b59a4e3
VS
214012010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21402
21403 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
21404 opening and not after.
21405
69e137e8
VS
214062010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21407
21408 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
21409 constants.
21410
2c0fcc36
VS
214112010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21412
21413 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
21414 (alloc_phys): Use ALIGN_UP instead of align_addr.
21415
8c6052ce
VS
214162010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21417
21418 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
21419
17cec782
VS
214202010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21421
21422 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
21423
e0128bbd
VS
214242010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21425
21426 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
21427 verbose dprintf.
21428
ca62070b
VS
214292010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21430
21431 Fix over-4GiB seek on sparc64.
21432
21433 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
21434 Replace pos_i and pos_lo with pos. All users updated.
21435 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
21436 New constant.
21437 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
21438 Likewise.
21439 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
21440 and pos_lo.
21441
bdca2607
VS
214422010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21443
21444 * util/grub-mkrawimage.c (main): Call set_program_name.
21445
da278c4d
VS
214462010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21447
21448 Properly align 64-bit targets.
21449
21450 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
21451 (generate_image): Use ALIGN_ADDR.
21452
b274d734
VS
214532010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21454
21455 Properly create cross-endian images.
21456
21457 * include/grub/types.h (grub_host_to_target_addr): New macro
21458 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
21459
82da2062
VS
214602010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21461
21462 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
21463
7cae4377
VS
214642010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
21465
21466 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
21467
21468 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
21469 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
21470 (grub_linux_boot): Divide by 64K when on VESA.
21471
65a533e7
VS
214722010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
21473
21474 Support GRUB_GFXPAYLOAD_LINUX.
21475
21476 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
21477 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
21478
dd01d397
VS
214792010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
21480
21481 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
21482 to show messages instead of discarding them.
21483 Process errors after executing command and not before. Keep old method
21484 too as precaution.
21485
660960d6
VS
214862010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
21487
21488 * configure.ac: Check for ft2build.h.
21489
62509f04
VS
214902010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21491
21492 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
21493
473df63d
VS
214942010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21495
21496 * genkernsyms.sh.in: Use TARGET_CC.
21497
c98d2a13
CW
214982010-02-07 Colin Watson <cjwatson@ubuntu.com>
21499
21500 * NEWS: Update.
21501
6e14234c
VS
215022010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21503
21504 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
21505 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
21506 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 21507
b255e9cf
YB
215082010-02-07 Yves Blusseau <blusseau@zetam.org>
21509
6e14234c 21510 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 21511
98e6959d
VS
215122010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21513
21514 Fix warnings in grub-emu when compiling with maximum warning options.
21515
21516 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
21517 (grub_arch_modules_addr): Return 0 and not NULL.
21518 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 21519 (xstrdup): Use newstr instead of dup.
f88d801b
VS
21520 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
21521 of disk to dsk to avoid shadowing.
74e4934e
VS
21522 (find_free_slot): Fix prototype.
21523 * util/getroot.c (grub_util_is_dmraid): Make static.
21524 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
21525 Add missing prototype.
21526 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 21527
74e31b5c
VS
215282010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21529
21530 * loader/i386/linux.c (grub_linux_setup_video): Handle error
21531 appropriately.
21532
6b2ad14b
VS
215332010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21534
21535 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
21536 code out.
21537
8f891adc
VS
215382010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21539
21540 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
21541 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
21542 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
21543 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
21544 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
21545 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
21546
74b45184
VS
215472010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21548
21549 * include/grub/err.h (grub_err_printf): Don't export.
21550
a4bced77
VS
215512010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21552
21553 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
21554
007d0695
VS
215552010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21556
21557 * include/grub/i18n.h (grub_gettext_dummy): Removed.
21558 * kern/misc.c (grub_gettext_dummy): Make static.
21559
b6c0d9c2
VS
215602010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21561
21562 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
21563 by non-valid ones.
21564 * kern/term.c (grub_putchar): Likewise.
21565
f51a90d0
VS
215662010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21567
21568 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
21569 buggy hook call and memory leak.
21570
6846cec5
VS
215712010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21572
21573 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
21574
468d69fe
VS
215752010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21576
21577 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
21578
51906b8c
VS
215792010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21580
21581 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
21582 modevar.
21583 Return grub_errno on allocation error.
21584
09706ce5
VS
215852010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21586
21587 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
21588
911df80c
YB
215892010-02-06 Yves Blusseau <blusseau@zetam.org>
21590
21591 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
21592 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
21593
3746a6bc
VS
215942010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21595
21596 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
21597 non-pxe disk.
21598 (grub_pxefs_open): Likewise.
21599
09706ce5
VS
216002010-02-06 Robert Millan <rmh.grub@aybabtu.com>
21601
21602 * util/grub.d/10_hurd.in: Add --class information to menuentries.
21603 * util/grub.d/10_kfreebsd.in: Likewise.
21604 * util/grub.d/10_linux.in: Likewise.
21605
7cc192d9
VS
216062010-02-06 Colin D Bennett <colin@gibibit.com>
21607
21608 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
21609 (gfxmenu_mod_SOURCES): New variable.
21610 (gfxmenu_mod_CFLAGS): Likewise.
21611 (gfxmenu_mod_LDFLAGS): Likewise.
21612 * include/grub/term.h (grub_term_set_current_output): Declare
21613 argument as const.
21614 * docs/gfxmenu-theme-example.txt: New file.
21615 * gfxmenu/gfxmenu.c: Likewise.
21616 * gfxmenu/gui_box.c: Likewise.
21617 * gfxmenu/gui_canvas.c: Likewise.
21618 * gfxmenu/gui_circular_progress.c: Likewise.
21619 * gfxmenu/gui_image.c: Likewise.
21620 * gfxmenu/gui_label.c: Likewise.
21621 * gfxmenu/gui_list.c: Likewise.
21622 * gfxmenu/gui_progress_bar.c: Likewise.
21623 * gfxmenu/gui_string_util.c: Likewise.
21624 * gfxmenu/gui_util.c: Likewise.
21625 * gfxmenu/icon_manager.c: Likewise.
21626 * gfxmenu/model.c: Likewise.
21627 * gfxmenu/named_colors.c: Likewise.
21628 * gfxmenu/theme_loader.c: Likewise.
21629 * gfxmenu/view.c: Likewise.
21630 * gfxmenu/widget-box.c: Likewise.
21631 * include/grub/gfxmenu_model.h: Likewise.
21632 * include/grub/gfxmenu_view.h: Likewise.
21633 * include/grub/gfxwidgets.h: Likewise.
21634 * include/grub/gui.h: Likewise.
21635 * include/grub/gui_string_util.h: Likewise.
21636 * include/grub/icon_manager.h: Likewise.
21637
216382010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21639
21640 Agglomerate scrolling in gfxterm.
21641
21642 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
21643 (grub_virtual_screen_setup): Initialise 'total_screen'.
21644 (write_char): Split to ...
21645 (paint_char): ... this ...
21646 (write_char): ... and this.
21647 (paint_char): Handle delayed scrolling.
21648 (draw_cursor): Likewise.
21649 (scroll_up): Split to ...
21650 (real_scroll): ... this ...
21651 (scroll_up): ... and this.
21652 (real_scroll): Handle multi-line scroll and draw below-the-bottom
21653 characters.
21654 (grub_gfxterm_refresh): Call real_scroll.
21655
216562010-02-06 Colin D Bennett <colin@gibibit.com>
21657
21658 * include/grub/misc.h (grub_iscntrl): New inline function.
21659 (grub_isalnum): Likewise.
21660 (grub_strtol): Likewise.
21661
216622010-02-06 Colin D Bennett <colin@gibibit.com>
21663
21664 * normal/menu_text.c (get_entry_number): Move from here ...
21665 * normal/menu.c (get_entry_number): ... moved here.
21666 * include/grub/menu.h (grub_menu_get_default_entry_index):
21667 New prototype.
21668 * normal/menu.c (grub_menu_get_default_entry_index): New function.
21669 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
21670 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
21671 (grub_menu_viewer_should_return): Likewise.
21672 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
21673 * normal/menu_text.c (run_menu): Enable menu switching.
21674 * normal/menu_viewer.c (should_return): New variable.
21675 (menu_viewer_changed): Likewise.
21676 (grub_menu_viewer_show_menu): Handle menu viewer changes.
21677 (grub_menu_viewer_should_return): New function.
21678 (menuviewer_write_hook): Likewise.
21679 (grub_menu_viewer_init): Likewise.
21680
216812010-02-06 Colin D Bennet <colin@gibibit.com>
216822010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21683
21684 Support for gfxterm in a window.
21685
21686 * include/grub/gfxterm.h: New file.
21687 * include/grub/video.h (struct grub_video_rect): New declaration.
21688 (grub_video_rect_t): Likewise.
21689 * term/gfxterm.c (struct grub_gfxterm_window): New type.
21690 (refcount): New variable.
21691 (render_target): Likewise.
21692 (window): Likewise.
21693 (repaint_callback): Likewise.
21694 (grub_virtual_screen_setup): Use 'render_target'.
21695 (init_window): New function.
21696 (grub_gfxterm_init_window): Likewise.
21697 (grub_gfxterm_init): Check reference counter.
21698 Use init_window.
21699 (destroy_window): New function.
21700 (grub_gfxterm_destroy_window): Likewise.
21701 (grub_gfxterm_fini): Check reference counter.
21702 Use destroy_window.
21703 (redraw_screen_rect): Restore viewport.
21704 Use 'render_target' and 'window'.
21705 Call 'repaint_callback'.
21706 (write_char): Use 'render_target'.
21707 (draw_cursor): Likewise.
21708 (scroll_up): Restore viewport.
21709 Use 'render_target' and 'window'.
21710 Call 'repaint_callback'.
21711 (grub_gfxterm_cls): Likewise.
21712 (grub_gfxterm_refresh): Use 'window'.
21713 (grub_gfxterm_set_repaint_callback): New function.
21714 (grub_gfxterm_background_image_cmd): Use 'window'.
21715 (grub_gfxterm_get_term): New function.
21716 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
21717
217182010-02-06 Colin D Bennett <colin@gibibit.com>
21719
21720 Bitmap scaling support.
21721
21722 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
21723 (bitmap_scale_mod_SOURCES): New variable.
21724 (bitmap_scale_mod_CFLAGS): Likewise.
21725 (bitmap_scale_mod_LDFLAGS): Likewise.
21726 * include/grub/bitmap_scale.h: New file.
21727 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
21728 (background_image_cmd_options): New variable.
21729 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
21730 (cmd): Rename and change type to ...
21731 (background_image_cmd_handle): ... this. All users updated.
21732 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
21733 * video/bitmap_scale.c: New file.
21734
217352010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21736
21737 SDL support.
21738
21739 * Makefile.in (LIBSDL): New variable.
21740 (enable_grub_emu_sdl): Likewise.
21741 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
21742 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
21743 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
21744 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
21745 * util/sdl.c: New file.
21746
217472010-02-06 Colin D Bennett <colin@gibibit.com>
217482010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21749
21750 Double buffering support.
21751
21752 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
21753 * include/grub/video.h: Update comment.
21754 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
21755 New type.
21756 (grub_video_fb_doublebuf_blit_init): New prototype.
21757 * term/gfxterm.c (scroll_up): Support double buffering.
21758 (grub_gfxterm_refresh): Likewise.
21759 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
21760 (grub_video_fb_doublebuf_blit_init): Likewise.
21761 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
21762 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
21763 'displayed_page', 'render_page' and 'update_screen'.
21764 (grub_video_vbe_fini): Free offscreen buffer.
21765 (doublebuf_pageflipping_commit): New function.
21766 (doublebuf_pageflipping_update_screen): Likewise.
21767 (doublebuf_pageflipping_init): Likewise.
21768 (double_buffering_init): Likewise.
21769 (grub_video_vbe_setup): Enable doublebuffering.
21770 (grub_video_vbe_swap_buffers): Implement.
21771 (grub_video_vbe_set_active_render_target): Handle double buffering.
21772 (grub_video_vbe_get_active_render_target): Likewise.
21773 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
21774 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
21775 (grub_video_vbe_enable_double_buffering): Likewise.
21776 (grub_video_vbe_swap_buffers): Use update_screen.
21777 (grub_video_set_mode): Use double buffering.
21778
217792010-02-06 Robert Millan <rmh.grub@aybabtu.com>
21780
21781 * maintainance/gentrigtables.py: Remove.
21782 * lib/trig.c: Likewise.
21783
21784 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
21785
21786 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
21787 `trigtables.c'.
21788 (trigtables.c): New rule.
21789 (gentrigtables): Likewise.
21790 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
21791
217922010-02-06 Robert Millan <rmh.grub@aybabtu.com>
21793
21794 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
21795 integer constants.
21796
217972010-02-06 Colin D Bennet <colin@gibibit.com>
21798
21799 Trigonometry support.
21800
21801 * include/grub/trig.h: New file.
21802 * lib/trig.c: Likewise.
21803 * maintainance/gentrigtables.py: Likewise.
21804 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
21805 (trig_mod_SOURCES): New variable.
21806 (trig_mod_CFLAGS): Likewise.
21807 (trig_mod_LDFLAGS): Likewise.
21808
5562834e
VS
218092010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21810
21811 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
21812 disk devices.
21813
4f8528fc
VS
218142010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21815
21816 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
21817 error.
21818
2b4068e9
VS
218192010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
21820
21821 * util/hostdisk.c (open_device): Don't use partition device when reading
21822 before the partition.
21823 (grub_util_biosdisk_read): Don't read from partition and before the
21824 partition in single operation.
21825 (grub_util_biosdisk_write): Don't write to partition and before the
21826 partition in single operation.
21827
399f6e4d
TL
218282010-02-03 Torsten Landschoff <torsten@debian.org>
21829
21830 * kern/disk.c (grub_disk_read): Fix offset computation when reading
21831 last sectors.
21832
996649b0
VS
218332010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
21834
21835 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
21836 CDROM reads.
21837 (grub_biosdisk_write): Refuse to write to CDROM.
21838
3b205d4d
VS
218392010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
21840
21841 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
21842
61e89d9d
VS
218432010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
21844
21845 * font/font.c (find_glyph): Check that bmp_idx is available before
21846 using it.
21847 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
21848 with (font == NULL).
21849
bf7fcba2
CS
218502010-01-28 Christian Schmitt <chris@ilovelinux.de>
21851
21852 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
21853
f45d2663
BC
218542010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
21855
21856 * include/grub/script_sh.h (sourcecode): Add const qualifier.
21857 * util/grub-script-check.c (getline): Fix empty lines case.
21858
ec1444e6
RM
218592010-01-28 Robert Millan <rmh.grub@aybabtu.com>
21860
21861 * Makefile.in (check): Exit with fail status when one of the tests
21862 fails.
21863 * tests/example_functional_test.c (example_test): Fix reversed assert.
21864 * tests/example_unit_test.c (example_test): Likewise.
21865
2e1cb9bb
CW
218662010-01-28 Colin Watson <cjwatson@ubuntu.com>
21867
21868 * util/grub.d/10_linux.in: This script does not use any of the
21869 contents of gettext.sh, only the external command `gettext', so stop
21870 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
21871 the same prefix as GRUB.)
21872 * util/grub.d/10_kfreebsd.in: Likewise.
21873
63533ab0
VS
218742010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
21875
21876 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
21877 of the line.
21878
989e1f93
VS
218792010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
21880
21881 * kern/disk.c (grub_disk_read): Fix offset computation when reading
21882 last sectors.
21883
e709ebe2
VS
218842010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
21885
21886 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
21887 having a 4KiB and not 32KiB buffer size.
21888
27dea7ed
RM
218892010-01-27 Robert Millan <rmh.grub@aybabtu.com>
21890
21891 * util/hostfs.c: Include `<errno.h>'.
21892 (grub_hostfs_read): Handle errors from fseeko() and fread().
21893
67667b9c
RM
218942010-01-27 Robert Millan <rmh.grub@aybabtu.com>
21895
21896 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
21897 loop when using read hooks on files whose size isn't sector-aligned.
21898
c294d9d8
RM
218992010-01-27 Robert Millan <rmh.grub@aybabtu.com>
21900
21901 Remove unused parameter.
21902
21903 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
21904 (grub_iso9660_open): Remove initialization of `data->length'.
21905
af75a9f1
RM
219062010-01-27 Robert Millan <rmh.grub@aybabtu.com>
21907
21908 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
21909 memleak conditions.
21910
254e2ce5 219112010-01-27 Carles Pina i Estany <carles@pina.cat>
21912
21913 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
21914 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
21915
b510928c 219162010-01-26 Carles Pina i Estany <carles@pina.cat>
21917
21918 * util/bin2h.c (usage): Fix warning (space after backslash).
21919
aa2f9dd2 219202010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 21921
21922 * font/font.c: Include `grub/fontformat.h.
21923 Remove font file format constants.
21924 (grub_font_load): Use the new macros.
21925 * include/grub/fontformat.h: New file.
21926 * util/grub-mkfont.c: Include `grub/fontformat.c'.
21927 (write_font_pf2): Use the new macros.
21928
94e7e712
RM
219292010-01-26 Robert Millan <rmh.grub@aybabtu.com>
21930
21931 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
21932 does.
21933
3973a59a
RM
219342010-01-26 Robert Millan <rmh.grub@aybabtu.com>
21935
21936 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
21937
21938 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
21939 (_start): Macroify `0x7F'.
21940
21941 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
21942 (make_install_device): Use "(pxe)" as fallback prefix when booting
21943 via PXE.
21944
42e0cba3
GS
219452010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
21946
21947 * configure.ac: Reset LIBS after check for libgcc symbols.
21948
847effd8
CW
219492010-01-25 Colin Watson <cjwatson@ubuntu.com>
21950
21951 * util/hostdisk.c (open_device): Add trailing newline to debug
21952 message.
21953
ea4a7e35
GS
219542010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
21955
21956 * configure.ac: Check for `limits.h'.
21957 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
21958
67951a53
RM
219592010-01-24 Robert Millan <rmh.grub@aybabtu.com>
21960
21961 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
21962 capitalize error strings.
21963
c273d4ce
ST
219642010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
21965
21966 * util/grub.d/10_hurd.in: Add a recovery mode.
21967
69be5b74
VS
219682010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
21969
21970 * configure.ac: Check for libgcc symbols with -nostdlib.
21971
fc9e5810
BC
219722010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
21973
21974 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
21975
4b358c0a
VS
219762010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21977
21978 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
21979 stack since heap may be unavailable at that point.
21980 (grub_ofconsole_gotoxy): Likewise.
21981
454fcd1c
VS
219822010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21983
21984 * configure.ac: Check for _restgpr_14_x.
21985 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
21986 and _savegpr_* prototypes.
21987
566863ca
RM
219882010-01-22 Robert Millan <rmh.grub@aybabtu.com>
21989
21990 Use generic grub_reboot() for i386-efi.
21991
21992 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
21993 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
21994 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
21995
bf86e59a
VS
219962010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21997
21998 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
21999 presence of "prefix" variable as it breaks when normal.mod is
22000 embedded.
22001
d645e0f8
VS
220022010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22003
22004 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
22005 stack since heap is unavailable at that point.
22006
f9ab2e25
VS
220072010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22008
22009 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
22010 (grub_freebsd_bootinfo): Rewritten.
22011 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
22012
01fc7054
VS
220132010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22014
22015 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
22016
caab4fd6
RM
220172010-01-21 Robert Millan <rmh.grub@aybabtu.com>
22018
22019 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
22020 domain now.
22021
67eb1427
FZ
220222010-01-20 Felix Zielcke <fzielcke@z-51.de>
22023
22024 * util/misc.c (make_system_path_relative_to_its_root): Change the work
22025 around for handling "/" to the correct fix. Fix a memory leak. Use
22026 xstrdup instead of strdup.
22027
a9ed4ff3
VS
220282010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22029
22030 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
22031
220322010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
22033
22034 Optimise glyph lookup by Basic Multilingual Plane lookup array.
22035
22036 * font/font.c (struct grub_font): New member 'bmp_idx'.
22037 (font_init): Initialise 'bmp_idx'.
22038 (load_font_index): Fill 'bmp_idx'.
22039 (find_glyph): Make inline. Use bmp_idx for BMP characters.
22040
48209f4f
VS
220412010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22042
22043 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
22044 unnecessary calls.
22045
9f0a4bb7
VS
220462010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22047
22048 Move context handling out of the kernel.
22049
22050 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
22051 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
22052 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
22053 * conf/i386-efi.rmk: Likewise.
22054 * conf/i386-ieee1275.rmk: Likewise.
22055 * conf/i386-pc.rmk: Likewise.
22056 * conf/powerpc-ieee1275.rmk: Likewise.
22057 * conf/sparc64-ieee1275.rmk: Likewise.
22058 * conf/x86_64-efi.rmk: Likewise.
22059 * include/grub/env.h: Include grub/menu.h.
22060 (grub_env_var_type): Removed.
22061 (grub_env_var): Replaced field 'type' with 'global'.
22062 (grub_env_find): New prototype.
22063 (grub_env_context_open): Remove EXPORT_FUNC.
22064 (grub_env_context_close): Likewise.
22065 (grub_env_export): Likewise.
22066 (grub_env_set_data_slot): Removed.
22067 (grub_env_get_data_slot): Likewise.
22068 (grub_env_unset_data_slot): Likewise.
22069 (grub_env_unset_menu): New prototype.
22070 (grub_env_set_menu): Likewise.
22071 (grub_env_get_menu): Likewise.
22072 * include/grub/env_private.h: New file.
22073 * include/grub/normal.h (grub_context_init): New prototype.
22074 (grub_context_fini): Likewise.
22075 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
22076 * normal/context.c (grub_cmd_export): ... to here.
22077 * kern/env.c: Include env_private.h.
22078 (HASHSZ): Moved to include/grub/env_private.h.
22079 (grub_env_context): Likewise.
22080 (grub_env_sorted_var): Likewise.
22081 (current_context): Renamed from this ...
22082 (grub_current_context): ...to this. 'static' removed. All users updated.
22083 (grub_env_find): Removed 'static'.
22084 (grub_env_context_open): Moved to normal/context.c.
22085 (grub_env_context_close): Likewise.
22086 (grub_env_export): Likewise.
22087 (mangle_data_slot_name): Removed.
22088 (grub_env_set_data_slot): Likewise.
22089 (grub_env_get_data_slot): Likewise.
22090 (grub_env_unset_data_slot): Likewise.
22091 * kern/main.c (grub_set_root_dev): Don't export root.
22092 It will be done later.
22093 (grub_main): Don't export prefix.
22094 It will be done later.
22095 * normal/context.c: New file.
22096 * normal/main.c (free_menu): Use grub_env_unset_menu.
22097 (grub_normal_add_menu_entry): Use grub_env_get_menu.
22098 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
22099 (GRUB_MOD_INIT(normal)): Call grub_context_init.
22100 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
22101
8dd35b8c
VS
221022010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22103
22104 setpci support.
22105
22106 * commands/setpci.c: New file.
22107 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
22108 (setpci_mod_SOURCES): New variable.
22109 (setpci_mod_CFLAGS): Likewise.
22110 (setpci_mod_LDFLAGS): Likewise.
22111
449193d5
VS
221122010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22113
22114 Byte-addressable PCI configuration space.
22115
22116 * bus/pci.c (grub_pci_make_address): Use byte address instead of
22117 dword address.
22118 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
22119 GRUB_PCI_REG_CACHELINE.
22120 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
22121 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
22122 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
22123 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
22124 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
22125 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
22126 grub_pci_make_address.
22127 (lock_rom_area): Likewise.
22128 * commands/lspci.c (grub_lspci_iter): Use macroses
22129 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
22130 of grub_pci_make_address.
22131 * disk/ata.c (grub_ata_pciinit): Likewise.
22132 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
22133 (GRUB_PCI_REG_VENDOR): Likewise.
22134 (GRUB_PCI_REG_DEVICE): Likewise.
22135 (GRUB_PCI_REG_COMMAND): Likewise.
22136 (GRUB_PCI_REG_STATUS): Likewise.
22137 (GRUB_PCI_REG_REVISION): Likewise.
22138 (GRUB_PCI_REG_CLASS): Likewise.
22139 (GRUB_PCI_REG_CACHELINE): Likewise.
22140 (GRUB_PCI_REG_LAT_TIMER): Likewise.
22141 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
22142 (GRUB_PCI_REG_BIST): Likewise.
22143 (GRUB_PCI_REG_ADDRESSES): Likewise.
22144 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22145 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22146 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22147 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22148 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22149 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22150 (GRUB_PCI_REG_CIS_POINTER): Likewise.
22151 (GRUB_PCI_REG_SUBVENDOR): Likewise.
22152 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
22153 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
22154 (GRUB_PCI_REG_CAP_POINTER): Likewise.
22155 (GRUB_PCI_REG_IRQ_LINE): Likewise.
22156 (GRUB_PCI_REG_IRQ_PIN): Likewise.
22157 (GRUB_PCI_REG_MIN_GNT): Likewise.
22158 (GRUB_PCI_REG_MAX_LAT): Likewise.
22159 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
22160 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
22161 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 22162 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
22163 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
22164 space.
22165
96d73208
RM
221662010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22167
22168 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
22169 can be reliably determined to be supported.
22170
d4484482
RM
221712010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22172
22173 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
22174 that VESA is supported.
22175 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
22176 supported.
22177
00308ecf
VS
221782010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22179
22180 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
22181
f66924a4
RM
221822010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22183
22184 * util/misc.c (make_system_path_relative_to_its_root): Work around
22185 special-casing of "/", as previous incarnation of this routine did.
22186
cbca0ada
VS
221872010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22188
22189 Fix any-emu compilation.
22190
22191 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
22192 * grub_bin2h_SOURCES: New variable.
22193
34a66d99
RM
221942010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22195
22196 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
22197
94fabf58
RM
221982010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22199
22200 * util/grub.d/00_header.in: Fix handling of locale_dir.
22201
02cf98ca
VS
222022010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22203
22204 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
22205 as possible unifont location (Gentoo).
22206 Reported by: Alexander Brüning
22207
327dbcd7
VS
222082010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22209
22210 Don't try to generate lists for kernel.img.
22211
22212 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
22213 (pkglib_MODULES): Remove kernel.img.
22214 (kernel_img_EXPORTS): Removed.
22215 (kernel_img_RELOCATABLE): New variable.
22216 * conf/x86_64-efi.rmk: Likewise.
22217 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
22218
ca467290
VS
222192010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22220
22221 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
22222 grub_xasprintf or grub_snprintf.
22223 (grub_vsprintf): Likewise.
22224 (grub_snprintf): New proto.
22225 (grub_vsnprintf): Likewise.
22226 (grub_xasprintf): Likewise.
22227 (grub_xvasprintf): Likewise.
22228 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
22229 (grub_sprintf): Removed.
22230 (grub_vsnprintf): New function.
22231 (grub_snprintf): Likewise.
22232 (grub_xvasprintf): Likewise.
22233 (grub_xasprintf): Likewise.
22234 (grub_vsprintf): Renamed to ...
22235 (grub_vsnprintf_real): ...this. New argument max_len.
22236
aca655fd
BC
222372010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
22238
22239 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
22240 fix grub-script-check warning.
22241
7ee92c32
VS
222422010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22243
22244 * include/grub/font.h (grub_font_load): Fix prototype.
22245
f80927ca
VS
222462010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22247
22248 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
22249
119c50ea
VS
222502010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22251
22252 * include/grub/x86_64/at_keyboard.h: New file.
22253
47d5f3c1
VS
222542010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22255
22256 * loader/mips/linux.c: Include missing grub/i18n.h.
22257
55ff5266
RM
222582009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22259
22260 * normal/menu.c (notify_execution_failure): Clarify error message.
22261
c893cc87
RM
222622009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22263
22264 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
22265 return value (and revert all return statements). Update users.
22266
917dd370
CW
222672010-01-20 Dan Merillat <debian@dan.merillat.org>
22268
22269 * kern/device.c (grub_device_iterate): Allocate new part_ent
22270 structure based on sizeof (*p) rather than sizeof (p->next), to
22271 account for structure padding.
22272
22273 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
22274 disk is NULL, which might happen for LVM physical volumes with no
22275 LVM signature.
22276
d4a4ee57
RM
222772009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22278
22279 * loader/mips/linux.c (grub_cmd_initrd)
22280 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
22281
222822009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22283
22284 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
22285 (grub_video_video_init, grub_video_bitmap_init)
22286 (grub_font_manager_init, grub_term_gfxterm_init)
22287 (grub_at_keyboard_init): New extern declarations.
22288 (grub_machine_init): Initialize gfxterm and at_keyboard.
22289
22290 * kern/main.c (grub_main): Revert grub_printf delay kludge.
22291
22292 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
22293 `gfxterm.mod' into core image.
22294
22295 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22296 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22297 (kernel_img_FORMAT): Copy to ...
22298
22299 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22300 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22301 (kernel_img_FORMAT): ... here, and ...
22302
22303 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22304 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22305 (kernel_img_FORMAT): ... here.
22306
22307 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
22308 and input (at_keyboard) terminals in kernel.
22309 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
22310
22311 (pkglib_MODULES): Remove `pci.mod'.
22312 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
22313 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
22314 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
22315 (at_keyboard_mod_LDFLAGS): Remove variables.
22316
223172010-01-11 Felix Zielcke <fzielcke@z-51.de>
22318
22319 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
22320
223212009-12-10 Robert Millan <rmh.grub@aybabtu.com>
22322
22323 * include/grub/mips/libgcc.h: Only export symbols for functions
22324 that libgcc provides.
22325
223262009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
22327
22328 MIPS support.
22329
22330 * bus/bonito.c: New file.
22331 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
22332 GRUB_PCI_NUM_DEVICES.
22333 * term/i386/pc/serial.c: Move to ...
22334 * term/serial.c: ... here. All users updated.
22335 * util/i386/pc/grub-mkimage.c: Move to ...
22336 * util/grub-mkrawimage.c: ... here. All users updated.
22337 * term/i386/pc/at_keyboard.c: Move to ...
22338 * term/at_keyboard.c: ... here. All users updated.
22339 * conf/mips-qemu-mips.rmk: New file.
22340 * conf/mips-yeeloong.rmk: Likewise.
22341 * conf/mips.rmk: Likewise.
22342 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
22343 mipsel-qemu-mips.
22344 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
22345 to port addresses.
22346 (grub_ata_pciinit): Support CS5536.
22347 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
22348 * font/font_cmd.c (loadfont_command): Open file before passing it to
22349 grub_font_load.
22350 (pseudo_file_read): New function.
22351 (pseudo_file_close): Likewise.
22352 (pseudo_fs): New structure.
22353 (load_font_module): New function.
22354 (GRUB_MOD_INIT(font_manager)): Load embedded font.
22355 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
22356 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
22357 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
22358 * include/grub/i386/at_keyboard.h: Split into ...
22359 * include/grub/at_keyboard.h: ... this ...
22360 * include/grub/i386/at_keyboard.h: ... and this.
22361 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
22362 New prototype.
22363 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
22364 updated.
22365 (grub_elf64_size): Likewise.
22366 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
22367 filename.
22368 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
22369 * include/grub/i386/coreboot/serial.h: Rewritten.
22370 * include/grub/i386/ieee1275/serial.h: Include
22371 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
22372 * include/grub/i386/pc/serial.h: Moved from here ...
22373 * include/grub/serial.h: ... to here. All users updated.
22374 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
22375 (GRUB_PCI_NUM_BUS): Likewise.
22376 (GRUB_PCI_NUM_DEVICES): Likewise.
22377 (grub_pci_device_map_range): Add missing volatile keyword.
22378 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
22379 * include/grub/mips/at_keyboard.h: New file.
22380 * include/grub/mips/cache.h: Likewise.
22381 * include/grub/mips/io.h: Likewise.
22382 * include/grub/mips/kernel.h: Likewise.
22383 * include/grub/mips/libgcc.h: Likewise.
22384 * include/grub/mips/pci.h: Likewise.
22385 * include/grub/mips/qemu-mips/boot.h: Likewise.
22386 * include/grub/mips/qemu-mips/kernel.h: Likewise.
22387 * include/grub/mips/qemu-mips/loader.h: Likewise.
22388 * include/grub/mips/qemu-mips/memory.h: Likewise.
22389 * include/grub/mips/qemu-mips/serial.h: Likewise.
22390 * include/grub/mips/qemu-mips/time.h: Likewise.
22391 * include/grub/mips/relocator.h: Likewise.
22392 * include/grub/mips/time.h: Likewise.
22393 * include/grub/mips/types.h: Likewise.
22394 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
22395 * include/grub/mips/yeeloong/boot.h: Likewise.
22396 * include/grub/mips/yeeloong/kernel.h: Likewise.
22397 * include/grub/mips/yeeloong/loader.h: Likewise.
22398 * include/grub/mips/yeeloong/memory.h: Likewise.
22399 * include/grub/mips/yeeloong/pci.h: Likewise.
22400 * include/grub/mips/yeeloong/serial.h: Likewise.
22401 * include/grub/mips/yeeloong/time.h: Likewise.
22402 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
22403 * kern/elf.c (grub_elf32_size): New parameter. All users
22404 updated.
22405 (grub_elf64_size): Likewise.
22406 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
22407 Load modules before saying "Welcome to GRUB!".
22408 Call grub_refresh after saying "Welcome to GRUB!".
22409 * kern/mips/cache.S: New file.
22410 * kern/mips/cache_flush.S: Likewise.
22411 * kern/mips/dl.c: Likewise.
22412 * kern/mips/init.c: Likewise.
22413 * kern/mips/qemu-mips/init.c: Likewise.
22414 * kern/mips/startup.S: Likewise.
22415 * kern/mips/yeeloong/init.c: Likewise.
22416 * kern/term.c (grub_putcode): Handle NULL terminal.
22417 (grub_getcharwidth): Likewise.
22418 (grub_getkey): Likewise.
22419 (grub_checkkey): Likewise.
22420 (grub_getkeystatus): Likewise.
22421 (grub_getxy): Likewise.
22422 (grub_getwh): Likewise.
22423 (grub_gotoxy): Likewise.
22424 (grub_cls): Likewise.
22425 (grub_setcolorstate): Likewise.
22426 (grub_setcolor): Likewise.
22427 (grub_getcolor): Likewise.
22428 (grub_refresh): Likewise.
22429 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
22430 (write_jump): Add hatch nop.
22431 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
22432 * lib/mips/setjmp.S: New file.
22433 * loader/mips/linux.c: Likewise.
22434 * term/i386/pc/at_keyboard.c: Move from here ...
22435 * term/at_keyboard.c: ... to here.
22436 * term/i386/pc/serial.c: Moved from here ...
22437 * term/serial.c: ... to here. All users updated.
22438 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
22439 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
22440 (serial_translate_key_sequence): Avoid deadlock.
22441 (grub_serial_getkey): Handle backspace.
22442 (grub_serial_putchar): Fix newline handling.
22443 * util/i386/pc/grub-mkimage.c: Move from here ...
22444 * util/grub-mkrawimage.c: ... to here. All users updated.
22445 (generate_image): New parameters 'font_path' and 'format'.
22446 Support embedding font.
22447 Use grub_host_to_target* instead of grub_cpu_to_le*.
22448 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
22449 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
22450 (options): New option "--font".
22451 (usage): Likewise.
22452 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
22453 (main): Handle "--font".
22454 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
22455 (grub_virtual_screen_setup): Set bg_color_display.
22456 (redraw_screen_rect): Use bg_color_display instead of incorrect
22457 bg_color.
22458 (grub_gfxterm_cls): Likewise.
22459 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
22460 Support embedding config file.
22461 (add_segments): Likewise.
22462 (options): New option "--config".
22463 (main): Handle "--config".
22464 * video/sm712.c: New file.
22465
25c2b5b3
RM
224662010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22467
22468 Fix parallel builds.
22469
22470 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
22471 font.c depend on ascii.h).
22472
224732010-01-12 Carles Pina i Estany <carles@pina.cat>
22474
22475 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
22476
224772010-01-11 Carles Pina i Estany <carles@pina.cat>
22478
22479 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
22480 By default: disabled.
22481 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
22482 parameter.
22483
224842010-01-10 Carles Pina i Estany <carles@pina.cat>
22485
22486 * font/font.c: Update copyright years.
22487 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
22488
224892010-01-10 Carles Pina i Estany <carles@pina.cat>
22490
22491 * font/font.c: Include `ascii.h'.
22492 (ASCII_BITMAP_SIZE): New macro.
22493 (ascii_font_glyph): Define.
22494 (ascii_glyph_lookup): New function.
22495 (grub_font_get_string_width): Change comment. If glyph not found, use
22496 ascii_glyph_lookup.
22497 (grub_font_get_glyph_with_fallback): If glyph not available returns
22498 ascii_glyph_lookup.
22499 * util/grub-mkfont.c (file_formats): New enum.
22500 (options): Add `ascii-bitmaps' new option.
22501 (usage): Add `asii-bitmaps' new option.
22502 (write_font_ascii_bitmap): New function.
22503 (write_font): Rename to ...
22504 (write_font_p2): ... this. Remove print_glyphs call.
22505 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
22506 used. Call print_glyphs.
22507 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
22508
225092010-01-14 Robert Millan <rmh.grub@aybabtu.com>
22510
22511 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
22512 (grub_bin2h_SOURCES): New variable.
22513 * util/bin2h.c: New file.
22514
915fc1b8
VS
225152010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22516
22517 * include/multiboot.h: Resynced with spec.
22518 * include/multiboot2.h: Likewise.
22519 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
22520 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
22521
9444b678
RM
225222010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22523
22524 * include/grub/term.h (grub_term_register_input,
22525 grub_term_register_output): Check return of terminal init()
22526 routines, and abort if errors are raised.
22527
22528 * commands/terminal.c: Update copyright year.
22529
cba98e8d
RM
225302010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22531
22532 * commands/terminal.c (grub_cmd_terminal_input)
22533 (grub_cmd_terminal_output): Check return of terminal init()
22534 routines, and abort if errors are raised.
22535
6f7db5d6
VS
225362010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
22537
22538 * include/grub/i386/bsd.h: Fix include pathes.
22539
262bff8d
VS
225402010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
22541
22542 Add missing *BSD copyright headers.
22543
22544 * include/grub/aout.h: Add BSD licence.
22545 * include/grub/i386/bsd.h: Parts under different licences moved to ...
22546 * include/grub/i386/freebsd_linker.h: ... here,
22547 * include/grub/i386/freebsd_reboot.h: ... here,
22548 * include/grub/i386/netbsd_bootinfo.h: ... here,
22549 * include/grub/i386/netbsd_reboot.h: ... here,
22550 * include/grub/i386/openbsd_bootarg.h: ... here,
22551 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
22552 licence to each file.
22553
b2cab848
RM
225542010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22555
22556 * acinclude.m4: Remove `nop' assembly instruction; it's not
22557 implemented by all architectures.
22558
2cb6be4b
RM
225592010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22560
22561 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
22562 ELILO. This is no longer necessary.
22563
a2eaee15
BC
225642010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
22565
22566 Added new tool, grub-scrit-check to verify grub.cfg syntax.
22567
22568 * util/grub-script-check.c: grub-script-check tool.
22569 * conf/common.rmk: Make rules for grub-script-check.
22570
88d17012
RM
225712010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22572
22573 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
22574 spotting it back in 2008. Shame on me for forgetting he did.
22575
22576 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
22577
8040619d
RM
225782010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22579
22580 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
22581 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
22582 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
22583 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
22584 (GRUB_VIDEO_TYPE_EFI): Rename to ...
22585 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
22586
a0c2a0f6
RM
225872010-01-17 Robert Millan <rmh.grub@aybabtu.com>
22588
22589 * include/grub/test.h: Add license header.
22590 * tests/example_functional_test.c: Likewise.
22591 * tests/example_unit_test.c: Likewise.
22592 * tests/lib/functional_test.c: Likewise.
22593 * tests/lib/test.c: Likewise.
22594 * tests/lib/unit_test.c: Likewise.
22595
b0b13907
VS
225962010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
22597
22598 Use flag-based instead of hook-based video mode selection and "auto"
22599 keyword.
22600
22601 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
22602 (grub_video_set_mode): Changed prototype. All users updated.
22603 (grub_video_check_mode_flag): New inline function.
22604 * video/video.c (parse_modespec): New function.
22605 (grub_video_set_mode): Parse flags and keywords.
22606
ea379330 226072010-01-17 Carles Pina i Estany <carles@pina.cat>
22608
22609 * util/misc.c (grub_util_info): Fix the order of the parameters in a
22610 fprintf call.
22611
e15c215e
FZ
226122010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
22613
22614 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
22615
409ae1c9 226162010-01-16 Carles Pina i Estany <carles@pina.cat>
22617
22618 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
22619 string.
22620 * util/grub-emu.c (usage): Likewise.
22621 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
22622 * util/i386/efi/grub-mkimage.c (usage): Likewise.
22623 * util/i386/pc/grub-mkimage.c (usage): Likewise.
22624 * util/i386/pc/grub-setup.c (usage): Likewise.
22625
70a14d3d 226262010-01-16 Carles Pina i Estany <carles@pina.cat>
22627
22628 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
22629 the message.
22630 (grub_util_info): Likewise.
22631 (grub_util_error): Likewise.
22632 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
22633 and/or new lines in `grub_util_warna', `grub_util_info',
22634 `grub_util_error' calls.
22635 * util/getroot.c: Likewise.
22636 * util/grub-editenv.c: Likewise.
22637 * util/grub-emu.c: Likewise.
22638 * util/grub-fstest.c: Likewise.
22639 * util/grub-mkdevicemap.c: Likewise.
22640 * util/grub-mkfont.c: Likewise.
22641 * util/grub-mkpasswd-pbkdf2.c: Likewise.
22642 * util/grub-mkrelpath.c: Likewise.
22643 * util/grub-pe2elf.c: Likewise.
22644 * util/grub-probe.c: Likewise.
22645 * util/hostdisk.c: Likewise.
22646 * util/i386/efi/grub-mkimage.c: Likewise.
22647 * util/i386/pc/grub-mkimage.c: Likewise.
22648 * util/i386/pc/grub-setup.c: Likewise.
22649 * util/ieee1275/ofpath.c: Likewise.
22650 * util/mkisofs/eltorito.c: Likewise.
22651 * util/mkisofs/rock.c: Likewise.
22652 * util/mkisofs/write.c: Likewise.
22653 * util/raid.c: Likewise.
22654 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
22655 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22656
a0b766fc
VS
226572010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
22658
22659 Enable multiboot on non-pc.
22660
22661 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
22662 multiboot.mod and multiboot2.mod to ...
22663 * conf/i386.rmk (pkglib_MODULES): ... here.
22664 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
22665 Moved to ...
22666 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
22667 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
22668 Moved to ...
22669 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
22670 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
22671 Moved to ...
22672 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
22673 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
22674 Moved to ...
22675 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
22676 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
22677 relocator.mod.
22678 (ata_mod_SOURCES): Removed.
22679 (ata_mod_CFLAGS): Likewise.
22680 (ata_mod_LDFLAGS): Likewise.
22681 (relocator_mod_SOURCES): Removed.
22682 (relocator_mod_CFLAGS): Likewise.
22683 (relocator_mod_ASFLAGS): Likewise.
22684 (relocator_mod_LDFLAGS): Likewise.
22685 Include i386.mk.
22686 * include/grub/x86_64/multiboot.h: New file.
22687 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
22688 Terminate EFI.
22689
884ade56
VS
226902010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
22691
22692 Video multiboot support.
22693
22694 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
22695 New prototype.
22696 * include/multiboot.h: Resynced with multiboot specification.
22697 * include/multiboot2.h: Likewise.
22698 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
22699 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
22700 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
22701 (HAS_VGA_TEXT): Likewise.
22702 (accepts_video): New variable.
22703 (grub_multiboot_set_accepts_video): New function.
22704 (grub_multiboot_get_mbi_size): Account for video structures.
22705 (set_video_mode): New function.
22706 (retrieve_video_parameters): Likewise.
22707 (grub_multiboot_make_mbi): Fill video fields.
22708
0d90e8a6
VS
227092010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
22710
22711 Video driver ids.
22712
22713 * include/grub/video.h (grub_video_driver_id): New type.
22714 (grub_video_adapter): New member 'id'. All users updated.
22715 (grub_video_get_driver_id): New proto.
22716 * video/video.c (grub_video_get_driver_id): New function.
22717
5c71db1b 227182010-01-14 Carles Pina i Estany <carles@pina.cat>
22719
22720 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
22721 `var=val'.
22722
cca15b52 227232010-01-14 Carles Pina i Estany <carles@pina.cat>
22724
22725 * normal/cmdline.c (print_completion): Gettextizze.
22726
c586fbb2 227272001-01-14 Carles Pina i Estany <carles@pina.cat>
22728
22729 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
22730
ba2f6848 227312010-01-14 Carles Pina i Estany <carles@pina.cat>
22732
22733 * gettext/gettext.c (grub_gettext_translate): Push and pop
22734 grub_errno.
22735 (grub_gettext_delete_list): Change comment style.
22736 * kern/err.c (grub_error): Gettextizze.
22737 (grub_fatal): Gettextizze.
22738
0a46429a
RM
227392010-01-14 Robert Millan <rmh.grub@aybabtu.com>
22740
22741 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
22742 (grub_linux16_real_boot): ... this.
22743 * kern/i386/loader.S: Likewise.
22744 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
22745 (grub_linux16_boot): New function. Switches to text mode and calls
22746 grub_linux16_real_boot().
22747
22748 * loader/i386/bsd.c: Include `<grub/video.h>'.
22749 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
22750 text mode before calling grub_unix_real_boot().
22751
22752 * loader/i386/multiboot.c: Include `<grub/video.h>'.
22753 (grub_multiboot_boot): Switch to text mode before calling
22754 grub_relocator32_boot().
22755
22756 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
22757 (grub_chainloader_boot): Switch to text mode before calling
22758 grub_chainloader_real_boot().
22759
d6f93a66
RM
227602010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
227612010-01-05 Colin Watson <cjwatson@ubuntu.com>
22762
22763 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
22764 non-empty value.
22765
227662010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
227672010-01-05 Colin Watson <cjwatson@ubuntu.com>
22768
22769 * util/grub.d/00_header.in: Define a "savedefault" function for use
22770 in menu entries.
22771 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
22772
227732010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
227742010-01-05 Colin Watson <cjwatson@ubuntu.com>
22775
22776 * util/grub-mkconfig_lib.in (save_default_entry): Only set
22777 saved_entry if boot_once is unset.
22778 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
22779 previous saved entry (i.e. grub-reboot).
22780
227812009-12-08 Colin Watson <cjwatson@ubuntu.com>
22782
22783 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
22784
227852009-12-08 Colin Watson <cjwatson@ubuntu.com>
22786
22787 * util/grub.d/00_header.in: Use `set var=val' rather than plain
22788 `var=val'.
22789 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
22790
227912009-12-08 Colin Watson <cjwatson@ubuntu.com>
22792
22793 * util/grub-reboot.in: Fix --version output.
22794 * util/grub-set-default.in: Likewise.
22795
227962009-12-08 Colin Watson <cjwatson@ubuntu.com>
22797
22798 * util/grub.d/00_header.in: Silently ignore zero-sized environment
22799 blocks.
22800
228012009-12-08 Colin Watson <cjwatson@ubuntu.com>
22802
22803 * util/grub.d/00_header.in: Quote the value assigned to `default',
22804 in case it contains spaces.
22805
228062009-12-08 Colin Watson <cjwatson@ubuntu.com>
22807
22808 * util/grub.d/30_os-prober.in: Fix merge error that moved a
22809 `save_default_entry' call from the macosx case to the linux case.
22810
228112009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
228122009-10-25 Colin Watson <cjwatson@ubuntu.com>
22813
22814 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
22815 in `chosen' environment variable.
22816 * normal/menu_text.c (get_entry_number): Check if the variable
22817 matches the title of a menu entry.
22818 (run_menu): Pass menu to get_entry_number.
22819
22820 * util/grub-reboot.in: New file.
22821 * util/grub-set-default.in: New file.
22822 * conf/common.rmk (grub-reboot): New utility.
22823 (grub-set-default): New utility.
22824
22825 * util/grub-mkconfig_lib.in (save_default_entry): New function.
22826 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
22827 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
22828 move it to `saved_entry' for the next boot. Load environment on
22829 initialisation.
22830 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
22831 * util/grub.d/10_hurd.in: Likewise.
22832 * util/grub.d/10_linux.in (linux_entry): Likewise.
22833 * util/grub.d/10_windows.in: Likewise.
22834 * util/grub.d/30_os-prober.in: Likewise.
22835
22836 * util/grub-install.in: Create environment block.
22837 * util/i386/efi/grub-install.in: Likewise.
22838 * util/ieee1275/grub-install.in: Likewise.
22839 * util/sparc64/ieee1275/grub-install.in: Likewise.
22840
0934d184
BC
228412010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
22842
22843 Unit testing framework for GRUB.
22844
22845 * Makefile.in: Test framework build rules for 'make check'.
22846 * conf/tests.rmk: Build rules for individual tests and framework.
22847
22848 * include/grub/test.h: Header file for whitebox tests.
22849 * tests/lib/functional_test.c: Framework support for whitebox
22850 functional tests.
22851 * tests/lib/test.c: Common whitebox testing code for unit and
22852 functional tests.
22853 * tests/lib/unit_test.c: Framework support for whitebox unit
22854 tests.
22855
22856 * tests/util/grub-shell-tester.in: Support utility for grub-script
22857 tests.
22858 * tests/util/grub-shell.in: Utility to execute grub-script
22859 commands in a Qemu instance.
22860
22861 * tests/example_functional_test.c: Example whitebox functional
22862 test.
22863 * tests/example_grub_script_test.in: Example grub-script test.
22864 * tests/example_scripted_test.in: Example scripted test.
22865 * tests/example_unit_test.c: Example whitebox unit test.
22866
9c4ffeeb
VS
228672010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
22868
22869 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
22870 Add loader/i386/multiboot_mbi.c.
22871 (multiboot2_mod_SOURCES): Likewise.
22872 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
22873 (multiboot2_mod_SOURCES): Likewise.
22874 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
22875 (grub_multiboot_make_mbi): Likewise.
22876 (grub_multiboot_free_mbi): Likewise.
22877 (grub_multiboot_init_mbi): Likewise.
22878 (grub_multiboot_add_module): Likewise.
22879 (grub_multiboot_set_bootdev): Likewise.
22880 * loader/i386/multiboot.c (mbi): Removed.
22881 (mbi_dest): Likewise.
22882 (alloc_mbi): New variable.
22883 (grub_multiboot_payload_size): Removed. All users updated.
22884 (grub_multiboot_pure_size): New variable.
22885 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
22886 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
22887 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
22888 (grub_fill_multiboot_mmap): Likewise.
22889 (grub_multiboot_get_bootdev): Likewise.
22890 (grub_multiboot): Use multiboot_mbi functions.
22891 * loader/i386/multiboot_mbi.c: New file.
22892
17383dfe
VS
228932010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
22894
22895 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
22896 it would result in module crash.
22897
c1f28820
VS
228982010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
22899
22900 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
22901 (grub_ofconsole_getwh): Split to ...
22902 (grub_ofconsole_getwh): ... this.
22903 (grub_ofconsole_dimensions): ...and this.
22904 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
22905
58655a16
RM
229062010-01-13 Robert Millan <rmh.grub@aybabtu.com>
22907
22908 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
22909
10891398
VS
229102010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
22911
22912 * loader/i386/pc/multiboot2.c: Removed stalled file.
22913
0b8a223c
VS
229142010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
22915
22916 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
22917 Reported by: Grégoire Sutre
22918
92ab12b0
RM
229192010-01-11 Robert Millan <rmh.grub@aybabtu.com>
22920
22921 * util/misc.c (canonicalize_file_name): New function.
22922 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
22923 instead of realpath().
22924
a788afb6
CW
229252010-01-11 Colin Watson <cjwatson@ubuntu.com>
22926
22927 * util/grub-install.in (usage): Clarify meaning of --root-directory,
22928 and make it clearer that it's optional. Based on confusion
22929 witnessed on IRC.
22930
ffa8e3d2
VS
229312010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
22932
22933 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
22934 in premature implicit newline.
22935
e9060a9d
VS
229362010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
22937
22938 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
22939 which resulted in garbled command line at the end of screen.
22940
f0d0c0b7
RM
229412010-01-10 Robert Millan <rmh.grub@aybabtu.com>
22942
22943 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
22944 initialization with similar approach as with other Linux loaders.
22945
0e60bae7
RM
229462010-01-10 Robert Millan <rmh.grub@aybabtu.com>
22947
22948 Fix i386-ieee1275 build.
22949
22950 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
22951 and grub_term_height() for video_{width,height} initialization.
22952
229532010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
22954
22955 Fix grub-emu build.
22956
22957 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
22958
cdb3f378
RM
229592010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
229602010-01-09 Robert Millan <rmh.grub@aybabtu.com>
22961
22962 Support for multiple terminals.
22963
22964 * Makefile.in (pkglib_DATA): terminal.lst.
22965 (terminal.lst): New target.
22966 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
22967 (GRUB_MOD_INIT(handler)): Likewise.
22968 (GRUB_MOD_FINI(handler)): Likewise.
22969 * commands/help.c (grub_cmd_help): Handle multiple terminals.
22970 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
22971 * commands/sleep.c (do_print): Use grub_term_restore_pos.
22972 (grub_cmd_sleep): Use grub_term_save_pos.
22973 * commands/terminal.c: New file.
22974 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
22975 commands/terminal.c and lib/charset.c.
22976 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
22977 (pkglib_MODULES): Add terminal.mod.
22978 (terminal_mod_SOURCES): New variable.
22979 (terminal_mod_CFLAGS): Likewise.
22980 (terminal_mod_LDFLAGS): Likewise.
22981 * genhandlerlist.sh: Don't handle terminals.
22982 * genmk.rb: Generate terminal-*.lst.
22983 * genterminallist.sh: New file.
22984 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
22985 (grub_is_valid_utf8): Likewise.
22986 (grub_utf8_to_ucs4_alloc): Likewise.
22987 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
22988 (grub_menu_register_viewer): Changed argument.
22989 (grub_menu_try_text): New proto.
22990 (grub_gfxmenu_try_hook): New declaration.
22991 * include/grub/normal.h (grub_normal_exit_level): New declaration.
22992 (grub_menu_init_page): Additional argument term.
22993 (grub_normal_init_page): Likewise.
22994 (grub_cmdline_get): Arguments simplified.
22995 (grub_utf8_to_ucs4_alloc): Removed.
22996 (grub_print_ucs4): Additional argument term.
22997 (grub_getstringwidth): Likewise.
22998 (grub_print_message_indented): Likewise.
22999 (grub_menu_text_register_instances): New proto.
23000 (grub_show_menu): Likewise.
23001 (read_terminal_list): Likewise.
23002 (grub_set_more): Likewise.
23003 * include/grub/parser.h: Include handler.h.
23004 * include/grub/reader.h: Rewritten.
23005 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
23006 (GRUB_TERM_WIDTH): Changed to function.
23007 (GRUB_TERM_HEIGHT): Likewise.
23008 (GRUB_TERM_BORDER_WIDTH): Likewise.
23009 (GRUB_TERM_BORDER_HEIGHT): Likewise.
23010 (GRUB_TERM_NUM_ENTRIES): Likewise.
23011 (GRUB_TERM_ENTRY_WIDTH): Likewise.
23012 (GRUB_TERM_CURSOR_X): Likewise.
23013 (grub_term_input_class): Likewise.
23014 (grub_term_output_class): Likewise.
23015 (grub_term_outputs_disabled): New declaration.
23016 (grub_term_inputs_disabled): Likewise.
23017 (grub_term_outputs): Likewise.
23018 (grub_term_inputs): Likewise.
23019 (grub_term_register_input): Rewritten.
23020 (grub_term_register_output): Likewise.
23021 (grub_term_unregister_input): Likewise.
23022 (grub_term_unregister_output): Likewise.
23023 (FOR_ACTIVE_TERM_INPUTS): New macro.
23024 (FOR_DISABLED_TERM_INPUTS): Likewise.
23025 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
23026 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
23027 * include/grub/terminfo.h: Add oterm argument to all protypes.
23028 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
23029 Use grub_rescue_run.
23030 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
23031 All users updated.
23032 * kern/reader.c: Removed. All users updated.
23033 * kern/rescue_reader.c (grub_rescue_init): Removed.
23034 (grub_rescue_reader): Likewise.
23035 (grub_register_rescue_reader): Likewise.
23036 (grub_rescue_run): New function based on kern/reader.c.
23037 * kern/term.c: Adapted for multiterm.
23038 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
23039 (grub_is_valid_utf8): Likewise.
23040 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
23041 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
23042 right terminal.
23043 * loader/i386/linux.c (grub_linux_boot): Likewise.
23044 * normal/auth.c (grub_username_get): New function.
23045 (grub_auth_check_authentication): Use grub_username_get.
23046 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
23047 * normal/color.c: Adapt for multiterm.
23048 * normal/main.c (read_config_file): Don't use grub_reader_loop.
23049 (grub_normal_init_page): Additional argument term.
23050 (read_lists): Call read_terminal_lists.
23051 (grub_enter_normal_mode): Call grub_cmdline_run.
23052 Handle grub_normal_exit_level.
23053 (grub_cmd_normal): Make reentrant.
23054 (grub_cmd_normal_exit): New function.
23055 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
23056 * normal/menu.c: Adapt for multiterm.
23057 * normal/menu_entry.c: Likewise.
23058 * normal/menu_text.c: Likewise.
23059 * normal/menu_viewer.c: Removed. All users updated.
23060 * normal/term.c: New file.
23061 * util/console.c: Change order of includes to workaround a bug in
23062 ncurses headers.
23063 * term/terminfo.c: New argument oterm on all exported functions.
23064 All users updated.
23065 * util/grub-editenv.c (grub_term_input_class): Removed.
23066 (grub_term_output_class): Likewise.
23067
1a064917
RM
230682010-01-09 Robert Millan <rmh.grub@aybabtu.com>
23069
23070 Make loader output a bit more user-friendly.
23071
23072 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
23073 is being loaded. Likewise for the Hurd.
23074
23075 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
23076 that kernel of FreeBSD ${version} is being loaded.
23077
23078 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
23079 grub_dprintf().
23080 (grub_cmd_initrd): Likewise.
23081 * util/grub.d/10_linux.in (linux_entry): Print message indicating
23082 that Linux ${version} is being loaded. Likewise for initrd.
23083
5ce0a83a 230842010-01-09 Carles Pina i Estany <carles@pina.cat>
23085
23086 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
23087
809bbfeb 230882010-01-08 Carles Pina i Estany <carles@pina.cat>
23089
23090 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
23091 (GRUB_MOD_INIT): Gettextizze.
23092 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
23093 (GRUB_MOD_INIT): Gettextizze.
23094 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
23095 (grub_cmd_linux): Capitalise Linux.
23096 (GRUB_MOD_INIT): Gettextizze.
23097 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
23098 (grub_cmd_linux): Capitalise Linux.
23099 (GRUB_MOD_INIT): Gettextizze.
23100 * loader/i386/linux.c: Include `<grub/i18n.h>'.
23101 (grub_cmd_linux): Capitalise Linux.
23102 (GRUB_MOD_INIT): Gettextizze.
23103 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
23104 (GRUB_MOD_INIT): Gettextizze.
23105 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
23106 (grub_cmd_linux): Capitalise Linux.
23107 (GRUB_MOD_INIT): Gettextizze.
23108 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
23109 (grub_cpu_xnu_init): Gettextizze.
23110 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
23111 (GRUB_MOD_INIT): Gettextizze.
23112 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
23113 (GRUB_MOD_INIT): Gettextizze.
23114 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
23115 (grub_linux_load64): Capitalise Linux.
23116 (GRUB_MOD_INIT): Gettextizze.
23117 * loader/xnu.c: Include `<grub/i18n.h>'.
23118 (GRUB_MOD_INIT): Gettextizze.
23119 * po/POTFILES: Add `loader/efi/appleloader.c',
23120 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
23121 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
23122 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
23123 `loader/i386/xnu.c', `loader/multiboot_loader.c',
23124 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
23125 and `loader/xnu.c'.
23126
b394b2ca
RM
231272010-01-08 Robert Millan <rmh.grub@aybabtu.com>
23128
23129 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
23130
231312010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
23132
23133 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
23134 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
23135 * util/mkisofs/mkisofs.c (main): Readjust --version output.
23136
bc8b32b3
RM
231372010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23138
23139 Reset Multiboot 2 support. New loader implements the draft in
23140 /branches/multiboot2 and shares as much code as possible with the
23141 production Multiboot 1 implementation.
23142
23143 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
23144 * loader/multiboot2.c: Likewise.
23145 * loader/i386/multiboot_helper.S: Likewise.
23146 * include/multiboot2.h: Replace with latest version from the draft
23147 in /branches/multiboot2.
23148
23149 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
23150 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
23151 and `loader/multiboot2.c'.
23152 (pkglib_MODULES): Add `multiboot2.mod'.
23153 (multiboot2_mod_SOURCES): New variable.
23154 (multiboot2_mod_LDFLAGS): Likewise.
23155 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
23156
23157 * conf/i386-pc.rmk: Likewise.
23158
23159 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
23160 (multiboot_mod_SOURCES): Remove variable.
23161 (multiboot_mod_LDFLAGS): Likewise.
23162 (multiboot_mod_CFLAGS): Likewise.
23163
23164 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
23165 `<multiboot2.h>' instead of `<multiboot.h>'.
23166 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
23167 (MULTIBOOT_HEADER_MAGIC): New macros.
23168
23169 * loader/multiboot_loader.c (module_version_status): Remove variable.
23170 (find_multi_boot2_header): Remove function.
23171 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
23172 logic. Always check for the Multiboot version we're compiling for.
23173 (grub_cmd_module_loader): Likewise.
23174 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
23175 command instead of `multiboot'.
23176
5d2c52b8
RM
231772010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23178
23179 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
23180 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
23181 all users.
23182
53108d92
RM
231832010-01-07 Robert Millan <rmh.grub@aybabtu.com>
231842010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23185
23186 Fix breakage introduced with previous commit.
23187
23188 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
23189 commands.
23190 * normal/handler.c (read_handler_list): Revert part of previous commit
23191 affecting this file.
23192 * normal/main.c (read_lists): Move read_handler_list() call back to ...
23193 (grub_normal_execute): ... here.
23194
e2e936b2
RM
231952010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23196
23197 Merge prefix-redefinition-fix branch.
23198
23199 * normal/autofs.c (read_fs_list): Make function capable of being
23200 run multiple times, gracefuly replacing the previous data
23201 structures.
23202 * normal/dyncmd.c (read_command_list): Likewise.
23203 * normal/handler.c (read_handler_list): Likewise.
23204 * normal/main.c (read_lists): New function. Calls all the
23205 list reading functions.
23206 (grub_normal_execute): Use read_lists() instead of calling all
23207 list reading functions explicitly. Register read_lists() as a
23208 variable hook attached to ${prefix}.
23209
607a3701
VS
232102010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23211
23212 Merge crypto branch.
23213
23214 * Makefile.in (pkglib_DATA): Add crypto.lst.
23215 (crypto.lst): New target.
23216 * commands/hashsum.c: New file.
23217 * commands/password.c (check_password): Use grub_crypto_memcmp.
23218 * commands/password_pbkdf2.c: New file.
23219 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
23220 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
23221 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
23222 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
23223 -I$(srcdir)/lib/libgcrypt_wrap.
23224 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
23225 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
23226 password_pbkdf2.mod.
23227 (crypto_mod_SOURCES): New variable.
23228 (crypto_mod_CFLAGS): Likewise.
23229 (crypto_mod_LDFLAGS): Likewise.
23230 (hashsum_mod_SOURCES): New variable.
23231 (hashsum_mod_CFLAGS): Likewise.
23232 (hashsum_mod_LDFLAGS): Likewise.
23233 (pbkdf2_mod_SOURCES): New variable.
23234 (pbkdf2_mod_CFLAGS): Likewise.
23235 (pbkdf2_mod_LDFLAGS): Likewise.
23236 (password_pbkdf2_mod_SOURCES): New variable.
23237 (password_pbkdf2_mod_CFLAGS): Likewise.
23238 (password_pbkdf2_mod_LDFLAGS): Likewise.
23239 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
23240 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
23241 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
23242 Include conf/gcry.rmk.
23243 * include/grub/auth.h: Rewritten.
23244 * include/grub/crypto.h: New file.
23245 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
23246 * include/grub/normal.h (read_crypto_list): New prototype.
23247 * lib/crypto.c: New file.
23248 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
23249 * lib/pbkdf2.c: Likewise.
23250 * normal/auth.c (grub_auth_strcmp): Removed.
23251 (grub_iswordseparator): Likewise.
23252 (grub_auth_strword): Likewise.
23253 (is_authenticated): Use grub_strword.
23254 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
23255 and grub_strword. Pass entered password to authentication callback.
23256 * normal/crypto.c: New file.
23257 * normal/main.c: Call read_crypto_list.
23258 * util/grub-mkpasswd-pbkdf2.c: New file.
23259 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
23260
42841caa
VS
232612010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
23262
23263 Fix descent and ascent calculation.
23264
23265 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
23266 (options): New option "asce".
23267 (usage): Likewise.
23268 (add_char): Ignore invalid glyphs for descent calculation.
23269 Calculate ascent from actual content.
23270 (print_glyphs): Use 'asce'.
23271 (write_font): Likewise. Allow ascent override.
23272 (main): Handle "asce" option.
23273
e7730de7 232742010-01-06 Carles Pina i Estany <carles@pina.cat>
23275
23276 * kern/err.c: Include `<grub/i18n.h>'.
23277 (grub_print_error): Add full stop. Gettextizze.
23278 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
23279 (grub_bsd_load_elf): Capitalise ELF.
23280 (grub_cmd_freebsd_loadenv): Add `s' in error string.
23281 (grub_cmd_freebsd_module): Likewise.
23282 (grub_cmd_freebsd_module_elf): Likewise.
23283 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
23284
40e3a41f 232852010-01-06 Carles Pina i Estany <carles@pina.cat>
23286
23287 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
23288 * commands/search_file.c (HELP_MESSAGE): New macro.
23289 * commands/search_label.c (HELP_MESSAGE): Likewise.
23290 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
23291 * po/POTFILES: Add `commands/search_file.c',
23292 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
23293 `commands/search.c'.
23294
83507e68
RM
232952010-01-05 Robert Millan <rmh.grub@aybabtu.com>
23296
23297 * config.rpath: Update from Gnulib.
23298
465c787b
YB
232992010-01-05 Yves Blusseau <blusseau@zetam.org>
23300
23301 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
23302
6581dd3a
YB
233032010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
23304
23305 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
23306
3bff18c5
CW
233072010-01-05 Colin Watson <cjwatson@ubuntu.com>
23308
23309 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
23310 arguments to fread so that we get a return value in bytes, rather
23311 than something that will normally be rounded down to 0.
23312 Adjust error handling to avoid producing garbage when size_t is not
23313 the same size as long long.
23314
a1368118
CW
233152010-01-05 Colin Watson <cjwatson@ubuntu.com>
23316
23317 * util/mkisofs/write.c (padblock_write): Check return value of
23318 fread.
23319
7c302978
RM
233202010-01-05 Robert Millan <rmh.grub@aybabtu.com>
23321
23322 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
23323 floppy images now.
23324
23325 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
23326
e33ace06
RM
233272010-01-04 Robert Millan <rmh.grub@aybabtu.com>
23328
23329 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
23330 instead of manual alignment.
23331 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
23332 verbose). Avoid attempts to read past end of the device
23333 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
23334 but GRUB_DISK_CACHE_SIZE may exceed that).
23335
4b856776
RM
233362010-01-04 Robert Millan <rmh.grub@aybabtu.com>
23337
23338 * commands/crc.c (grub_cmd_crc): Abort on read errors.
23339 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
23340 it to upper layer.
23341
52c2d97f
VS
233422010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
23343
23344 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
23345 New constant.
23346 (grub_efi_piwg_device_path): New structure
23347 (grub_efi_piwg_device_path_t): New type.
23348 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
23349 (devpath_1): Transform to a structure. All users updated.
23350 (devpath_2): Likewise.
23351 (devpath_3): Likewise.
23352 (devpath_4): Likewise.
23353 (devpath_5): Likewise.
23354
98ff6a54
VS
233552010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
23356
23357 * loader/efi/appleloader.c: Restored. Update all users.
23358
3a73dcb6
RM
233592010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23360
23361 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
23362
23363 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
23364 (struct boot_blocklist): Move from here ...
23365 * include/grub/i386/pc/boot.h [ASM_FILE]
23366 (struct grub_boot_blocklist): ... to here. Update all users.
23367 (setup): Only initialize `start' member of `first_block'
23368 structure. Add assert() calls to verify the other members.
23369
23370 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
23371 (generate_image): Fix broken blocklist length initialization.
23372 Add assert() call to verify blocklist `segment' field.
23373
ab0eeb0c
RM
233742010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23375
23376 * loader/efi/appleloader.c: Remove. Update all users.
23377
58bc8bd5
RM
233782010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23379
23380 * boot/i386/pc/boot.S: Update copyright year.
23381 * boot/i386/pc/cdboot.S: Likewise.
23382 * boot/i386/pc/diskboot.S: Likewise.
23383 * boot/i386/pc/lnxboot.S: Likewise.
23384 * boot/i386/pc/pxeboot.S: Likewise.
23385 * bus/pci.c: Likewise.
23386 * commands/cmp.c: Likewise.
23387 * commands/help.c: Likewise.
23388 * commands/hexdump.c: Likewise.
23389 * commands/i386/pc/halt.c: Likewise.
23390 * commands/i386/pc/play.c: Likewise.
23391 * commands/i386/pc/vbeinfo.c: Likewise.
23392 * commands/ls.c: Likewise.
23393 * commands/test.c: Likewise.
23394 * disk/dmraid_nvidia.c: Likewise.
23395 * disk/i386/pc/biosdisk.c: Likewise.
23396 * disk/ieee1275/nand.c: Likewise.
23397 * disk/ieee1275/ofdisk.c: Likewise.
23398 * disk/lvm.c: Likewise.
23399 * disk/raid.c: Likewise.
23400 * disk/raid6_recover.c: Likewise.
23401 * disk/scsi.c: Likewise.
23402 * fs/affs.c: Likewise.
23403 * fs/cpio.c: Likewise.
23404 * fs/ext2.c: Likewise.
23405 * fs/hfs.c: Likewise.
23406 * fs/iso9660.c: Likewise.
23407 * fs/ntfs.c: Likewise.
23408 * fs/sfs.c: Likewise.
23409 * fs/udf.c: Likewise.
23410 * fs/ufs.c: Likewise.
23411 * fs/xfs.c: Likewise.
23412 * gencmdlist.sh: Likewise.
23413 * genmk.rb: Likewise.
23414 * include/grub/disk.h: Likewise.
23415 * include/grub/efi/api.h: Likewise.
23416 * include/grub/efi/efi.h: Likewise.
23417 * include/grub/efi/pe32.h: Likewise.
23418 * include/grub/elf.h: Likewise.
23419 * include/grub/fs.h: Likewise.
23420 * include/grub/i386/at_keyboard.h: Likewise.
23421 * include/grub/i386/pc/memory.h: Likewise.
23422 * include/grub/i386/pc/vbe.h: Likewise.
23423 * include/grub/i386/pci.h: Likewise.
23424 * include/grub/i386/tsc.h: Likewise.
23425 * include/grub/ieee1275/ieee1275.h: Likewise.
23426 * include/grub/ntfs.h: Likewise.
23427 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
23428 * include/grub/sparc64/libgcc.h: Likewise.
23429 * include/grub/symbol.h: Likewise.
23430 * include/grub/types.h: Likewise.
23431 * include/multiboot2.h: Likewise.
23432 * io/gzio.c: Likewise.
23433 * kern/device.c: Likewise.
23434 * kern/disk.c: Likewise.
23435 * kern/efi/efi.c: Likewise.
23436 * kern/efi/mm.c: Likewise.
23437 * kern/elf.c: Likewise.
23438 * kern/file.c: Likewise.
23439 * kern/i386/dl.c: Likewise.
23440 * kern/i386/pc/init.c: Likewise.
23441 * kern/i386/pc/startup.S: Likewise.
23442 * kern/ieee1275/ieee1275.c: Likewise.
23443 * kern/ieee1275/init.c: Likewise.
23444 * kern/main.c: Likewise.
23445 * kern/mm.c: Likewise.
23446 * kern/powerpc/dl.c: Likewise.
23447 * kern/sparc64/dl.c: Likewise.
23448 * kern/x86_64/dl.c: Likewise.
23449 * lib/hexdump.c: Likewise.
23450 * loader/efi/appleloader.c: Likewise.
23451 * loader/i386/ieee1275/linux.c: Likewise.
23452 * loader/i386/pc/chainloader.c: Likewise.
23453 * loader/i386/pc/linux.c: Likewise.
23454 * loader/i386/pc/multiboot2.c: Likewise.
23455 * loader/ieee1275/multiboot2.c: Likewise.
23456 * loader/multiboot2.c: Likewise.
23457 * loader/multiboot_loader.c: Likewise.
23458 * loader/powerpc/ieee1275/linux.c: Likewise.
23459 * normal/completion.c: Likewise.
23460 * normal/menu_entry.c: Likewise.
23461 * partmap/apple.c: Likewise.
23462 * util/grub.d/10_hurd.in: Likewise.
23463 * util/hostfs.c: Likewise.
23464 * video/readers/png.c: Likewise.
23465
e2d70b5c
CW
234662010-01-03 Colin Watson <cjwatson@ubuntu.com>
23467
23468 * include/grub/misc.h (GNUC_PREREQ): New macro.
23469 (ATTRIBUTE_ERROR): New macro.
23470 * include/grub/list.h (grub_bad_type_cast_real): Use
23471 ATTRIBUTE_ERROR.
23472
a173283f 234732010-01-03 Carles Pina i Estany <carles@pina.cat>
23474
23475 * normal/menu_text.c (print_message): Change messages.
23476
7fa7ff74 234772010-01-03 Carles Pina i Estany <carles@pina.cat>
23478
23479 * normal/menu_entry.c (store_completion): Gettextizze.
23480
136d24f6 234812010-01-03 Carles Pina i Estany <carles@pina.cat>
23482
23483 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
23484
f936862e 234852010-01-03 Carles Pina i Estany <carles@pina.cat>
23486
23487 * po/POTFILES: Sort correctly.
23488
29c44ad1 234892010-01-03 Carles Pina i Estany <carles@pina.cat>
23490
23491 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
23492 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
23493 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
23494 full stop.
23495 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
23496 summary. Gettextizze the strings.
23497 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
23498 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
23499 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
23500 full stop.
23501 (GRUB_MOD_INIT): Remove command name from summary.
23502 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
23503 summary.
23504 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
23505 * term/i386/pc/serial.c (options): Add full stops.
23506 (GRUB_MOD_INIT): Remove command name from the summary.
23507
77a79592 235082010-01-03 Carles Pina i Estany <carles@pina.cat>
23509
23510 * commands/acpi.c: Gettextizze help strings and/or options. Include
23511 `grub/i18n.h' if needed.
23512 * commands/blocklist.c: Likewise.
23513 * commands/boot.c: Likewise.
23514 * commands/cat.c: Likewise.
23515 * commands/cmp.c: Likewise.
23516 * commands/configfile.c: Likewise.
23517 * commands/crc.c: Likewise.
23518 * commands/date.c: Likewise.
23519 * commands/echo.c: Likewise.
23520 * commands/efi/fixvideo.c: Likewise.
23521 * commands/efi/loadbios.c: Likewise.
23522 * commands/gptsync.c: Likewise.
23523 * commands/halt.c: Likewise.
23524 * commands/handler.c: Likewise.
23525 * commands/hdparm.c: Likewise.
23526 * commands/hexdump.c: Likewise.
23527 * commands/i386/cpuid.c: Likewise.
23528 * commands/i386/pc/drivemap.c: Likewise.
23529 * commands/i386/pc/halt.c: Likewise.
23530 * commands/i386/pc/pxecmd.c: Likewise.
23531 * commands/i386/pc/vbeinfo.c: Likewise.
23532 * commands/i386/pc/vbetest.c: Likewise.
23533 * commands/ieee1275/suspend.c: Likewise.
23534 * commands/keystatus.c: Likewise.
23535 * commands/loadenv.c: Likewise.
23536 * commands/ls.c: Likewise.
23537 * commands/lsmmap.c: Likewise.
23538 * commands/lspci.c: Likewise.
23539 * commands/memrw.c: Likewise.
23540 * commands/minicmd.c: Likewise.
23541 * commands/parttool.c: Likewise.
23542 * commands/password.c: Likewise.
23543 * commands/probe.c: Likewise.
23544 * commands/read.c: Likewise.
23545 * commands/reboot.c: Likewise.
23546 * commands/search.c: Likewise.
23547 * commands/sleep.c: Likewise.
23548 * commands/test.c: Likewise.
23549 * commands/true.c: Likewise.
23550 * commands/usbtest.c: Likewise.
23551 * commands/videotest.c: Likewise.
23552 * commands/xnu_uuid.c: Likewise.
23553 * disk/loopback.c: Likewise.
23554 * hello/hello.c: Likewise.
23555 * loader/i386/bsd.c: Likewise.
23556 * term/i386/pc/serial.c: Likewise.
23557 * po/POTFILES: Add new files.
23558
da8d5c53
CW
235592010-01-02 Colin Watson <cjwatson@ubuntu.com>
23560
23561 * term/i386/pc/at_keyboard.c
23562 (keyboard_controller_wait_untill_ready): Rename to ...
23563 (keyboard_controller_wait_until_ready): ... this. Update all users.
23564
33937904 235652010-01-01 Carles Pina i Estany <carles@pina.cat>
23566
23567 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
23568 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
23569 string using string width.
23570 * normal/menu_text.c (grub_print_message_indented): Use
23571 grub_print_spaces and not print_spaces.
23572 (print_timeout): Likewise.
23573 (print_spaces): Move to...
23574 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
23575
3fd3b8d8
RM
235762010-01-01 Robert Millan <rmh.grub@aybabtu.com>
23577
23578 Import from Gnulib.
23579
23580 * gnulib/getdelim.c: New file.
23581 * gnulib/getline.c: Likewise.
23582
33433555
VS
235832009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
23584
23585 * include/grub/list.h (grub_assert_fail): Removed.
23586 (grub_bad_type_cast_real): New function.
23587 (grub_bad_type_cast): New macro.
23588 (GRUB_AS_LIST): Use grub_bad_type_cast.
23589 (GRUB_AS_LIST_P): Likewise.
e44721e8 23590 (GRUB_AS_NAMED_LIST): Likewise.
33433555 23591 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 23592 (GRUB_AS_PRIO_LIST): Likewise.
33433555 23593 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 23594 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 23595
f5a51306
VS
235962009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
23597
23598 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
23599 Fix syntax error.
23600
90d1e879
RM
236012009-12-29 Robert Millan <rmh.grub@aybabtu.com>
23602
23603 * configure.ac: Check for TARGET_CFLAGS initialization before we
23604 initialize it ourselves (sigh).
23605 Move a few modifications to TARGET_CFLAGS to be unconditional
23606 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
23607 eh_frame)
23608
23609 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
23610 * term/i386/pc/at_keyboard.c
23611 (keyboard_controller_wait_untill_ready): Likewise.
23612 (keyboard_controller_led): Rename `led_status' paramter to avoid
23613 name conflict.
23614
465b5a81 236152009-12-28 Carles Pina i Estany <carles@pina.cat>
23616
23617 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
23618 quotes.
23619
c181849b
VS
236202009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
23621
23622 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
23623
9c8739a4
VS
236242009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
23625
23626 * normal/menu_text.c (grub_print_message_indented): Prevent
23627 past-the-end-of-array dereference.
23628
3e74249c
VS
236292009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
23630
23631 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
23632 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
23633
64fd18ed 236342009-12-27 Carles Pina i Estany <carles@pina.cat>
23635
23636 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
23637 * normal/main.c (grub_normal_read_line): Remove a space from the
23638 default prompt.
23639
714af9b9 236402009-12-27 Carles Pina i Estany <carles@pina.cat>
23641
23642 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
23643 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23644 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
23645 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
23646 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23647 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23648 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
23649
82f3e412 236502009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 23651
23652 * video/readers/jpeg.c (cmd): Declare.
23653 (grub_cmd_jpegtest): Use `grub_command_t' type.
23654 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
23655 Assign to `cmd'.
23656 (GRUB_MOD_FINI): Use `cmd' to unregister.
23657 * video/readers/png.c (cmd): Declare.
23658 (grub_cmd_pngtest): Use `grub_command_t' type.
23659 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
23660 Assign to `cmd'.
23661 (GRUB_MOD_FINI): Use `cmd' to unregister.
23662 * video/readers/tga.c (cmd): Declare.
23663 (grub_cmd_tgatest): Use `grub_command_t' type.
23664 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
23665 Assign to `cmd'.
23666 (GRUB_MOD_FINI): Use `cmd' to unregister.
23667
82f3e412 236682009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 23669
23670 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
23671 stops.
23672 * kern/corecmd.c (grub_register_core_commands): Likewise.
23673 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
23674 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
23675 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
23676 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23677 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
23678 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
23679 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
23680 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
23681 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23682 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23683 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
23684 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
23685 * normal/handler.c (insert_handler): Likewise.
23686 * normal/main.c (GRUB_MOD_INIT): Likewise.
23687 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
23688
fdcdbb66 236892009-12-26 Carles Pina i Estany <carles@pina.cat>
23690
23691 * commands/help.c (grub_cmd_help): Print the command name before the
23692 summary.
23693 (GRUB_MOD_INIT): Remove command name from the summary.
23694 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 23695 string as summary.
fdcdbb66 23696 * lib/arg.c (find_long): Print the command name before the summary.
23697 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
23698 summary.
23699 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
23700 * commands/cat.c (GRUB_MOD_INIT): Likewise.
23701 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
23702 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
23703 * commands/crc.c (GRUB_MOD_INIT): Likewise.
23704 * commands/date.c (GRUB_MOD_INIT): Likewise.
23705 * commands/echo.c (GRUB_MOD_INIT): Likewise.
23706 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
23707 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
23708 * commands/handler.c (GRUB_MOD_INIT): Likewise.
23709 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
23710 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
23711 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
23712 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
23713 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
23714 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
23715 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
23716 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
23717 * commands/ls.c (GRUB_MOD_INIT): Likewise.
23718 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
23719 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
23720 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
23721 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
23722 * commands/password.c (GRUB_MOD_INIT): Likewise.
23723 * commands/probe.c (GRUB_MOD_INIT): Likewise.
23724 * commands/read.c (GRUB_MOD_INIT): Likewise.
23725 * commands/search.c (GRUB_MOD_INIT): Likewise.
23726 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
23727 * commands/test.c (GRUB_MOD_INIT): Likewise.
23728 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
23729 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
23730 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
23731 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
23732 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
23733 * lib/arg.c (GRUB_MOD_INIT): Likewise.
23734 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
23735 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
23736 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
23737 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
23738 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
23739 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
23740 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
23741 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
23742
9c288be2
VS
237432009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
23744
23745 Use search command for preliminar UUID search.
23746
23747 * commands/search.c: Split into ...
23748 * commands/search_wrap.c: ...this
23749 * commands/search.c: ...and this.
23750 * commands/search_file.c: New file.
23751 * commands/search_label.c: New file.
23752 * commands/search_uuid.c: New file.
23753 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
23754 Add commands/search_wrap.c, commands/search_file.c,
23755 commands/search_label.c and commands/search_uuid.c.
23756 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
23757 (search_mod_SOURCES): Set to commands/search_wrap.c.
23758 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
23759 search_label.mod.
23760 (search_fs_file_mod_SOURCES): New variable.
23761 (search_fs_file_mod_CFLAGS): Likewise.
23762 (search_fs_file_mod_LDFLAGS): Likewise.
23763 (search_label_mod_SOURCES): Likewise.
23764 (search_label_mod_CFLAGS): Likewise.
23765 (search_label_mod_LDFLAGS): Likewise.
23766 (search_fs_uuid_mod_SOURCES): New variable.
23767 (search_fs_uuid_mod_CFLAGS): Likewise.
23768 (search_fs_uuid_mod_LDFLAGS): Likewise.
23769 (fs_file_mod_SOURCES): Removed.
23770 (fs_file_mod_CFLAGS): Likewise.
23771 (fs_file_mod_LDFLAGS): Likewise.
23772 (fs_uuid_mod_SOURCES): Removed.
23773 (fs_uuid_mod_CFLAGS): Likewise.
23774 (fs_uuid_mod_LDFLAGS): Likewise.
23775 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
23776 Set to util/grub-install.in.
23777 * disk/fs_file.c: Removed.
23778 * disk/fs_uuid.c: Likewise.
23779 * include/grub/search.h: New file.
23780 * util/grub-install.in: Handle sparc64.
23781 Create and use load.cfg.
23782 * util/sparc64/ieee1275/grub-install.in: Removed.
23783
db943399
VS
237842009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
23785
23786 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
23787 Ignore return status if CF is cleared.
23788 (grub_biosdisk_get_diskinfo_standard): Likewise.
23789
3fdae612
RM
237902009-12-25 Robert Millan <rmh.grub@aybabtu.com>
23791
23792 * term/i386/pc/at_keyboard.c
23793 (keyboard_controller_wait_untill_ready): New function.
23794 (grub_keyboard_controller_write, grub_keyboard_controller_read)
23795 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
23796 for keyboard polling, rather than duplicate the same loop. This
23797 saves a few bytes in code size.
23798
7ebaa2b4
VS
237992009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
23800
23801 Support for (pxe[:server[:gateway]]) syntax and
23802 use environment variable for PXE.
23803
23804 * commands/i386/pc/pxecmd.c (options): Removed.
23805 (print_ip): Removed.
23806 (grub_cmd_pxe): Removed
23807 (grub_cmd_pxe_unload): New function.
23808 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
23809 (grub_pxe_your_ip): Made static.
23810 (grub_pxe_default_server_ip): Likewise.
23811 (grub_pxe_default_gateway_ip): Likewise.
23812 (grub_pxe_blksize): Likewise.
23813 (parse_ip): New function.
23814 (grub_pxe_open): Support server and gateway specification.
23815 (grub_pxe_close): Free disk->data.
23816 (grub_pxefs_open): Use disk->data.
23817 (grub_pxefs_read): Likewise.
23818 (grub_env_write_readonly): New function.
23819 (set_mac_env): Likewise.
23820 (set_env_limn_ro): Likewise.
23821 (parse_dhcp_vendor): Likewise.
23822 (grub_pxe_detect): Set the environment variables.
23823 (set_ip_env): New function.
23824 (write_ip_env): Likewise.
23825 (grub_env_write_pxe_default_server): Likewise.
23826 (grub_env_write_pxe_default_gateway): Likewise.
23827 (grub_env_write_pxe_blocksize): Likewise.
23828 (GRUB_MOD_INIT(pxe)): Set environment variables.
23829 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
23830 (grub_pxe_mac_addr_t): ... this. All users updated.
23831 (grub_pxe_your_ip): Removed.
23832 (grub_pxe_server_ip): Likewise.
23833 (grub_pxe_gateway_ip): Likewise.
23834 (grub_pxe_blksize): Likewise.
23835
ec5f98ab 238362009-12-25 Carles Pina i Estany <carles@pina.cat>
23837
23838 * commands/help.c: Include `<grub/i18n.h>'.
23839 (grub_cmd_help): Gettextizze.
23840 (GRUB_MOD_INIT): Likewise.
23841 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
23842 (GRUB_MOD_INIT): Gettextizze.
23843 * commands/search.c: Include `<grub/i18n.h>'.
23844 (options): Gettextizze.
23845 (GRUB_MOD_INIT): Gettextizze.
23846 * lib/arg.c: Include `<grub/i18n.h>'.
23847 (help_options): Gettextizze.
23848 (find_long): Likewise.
23849 (grub_arg_show_help): Likewise.
23850 * normal/dyncmd.c: Include `<grub/i18n.h>'.
23851 (read_command_list): Gettextizze.
23852 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 23853 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 23854
22815526
RM
238552009-12-25 Robert Millan <rmh.grub@aybabtu.com>
23856
23857 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
23858 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
23859 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
23860 (led_status): New variable.
23861 (keyboard_controller_led): New function.
23862 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
23863 update led status for caps lock, num lock and scroll lock.
23864
0ad46fd7
FZ
238652009-12-25 Felix Zielcke <fzielcke@z-51.de>
23866
23867 * util/hostdisk.c (open_device): Fix a comment.
23868
d0e158c2
RM
238692009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23870
23871 * util/grub-install.in (host_os): New variable.
23872 * util/i386/efi/grub-install.in (host_os): Likewise.
23873
401c0ad6
RM
238742009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23875
23876 * util/mkisofs/write.c (padblock_write): Abort when given an
23877 excedingly large embed image, instead of silently truncating it.
23878
d14d3370
RM
238792009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23880
23881 * include/multiboot.h: Indentation fixes.
23882
eeed10b4
RM
238832009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23884
23885 * include/multiboot.h (struct multiboot_aout_symbol_table)
23886 (struct multiboot_elf_section_header_table): New structure
23887 declarations (stolen from GRUB Legacy).
23888 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
23889 table information.
23890
23891 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
23892 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
23893 type aliases.
23894
681c70ab
RM
238952009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23896
23897 * include/multiboot.h: Make comments src2texi-friendly.
23898
e4d47d8d
RM
238992009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23900
23901 For consistency with [multiboot]/docs/boot.S.
23902
23903 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
23904 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
23905 (MULTIBOOT_MAGIC2): Rename from this ...
23906 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
23907
a0b70bda
RM
239082009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23909
23910 * include/multiboot.h: Remove `<grub/types.h>'.
23911 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
23912 types. Update all users.
23913
61ba42be 239142009-12-25 Carles Pina i Estany <carles@pina.cat>
23915
23916 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
23917 `couldn't' and `can not' by `cannot'.
23918 * commands/i386/pc/drivemap.c: Likewise.
23919 * disk/ata.c: Likewise.
23920 * disk/ieee1275/nand.c: Likewise.
23921 * fs/affs.c: Likewise.
23922 * fs/fat.c: Likewise.
23923 * fs/hfs.c: Likewise.
23924 * fs/hfsplus.c: Likewise.
23925 * fs/iso9660.c: Likewise.
23926 * fs/jfs.c: Likewise.
23927 * fs/minix.c: Likewise.
23928 * fs/reiserfs.c: Likewise.
23929 * fs/sfs.c: Likewise.
23930 * fs/udf.c: Likewise.
23931 * fs/ufs.c: Likewise.
23932 * fs/xfs.c: Likewise.
23933 * loader/powerpc/ieee1275/linux.c: Likewise.
23934 * loader/sparc64/ieee1275/linux.c: Likewise.
23935 * util/grub-probe.c: Likewise.
23936 * util/misc.c: Likewise.
23937
7fd0baee 239382009-12-24 Carles Pina i Estany <carles@pina.cat>
23939
23940 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
23941 grub_errno calls.
23942 * commands/acpi.c: Likewise.
23943 * commands/blocklist.c: Likewise.
23944 * commands/efi/loadbios.c: Likewise.
23945 * commands/i386/pc/drivemap.c: Likewise.
23946 * commands/loadenv.c: Likewise.
23947 * commands/memrw.c: Likewise.
23948 * commands/password.c: Likewise.
23949 * commands/videotest.c: Likewise.
23950 * disk/ata.c: Likewise.
23951 * disk/ata_pthru.c: Likewise.
23952 * disk/dmraid_nvidia.c: Likewise.
23953 * disk/ieee1275/nand.c: Likewise.
23954 * disk/ieee1275/ofdisk.c: Likewise.
23955 * disk/loopback.c: Likewise.
23956 * disk/lvm.c: Likewise.
23957 * disk/mdraid_linux.c: Likewise.
23958 * disk/raid.c: Likewise.
23959 * disk/raid6_recover.c: Likewise.
23960 * disk/scsi.c: Likewise.
23961 * efiemu/main.c: Likewise.
23962 * efiemu/mm.c: Likewise.
23963 * efiemu/pnvram.c: Likewise.
23964 * efiemu/symbols.c: Likewise.
23965 * font/font.c: Likewise.
23966 * fs/cpio.c: Likewise.
23967 * fs/hfsplus.c: Likewise.
23968 * fs/iso9660.c: Likewise.
23969 * fs/jfs.c: Likewise.
23970 * fs/minix.c: Likewise.
23971 * fs/ntfs.c: Likewise.
23972 * fs/ntfscomp.c: Likewise.
23973 * fs/reiserfs.c: Likewise.
23974 * fs/ufs.c: Likewise.
23975 * fs/xfs.c: Likewise.
23976 * gettext/gettext.c: Likewise.
23977 * include/grub/auth.h: Likewise.
23978 * kern/elf.c: Likewise.
23979 * kern/file.c: Likewise.
23980 * kern/ieee1275/init.c: Likewise.
23981 * kern/ieee1275/mmap.c: Likewise.
23982 * kern/ieee1275/openfw.c: Likewise.
23983 * kern/powerpc/dl.c: Likewise.
23984 * kern/sparc64/dl.c: Likewise.
23985 * lib/arg.c: Likewise.
23986 * loader/i386/bsd.c: Likewise.
23987 * loader/i386/bsdXX.c: Likewise.
23988 * loader/i386/efi/linux.c: Likewise.
23989 * loader/i386/efi/xnu.c: Likewise.
23990 * loader/i386/ieee1275/linux.c: Likewise.
23991 * loader/i386/linux.c: Likewise.
23992 * loader/i386/multiboot.c: Likewise.
23993 * loader/i386/pc/linux.c: Likewise.
23994 * loader/i386/pc/multiboot2.c: Likewise.
23995 * loader/i386/xnu.c: Likewise.
23996 * loader/ieee1275/multiboot2.c: Likewise.
23997 * loader/macho.c: Likewise.
23998 * loader/machoXX.c: Likewise.
23999 * loader/multiboot2.c: Likewise.
24000 * loader/multiboot_loader.c: Likewise.
24001 * loader/powerpc/ieee1275/linux.c: Likewise.
24002 * loader/sparc64/ieee1275/linux.c: Likewise.
24003 * loader/xnu.c: Likewise.
24004 * loader/xnu_resume.c: Likewise.
24005 * mmap/i386/pc/mmap.c: Likewise.
24006 * normal/menu_viewer.c: Likewise.
24007 * partmap/acorn.c: Likewise.
24008 * partmap/amiga.c: Likewise.
24009 * partmap/apple.c: Likewise.
24010 * script/lexer.c: Likewise.
24011 * term/gfxterm.c: Likewise.
24012 * term/i386/pc/serial.c: Likewise.
24013 * term/i386/pc/vga.c: Likewise.
24014 * term/ieee1275/ofconsole.c: Likewise.
24015 * term/terminfo.c: Likewise.
24016 * video/bitmap.c: Likewise.
24017 * video/efi_gop.c: Likewise.
24018 * video/efi_uga.c: Likewise.
24019 * video/fb/video_fb.c: Likewise.
24020 * video/i386/pc/vbe.c: Likewise.
24021 * video/readers/tga.c: Likewise.
24022 * video/video.c: Likewise.
24023
0ad46fd7 240242009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
24025
24026 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
24027 * commands/lspci.c: Likewise.
24028 * commands/probe.c: Likewise.
24029 * commands/xnu_uuid.c: Likewise.
24030 * conf/i386-coreboot.rmk: Likewise.
24031 * conf/i386-efi.rmk: Likewise.
24032 * conf/i386-ieee1275.rmk: Likewise.
24033 * conf/i386-pc.rmk: Likewise.
24034 * conf/powerpc-ieee1275.rmk: Likewise.
24035 * conf/sparc64-ieee1275.rmk: Likewise.
24036 * conf/x86_64-efi.rmk: Likewise.
24037 * fs/i386/pc/pxe.c: Likewise.
24038 * gettext/gettext.c: Likewise.
24039 * include/grub/efi/graphics_output.h: Likewise.
24040 * include/grub/i386/pc/memory.h: Likewise.
24041 * kern/env.c: Likewise.
24042 * kern/i386/qemu/startup.S: Likewise.
24043 * lib/i386/pc/biosnum.c: Likewise.
24044 * lib/i386/relocator.c: Likewise.
24045 * lib/i386/relocator_asm.S: Likewise.
24046 * lib/relocator.c: Likewise.
24047 * loader/i386/bsd.c: Likewise.
24048 * loader/i386/multiboot.c: Likewise.
24049 * loader/i386/pc/chainloader.c: Likewise.
24050 * loader/i386/xnu.c: Likewise.
24051 * loader/xnu.c: Likewise.
24052 * normal/main.c: Likewise.
24053 * normal/menu_text.c: Likewise.
24054 * util/getroot.c: Likewise.
24055 * util/grub-mkconfig_lib.in: Likewise.
24056 * util/grub.d/00_header.in: Likewise.
24057 * util/i386/pc/grub-mkimage.c: Likewise.
24058 * util/mkisofs/eltorito.c: Likewise.
24059 * util/mkisofs/exclude.h: Likewise.
24060 * util/mkisofs/hash.c: Likewise.
24061 * util/mkisofs/iso9660.h: Likewise.
24062 * util/mkisofs/joliet.c: Likewise.
24063 * util/mkisofs/mkisofs.c: Likewise.
24064 * util/mkisofs/mkisofs.h: Likewise.
24065 * util/mkisofs/multi.c: Likewise.
24066 * util/mkisofs/name.c: Likewise.
24067 * util/mkisofs/rock.c: Likewise.
24068 * util/mkisofs/tree.c: Likewise.
24069 * util/mkisofs/write.c: Likewise.
24070 * video/efi_gop.c: Likewise.
24071
009ec743
VS
240722009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
24073
24074 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
24075 size counting.
24076
0ad46fd7 240772009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
24078
24079 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
24080 * genmk.rb (class SCRIPT): Modify the target file instead of source.
24081
d3d30ea0
VS
240822009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24083
24084 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
24085 (GRUB_MOD_INIT(memrw)): Update help line.
24086
a34f5c70
VS
240872009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24088
24089 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
24090 Use grub_extcmd_t. All users updated.
24091 (options): New variable.
24092 (grub_cmd_read): Restructure for readability. Support "-v" option.
24093 (grub_cmd_write): Restructure for readability.
24094
0ad46fd7 240952009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
24096
24097 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
24098
0ad46fd7 240992009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
24100
24101 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
24102 with the actual contents of the correspondending make variable.
24103 * util/grub-mkrescue.in (pkglib_DATA): New variable.
24104 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
24105 specifying `*.lst' and `efiemu??.o'
24106
0ad46fd7 241072009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
24108
24109 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
24110 after function name.
24111 Noticed by Rene Engelhard <rene@debian.org>.
24112
dc77a799
VS
241132009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24114
24115 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
24116 (options): New variable.
24117 (iospace): Likewise.
24118 (grub_lspci_iter): List IO spaces if "-i" was given.
24119 (grub_cmd_lspci): Parse options.
24120 (GRUB_MOD_INIT(lspci)): Use extcmd.
24121 (GRUB_MOD_FINI(lspci)): Likewise.
24122
0ad46fd7 241232009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
24124
24125 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
24126 `function' keyword.
24127 Patch by Tony Mancill <tmancill@debian.org>.
24128
b5d5993b
VS
241292009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24130
24131 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
24132 (grub_uhci_portstatus): Likewise.
24133 (grub_uhci_portstatus): Add necessary delay.
11d18281 24134 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 24135
941903f2 241362009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 24137
941903f2 24138 * commands/acpi.c (options): Fix capitalizations and/or full stops.
24139 (GRUB_MOD_INIT): Likewise.
24140 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 24141 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
24142 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 24143 * commands/efi/loadbios.c (enable_rom_area): Likewise.
24144 (enable_rom_area): Likewise.
24145 (GRUB_MOD_INIT): Likewise.
24146 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
24147 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
24148 * commands/handler.c (GRUB_MOD_INIT): Likewise.
24149 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
24150 * commands/hexdump.c (options): Likewise.
24151 * commands/i386/cpuid.c (options): Likewise.
24152 (GRUB_MOD_INIT): Likewise.
24153 * commands/i386/pc/drivemap.c (options): Likewise.
24154 (GRUB_MOD_INIT): Likewise.
24155 * commands/i386/pc/halt (options): Likewise.
24156 (GRUB_MOD_INIT): Likewise.
24157 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
24158 * commands/i386/pc/pxecmd.c (options): Likewise.
24159 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
24160 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
24161 * commands/keystatus.c (options): Likewise.
24162 (GRUB_MOD_INIT): Likewise.
24163 * commands/loadenv.c (options): Likewise.
24164 * commands/ls.c (options): Likewise.
24165 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
24166 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
24167 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
24168 * commands/parttool.c (helpmsg): Likewise.
24169 * commands/probe.c (options): Likewise.
24170 * commands/read.c (GRUB_MOD_INIT): Likewise.
24171 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
24172 * commands/search.c (options): Likewise.
24173 * commands/sleep.c (options): Likewise.
24174 * commands/test.c (GRUB_MOD_INIT): Likewise.
24175 * commands/true.c (GRUB_MOD_INIT): Likewise.
24176 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
24177 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
24178 * lib/arg.c (help_options): Likewise.
e9bbb4e7 24179 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
24180 `$(XGETTEXT)'.
98a50553 24181 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 24182
0ad46fd7 241832009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 24184
ef3c2c3a 24185 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
24186 instead of specifying them explicit.
24187
7922f68b
RM
241882009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24189
24190 * NEWS: Add grub-probe support for GNU/Hurd.
24191
537ce47f
RM
241922009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24193
24194 * NEWS: gettext was added after 1.97.
24195
9b214e3a
RM
241962009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24197
24198 * util/mkisofs/msdos_partition.h: New file (based on
24199 include/grub/msdos_partition.h).
24200 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
24201 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
24202 (ld_options, main): Recognize --protective-msdos-label.
24203 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
24204 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
24205 (padblock_write): If `use_protective_msdos_label' is set, patch a
24206 protective DOS-style label in the output image.
24207
24208 * util/grub-mkrescue.in: Use --protective-msdos-label.
24209
e9309813
RM
242102009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24211
24212 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
24213 boot.
24214
0ae56929
RM
242152009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24216
24217 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
24218 variables.
24219 (ld_options, main): Recognize `--embedded-boot'.
24220 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
24221 declarations.
24222 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
24223 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
24224 (padblock_write): Likewise. Rewrite to support embedded boot image.
24225
24226 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
24227 for BIOS-based disk boot instead of only ElTorito.
24228
b15937b1
RM
242292009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24230
24231 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
24232 build (not needed for bootstrap).
24233
52cc3ce0
RM
242342009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24235
24236 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
24237 from i386-pc build (not needed for bootstrap).
24238 Rewrite a pair of strings.
24239
36f5ff04
RM
242402009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24241
24242 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
24243
973c6c85 242442009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
24245
24246 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
24247
05d21547
AB
242482009-12-21 Andreas Born <futur.andy@googlemail.com>
24249
24250 * kern/env.c (grub_env_context_open): Mark exported variable for
24251 reexport.
24252
0175d51f
AB
242532009-12-21 Andreas Born <futur.andy@googlemail.com>
24254
24255 * kern/env.c (grub_env_export): Create nonexistent variables before
24256 exporting.
24257
7f39d92f 242582009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 24259
7f39d92f 24260 * include/grub/auth.h: Include `<grub/i18n.h>'.
24261 (GRUB_GET_PASSWORD): Gettextizze string.
24262 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
24263 menu_text.c.
24264 (grub_utf8_to_ucs4_alloc): Fix indentation.
24265 (grub_print_ucs4): Likewise.
24266 (grub_getstringwidth): Likewise.
24267 (print_message_indented): New declaration.
24268 * normal/auth.c: Include `<grub/i18n.h>'.
24269 (grub_auth_check_authentication): Gettexttize string.
24270 * normal/cmdline.c: Include `<grub/i18n.h>'.
24271 (grub_cmdline_get): Gettextizze.
24272 * normal/color.c: Include `<grub/i18n.h>'.
24273 (grub_parse_color_name_pair): Gettexttize strings.
24274 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
24275 string (use `print_message_indented').
24276 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
24277 `include/grub/normal.h'.
24278 (print_message_indented): Renamed to ...
24279 (grub_print_message_indented): ... this. Remove `static' qualifer (now
24280 used in normal/main.c).
24281 (print_message): Use `grub_print_message_indented' instead of
24282 `print_message_indented'.
24283 (print_timeout): Likewise.
24284 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
24285 (grub_normal_print_device_info): Gettexttize strings.
24286 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
24287
3041d898
VS
242882009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
24289
24290 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
24291 of arguments. Return number of tokens and not arguments. All users
24292 updated.
24293
de15bf8e
VS
242942009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
24295
24296 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
24297 non-MSDOS paritions.
24298
e0a6ca52
VS
242992009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
24300
24301 * include/grub/types.h (UNUSED): Removed since it conflicts with
24302 NetBSD headers. All users changed to direct __attribute__ ((unused)).
24303 Reported by Grégoire Sutre.
24304
b99518d1 243052009-12-19 Carles Pina i Estany <carles@pina.cat>
24306
24307 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
24308 (grub_print_ucs4_alloc): Likewise.
24309 (grub_getstringwidth): Likewise.
24310 * normal/main.c (grub_normal_init_page): Gettextize version string.
24311 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
24312 (getstringwidth): Renamed to ...
24313 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
24314 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
24315 (grub_print_ucs4): Remove `static' qualifer (now used in
24316 normal/main.c).
24317 * po/POTFILES: Add normal/main.c.
24318
bfd5e52b 243192009-12-19 Carles Pina i Estany <carles@pina.cat>
24320
24321 * normal/menu_text.c (STANDARD_MARGIN): New macro.
24322 (print_message_indented): Add `margin_left' and `margin_right'
24323 parameters.
24324 (print_message): Update `print_message_indented' calls. Adds '\n' to the
24325 strings.
24326 (print_timeout): Use `print_message_indented' to print the message.
24327 Deletes `second_stage' parameter.
24328 (run_menu): Update `print_timeout' calls.
24329
5a1ad2b9
VS
243302009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24331
24332 Fix console palette on OpenFirmware.
24333
24334 * term/ieee1275/ofconsole.c (MAX): Removed.
24335 (colors): Redone based on VGA palette.
24336 (grub_ofconsole_setcolor): Discard brightness bit since only 8
24337 colors are supported.
24338 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
24339
b045f00a
VS
243402009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24341
24342 Fix potential EfiEmu double prepare.
24343
24344 * efiemu/main.c (prepared): New variable
24345 (grub_efiemu_unload): Set prepare to '0'.
24346 (grub_efiemu_prepare): Return if already prepared. Set prepared.
24347
24348 set_virtual_address_map support.
24349
24350 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
24351 prototype.
24352 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
24353 prototype.
24354 (grub_efiemu_crc32): Likewise.
24355 (grub_efiemu_crc64): Likewise.
24356 (grub_efiemu_set_virtual_address_map): Likewise.
24357 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
24358 New definition.
24359 (grub_autoefi_set_virtual_address_map): Likewise.
24360 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
24361 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
24362 Restructure flow to accomodate it.
24363 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
24364 (grub_efiemu_crc): Recompute CRC32.
24365 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
24366 (efiemu_ptv_relocated): ... this. Made global. All users updated.
24367 * efiemu/symbols.c (relocated_handle): New variable.
24368 (grub_efiemu_free_syms): Free relocated_handle.
24369 (grub_efiemu_alloc_syms): Allocate relocated_handle.
24370 (grub_efiemu_write_sym_markers): New function.
24371 (grub_efiemu_set_virtual_address_map): Likewise.
24372
24373 Newer XNU parameters.
24374
24375 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
24376 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
24377 (grub_xnu_fill_devicetree): New prototype.
24378 (grub_xnu_heap_real_start): New variable.
24379 * loader/xnu.c (get_name_ptr): New function.
24380 (grub_xnu_load_driver): Fill namelen and name.
24381
24382 64-bit xnu support.
24383
24384 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
24385 and 'loader/macho64.c'.
24386 * conf/i386-pc.rmk: Likewise.
24387 * conf/x86_64-efi.rmk: Likewise.
24388 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
24389 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
24390 * include/grub/macho.h (grub_macho_segment64): New structure.
24391 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
24392 (grub_macho_size32): ... to this.
24393 (grub_macho32_get_entry_point): Renamed from ...
24394 (grub_macho_get_entry_point32): ... to this.
24395 (grub_macho_contains_macho64): New prototype.
24396 (grub_macho_size64): Likewise.
24397 (grub_macho_get_entry_point64): Likewise.
24398 (grub_macho32_load): Renamed from ...
24399 (grub_macho_load32): ... to this.
24400 (grub_macho32_filesize): Renamed from ...
24401 (grub_macho_filesize32): ... to this.
24402 (grub_macho32_readfile): Renamed from ...
24403 (grub_macho_readfile32): ... to this.
24404 (grub_macho_filesize64): New prototype.
24405 (grub_macho_readfile64): Likewise.
24406 (grub_macho_parse32): Likewise.
24407 (grub_macho_parse64): Likewise.
24408 * loader/macho.c: Split into ...
24409 * loader/machoXX.c: ... and this. Replace 32 with XX.
24410 * loader/macho32.c: New file.
24411 * loader/macho64.c: Likewise.
24412 * loader/xnu.c (grub_xnu_is_64bit): New variable.
24413 (grub_cmd_xnu_kernel): Make 32-bit only.
24414 (grub_cmd_xnu_kernel64): New function.
24415 (grub_xnu_load_driver): Support Mach-O 64.
24416 (grub_cmd_xnu_mkext): Likewise.
24417 * util/grub.d/30_os-prober.in (osx_entry): New function.
24418 Generate entries for 64-bit boot too.
24419
24420 Eliminate ad-hoc tree format in XNU and EfiEmu.
24421
24422 * efiemu/main.c (grub_efiemu_prepare): Update comment.
24423 * efiemu/pnvram.c: Rewritten to use environment variables.
24424 All users updated.
24425
24426 Inline utf16_to_utf8.
24427
24428 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
24429 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
24430 All users updated.
24431 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
24432
24433 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
24434 * commands/usbtest.c (grub_usb_get_string): ... move here.
24435 (usb_print_str): Fix error handling.
24436 * include/grub/usb.h (grub_usb_get_string): Remove.
24437
24438 UTF-8 to UTF-16 transformation.
24439
24440 * conf/common.rmk (pkglib_MODULES): Add charset.mod
24441 (charset_mod_SOURCES): New variable.
24442 (charset_mod_CFLAGS): Likewise.
24443 (charset_mod_LDFLAGS): Likewise.
24444 * include/grub/utf.h: New file.
24445 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
24446
24447 Support for device properties.
24448
24449 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
24450 (grub_xnu_devprop_device_header): Likewise.
24451 (grub_xnu_devprop_device_descriptor): Likewise.
24452 (grub_xnu_devprop_add_device): New prototype.
24453 (grub_xnu_devprop_remove_device): Likewise.
24454 (grub_xnu_devprop_remove_property): Likewise.
24455 (grub_xnu_devprop_add_property_utf8): Likewise.
24456 (grub_xnu_devprop_add_property_utf16): Likewise.
24457 (grub_cpu_xnu_init): Likewise.
24458 (grub_cpu_xnu_fini): Likewise.
24459 (grub_cpu_xnu_unload): Likewise.
24460 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
24461 (property_descriptor): Likewise.
24462 (devices): New variable.
24463 (grub_xnu_devprop_remove_property): New function.
24464 (grub_xnu_devprop_add_device): Likewise.
24465 (grub_xnu_devprop_remove_device): Likewise.
24466 (grub_xnu_devprop_add_property): Likewise.
24467 (grub_xnu_devprop_add_property_utf8): Likewise.
24468 (grub_xnu_devprop_add_property_utf16): Likewise.
24469 (hextoval): Likewise.
24470 (grub_cpu_xnu_fill_devprop): Likewise.
24471 (grub_cmd_devprop_load): Likewise.
24472 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
24473 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
24474 (cmd_devprop_load): New variable.
24475 (grub_cpu_xnu_init): New function.
24476 (grub_cpu_xnu_fini): Likewise.
24477 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
24478 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
24479 (grub_cmd_xnu_devtree): Likewise.
24480 (hextoval): New function.
24481 (unescape): Likewise.
24482 (grub_xnu_fill_devicetree): Likewise.
24483
24484 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
24485 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
24486
0945f181
VS
244872009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24488
24489 Workaround for broken ATI VBE.
24490
24491 * video/i386/pc/vbe.c (last_set_mode): New variable.
24492 (grub_vbe_set_video_mode): Set 'last_set_mode'.
24493 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
24494 (grub_video_vbe_setup): Don't check for reserved flag.
24495
0ad46fd7 244962009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
24497
24498 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
24499 the `find' command.
24500
c179ebe4
VS
245012009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
24502
24503 UUID support for HFS.
24504
24505 * fs/hfs.c (grub_hfs_uuid): New function.
24506 (grub_hfs_fs): New value .uuid.
24507 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
24508
0ad46fd7 245092009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
24510
24511 Fix a segfault with parsing unknown long options.
24512
24513 * util/grub-mkrelpath.c (options): Zero terminate it.
24514
c4a3e41a
CPE
245152009-12-13 Carles Pina i Estany <carles@pina.cat>
24516
24517 * include/grub/misc.h (grub_puts): New declaration.
24518 (grub_puts_): Likewise.
a22008a6 24519 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
24520 (grub_puts_): Likewise.
24521
2e8a7602
RM
245222009-12-13 Robert Millan <rmh.grub@aybabtu.com>
24523
24524 * util/grub-probe.c (probe): Improve error message.
24525
b50b77b9
RM
245262009-12-13 Robert Millan <rmh.grub@aybabtu.com>
24527
24528 * loader/i386/multiboot_elfxx.c
24529 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
24530 initialization.
24531
245322009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
24533
24534 Relocator framework
24535
24536 * loader/i386/xnu_helper.S: Removed. All users updated.
24537 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
24538 (relocator_mod_SOURCES): New variable.
24539 (relocator_mod_CFLAGS): Likewise.
24540 (relocator_mod_LDFLAGS): Likewise.
24541 (relocator_mod_ASFLAGS): Likewise.
24542 * conf/x86_64.rmk: Likewise.
24543 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
24544 (grub_multiboot_payload_entry_offset): Likewise.
24545 (grub_multiboot_forward_relocator): Likewise.
24546 (grub_multiboot_forward_relocator_end): Likewise.
24547 (grub_multiboot_backward_relocator): Likewise.
24548 (grub_multiboot_backward_relocator_end): Likewise.
24549 (grub_multiboot_payload_eip): New variable.
24550 (grub_multiboot_payload_orig): Likewise.
24551 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
24552 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
24553 * include/grub/i386/memory.h
24554 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
24555 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
24556 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
24557 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
24558 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
24559 * include/grub/i386/relocator.h: New file.
24560 * include/grub/x86_64/relocator.h: Likewise.
24561 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
24562 (XNU_RELOCATOR): New macro.
24563 (grub_xnu_launcher_start): Remove.
24564 (grub_xnu_launcher_end): Likewise.
24565 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
24566 (grub_xnu_heap_real_start): Remove.
24567 (grub_xnu_heap_start): Change to void *. All users updated.
24568 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
24569 * lib/i386/relocator.c: New file.
24570 * lib/i386/relocator_asm.S: Likewise.
24571 * lib/i386/relocator_backward.S: Likewise.
24572 * lib/mips/relocator.c: Likewise.
24573 * lib/mips/relocator_asm.S: Likewise.
24574 * lib/relocator.c: Likewise.
24575 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
24576 (entry): Removed.
24577 (playground): Likewise.
24578 (grub_multiboot_payload_orig): New variable.
24579 (grub_multiboot_payload_dest): Likewise.
24580 (grub_multiboot_payload_size): Likewise.
24581 (grub_multiboot_payload_eip): Likewise.
24582 (grub_multiboot_payload_esp): Likewise.
24583 (grub_multiboot_boot): Use grub_relocator32_boot.
24584 (grub_multiboot_unload): Free relocators.
24585 (grub_multiboot): Setup stack. Use relocators.
24586 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
24587 (grub_multiboot_load_elfXX): Use relocators.
24588 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
24589 (grub_multiboot_payload_size): Likewise.
24590 (grub_multiboot_payload_dest): Likewise.
24591 (grub_multiboot_payload_entry_offset): Likewise.
24592 (grub_multiboot_forward_relocator): Likewise.
24593 (grub_multiboot_backward_relocator): Likewise.
24594 (grub_multiboot_real_boot): Likewise.
24595 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
24596 (grub_xnu_entry_point): Likewise.
24597 (grub_xnu_arg1): Likewise.
24598 (grub_xnu_stack): Likewise.
24599 (grub_xnu_launch): Removed.
24600 (grub_xnu_boot_resume): New function.
24601 (grub_xnu_boot): Use relocators.
24602 * loader/i386/xnu_helper.S: Removed.
24603 * loader/xnu.c (grub_xnu_heap_start): New variable.
24604 (grub_xnu_heap_size): Likewise.
24605 (grub_xnu_heap_malloc): Use relocators.
24606 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
24607
29eb90c6
VS
246082009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
24609
24610 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
24611 anything.
24612
31027430
CPE
246132009-12-13 Carles Pina i Estany <carles@pina.cat>
24614
24615 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
24616 GRUB_ERR_NONE before calling grub_env_set.
24617
dc0c71d9
RM
246182009-12-12 Robert Millan <rmh@aybabtu.com>
24619
24620 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
24621 * genmk.rb (video): New variable.
24622 (CLEANFILES, VIDEOFILES): Add #{video}.
24623 (#{video}): New target rule.
24624 * genvideolist.sh: New file.
24625 * Makefile.in (pkglib_DATA): Add video.lst.
24626 (video.lst): New target rule.
24627 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
24628 `video.lst'.
24629 * util/grub.d/30_os-prober.in: Replace `vbe' with
24630 ${GRUB_VIDEO_BACKEND}.
24631
2a4bfcf0
RM
246322009-12-11 Robert Millan <rmh.grub@aybabtu.com>
24633
24634 * THANKS: Add David Miller.
24635
2a3aa4d5
RM
246362009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
24637
24638 libpciaccess support.
24639
24640 * Makefile.in (LIBPCIACCESS): New variable.
24641 (enable_grub_emu_pci): Likewise.
24642 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
24643 util/pci.c and commands/lspci.c.
24644 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
24645 * configure.ac (grub-emu-pci): New option.
24646 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
24647 (grub_pci_device_unmap_range): Likewise.
24648 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
24649 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
24650 (grub_pci_address_t) [!GRUB_UTIL]: New type.
24651 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
24652 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
24653 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
24654 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
24655 * include/grub/pciutils.h: New file.
24656 * util/pci.c: Likewise.
24657
0ad46fd7 246582009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
24659
24660 * util/misc.c: Don't include <errno.h> twice.
24661
0ad46fd7 246622009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
24663
24664 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
24665 name in an error message.
24666 (grub_biosdisk_rw): Likewise.
24667
2e59983c
VS
246682009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
24669
24670 Eliminate NTFS 4Gib barrier.
24671
24672 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
24673 (read_run_data): Likewise.
24674 (grub_ntfs_read_run_list): Likewise.
24675 (grub_ntfs_read_block): Likewise.
24676 (grub_ntfs_iterate_dir): Likewise.
24677 (read_mft): Likewise.
24678 (read_data): Likewise.
24679 Use COM_LOG_LEN.
24680 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
24681 to avoid 64-bit division
24682 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
24683 (grub_ntfs_rlst): Use grub_disk_addr_t.
24684
71ee178a
VS
246852009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
24686
24687 Eliminate grub-fstest 4Gib barrier.
24688
24689 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
24690 (read_file): Fix error reporting.
24691
2520d4b8
VS
246922009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
24693
24694 Eliminate hexdump 4Gib barrier.
24695
24696 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
24697 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
24698
e1f27065
VS
246992009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
24700
24701 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
24702 Fixes amarsh bug.
24703
1a0f7f45
RM
247042009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
24705
24706 Remove miscellaneous files in distclean target.
24707
24708 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
24709
c631d9fb
CW
247102009-12-09 Colin Watson <cjwatson@ubuntu.com>
24711
24712 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
24713 if they're already set. This resolves the conflict between my
24714 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
24715 fixing the --grub-probe option again.
24716 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
24717 change on 2009-10-06, so that we now once again source
24718 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
24719
7c7b6106
RM
247202009-12-08 Robert Millan <rmh.grub@aybabtu.com>
24721
24722 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
24723 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
24724 `util/devicemap.c'.
24725
e3069ec1
CPE
247262009-12-08 Carles Pina i Estany <carles@pina.cat>
24727
24728 * include/grub/misc.h (grub_printf_): New declaration.
24729 * kern/misc.c (grub_printf_): New definition.
24730 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
24731 instead of `grub_printf' and `_'.
24732 * normal/menu_entry.c (store_completion): Likewise.
24733 (run): Likewise.
24734 (grub_menu_entry_run): Likewise.
24735 * normal/menu_text.c (grub_wait_after_message): Likewise.
24736 (notify_booting): Likewise.
24737 (notify_fallback): Likewise.
24738 (notify_execution_failure): Likewise.
24739
d6ceebf1
CW
247402009-12-07 Colin Watson <cjwatson@ubuntu.com>
24741
24742 * configure.ac: Check for vasprintf.
24743 * util/misc.c (asprintf): Move allocation from here ...
24744 (vasprintf): ... to here. New function.
24745 (xasprintf): New function.
24746 * include/grub/util/misc.h (vasprintf, xasprintf): Add
24747 prototypes.
24748 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
24749 * util/grub-mkfont.c (write_font): Likewise.
24750 * util/grub-probe.c (probe): Likewise.
24751 * util/hostdisk.c (make_device_name): Likewise.
24752
de6daa8b
DM
247532009-12-06 David S. Miller <davem@sunset.davemloft.net>
24754
24755 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
24756 anything even prefixed with 'cdrom' as a cdrom.
24757
0ad46fd7 247582009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
24759
24760 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
24761 mount points.
24762
98d3dc02
CPE
247632009-12-05 Carles Pina i Estany <carles@pina.cat>
24764
24765 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
24766 grub_gettext_msg_list.
24767 (grub_gettext_gettranslation_from_position): Return const char *
24768 and not char *.
a2c1332b 24769 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
24770 returns from the list if existing there.
24771 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
24772 (grub_gettext_delete_list): Delete the list.
24773 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
24774 lang environment variable is changed.
24775 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
24776
b283f108
VS
247772009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
24778
24779 Rename kernel.mod to kernel.img.
24780
24781 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
24782 (kernel_mod_EXPORTS): Rename to ...
24783 (kernel_img_EXPORTS): ... this.
24784 (kernel_mod_SOURCES): Rename to ...
24785 (kernel_img_SOURCES): ... this.
24786 (kernel_mod_HEADERS): Rename to ...
24787 (kernel_img_HEADERS): ... this. All users updated.
24788 (kernel_mod_CFLAGS): Rename to ...
24789 (kernel_img_CFLAGS): ... this.
24790 (kernel_mod_ASFLAGS): Rename to ...
24791 (kernel_img_ASFLAGS): ... this.
24792 (kernel_mod_LDFLAGS): Rename to ...
24793 (kernel_img_LDFLAGS): ... this.
24794 * conf/x86_64-efi.rmk: Likewise.
24795 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
24796 (read_kernel_image): ... this. All users updated.
24797 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
24798
69055f8a
CPE
247992009-12-05 Carles Pina i Estany <carles@pina.cat>
24800
24801 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
24802 (print_spaces): New function.
24803 (grub_print_ucs4): New function.
24804 (getstringwidth): New function.
24805 (print_message_indented): New function.
24806 (print_message): Gettexttize strings using print_message_indented.
24807 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
24808 width.
24809 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 24810 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
24811 Gettextize.
24812 * normal/menu_entry.c (store_completion): Cleanup the gettextized
24813 string.
24814 (run): Likewise.
24815 (grub_menu_entry_run): Likewise.
24816 * PO/POTFILES: Add normal/menu_entry.c.
24817
f616f51c
VS
248182009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
24819
24820 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
24821
57bbe3be
CPE
248222009-12-05 Carles Pina i Estany <carles@pina.cat>
24823
24824 * util/grub-install.in: Install gettext .mo files.
24825 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
24826
013d67a1
CPE
248272009-12-05 Carles Pina i Estany <carles@pina.cat>
24828
24829 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
24830 grub_dprintf.
24831
fb954db0
RM
248322009-12-05 Robert Millan <rmh.grub@aybabtu.com>
24833
24834 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
24835 non-firmware-dependant one in realmode.S takes precedence.
24836
6b8474f8
RM
248372009-12-04 Robert Millan <rmh.grub@aybabtu.com>
24838
24839 * commands/halt.c: Replace misc arch-specific headers with
24840 `<grub/misc.h>'.
24841 * commands/reboot.c: Likewise.
24842 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
24843 `<grub/misc.h>'.
24844 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
24845 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
24846 (kernel_img_SOURCES): ... to here.
24847
24848 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
24849 * include/grub/i386/pc/init.h: Likewise.
24850 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
24851 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
24852
24853 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
24854
24855 * include/grub/i386/halt.h: Remove.
24856 * include/grub/i386/reboot.h: Likewise.
24857
24858 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
24859
4b2e6ca2
DM
248602009-12-03 David S. Miller <davem@sunset.davemloft.net>
24861
24862 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
24863 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
24864 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
24865 "progname.h"
24866 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
24867 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24868 (usage): Add missing comma in printf.
24869
5239348f
RM
248702009-12-02 Robert Millan <rmh.grub@aybabtu.com>
24871
24872 Use the same reboot approach on i386 coreboot and qemu as we do on
24873 BIOS.
24874
24875 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
24876 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
24877 * kern/i386/reboot.c: Remove.
24878 * include/grub/i386/reboot.h (grub_reboot): Export function.
24879 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
24880 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
24881 0xf000:0xfff0 instead of 0xffff:0x0000.
24882 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
24883 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
24884
ef34cbd4
RM
248852009-11-30 Robert Millan <rmh.grub@aybabtu.com>
24886
24887 Fix $srcdir != $objdir build.
24888
24889 * Makefile.in (po/%.po): Rewrite as ...
24890 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
24891
dc9837ea
ST
248922009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
24893
24894 Fix GNU/Hurd grub-install crash.
24895 * util/grub-probe.c (probe): Try to access `path' only when it is not
24896 NULL.
24897
2f857f98
VS
248982009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
24899
24900 Correct module naming.
24901
24902 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
24903 (GRUB_MOD_INIT(efi_uga)): ... to this
24904 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
24905 (GRUB_MOD_FINI(efi_uga)): ... to this
24906 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
24907 (GRUB_MOD_INIT(efi_gop)): ... to this
24908 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
24909 (GRUB_MOD_FINI(efi_gop)): ... to this
24910
c5448046
RM
249112009-11-28 Robert Millan <rmh.grub@aybabtu.com>
24912
24913 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
24914 translatable.
24915 (usage): Translate `arg' strings using gettext().
24916 Thanks to Jordi Mallach for the suggestion.
24917
c85184ad
VS
249182009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
24919
24920 GOP support. Based on patch from Bean
24921 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
24922
24923 * video/efi_gop.c: New file.
24924 * include/grub/efi/graphics_output.h: Likewise.
24925 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
24926 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
24927 variables.
24928 * conf/x86_64-efi.rmk: Likewise.
24929
8a4c48d8
VS
249302009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
24931
24932 Rename efi_fb to efi_uga.
24933
24934 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
24935 'efi_uga.mod'.
24936 (efi_fb_mod_SOURCES): Rename this ...
24937 (efi_uga_mod_SOURCES): ... to this.
24938 (efi_fb_mod_CFLAGS): Rename this ...
24939 (efi_uga_mod_CFLAGS): ... to this.
24940 (efi_fb_mod_LDFLAGS): Rename this ...
24941 (efi_uga_mod_LDFLAGS): ... to this.
24942 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
24943 'efi_uga.mod'.
24944 (efi_fb_mod_SOURCES): Rename this ...
24945 (efi_uga_mod_SOURCES): ... to this.
24946 (efi_fb_mod_CFLAGS): Rename this ...
24947 (efi_uga_mod_CFLAGS): ... to this.
24948 (efi_fb_mod_LDFLAGS): Rename this ...
24949 (efi_uga_mod_LDFLAGS): ... to this.
24950 * video/efi_fb.c: Move this ...
24951 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
24952
fb6c1a7b
RM
249532009-11-27 Robert Millan <rmh.grub@aybabtu.com>
24954
24955 * po/README: New file. Explain our PO file workflow.
24956
3bc7896c
RM
249572009-11-27 Robert Millan <rmh.grub@aybabtu.com>
24958
24959 * po/ChangeLog: Remove. Move relevant entries back to ...
24960 * ChangeLog: ... here.
24961 * po/ca.po: Remove (now handled by TLP).
24962 * po/id.po: Likewise.
24963 * po/zh_CN.po: Likewise.
24964 * Makefile.in (LINGUAS): Initialize in a way that supports
24965 empty set.
24966
9ed4841d
RM
249672009-11-27 Robert Millan <rmh.grub@aybabtu.com>
24968
24969 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
24970 reliing on po/LINGUAS.
24971 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
24972 (po/%.po): ... this.
24973
0ad46fd7 249742009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
24975
24976 * util/i386/efi/grub-mkimage.c: Include "progname.h".
24977 (main): Use `program_name' instead of nonexistent `progname'.
24978
e30dd392
FZ
249792009-11-26 Felix Zielcke <fzielcke@z-51.de>
24980
24981 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
24982 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
24983
7656de4f
RM
249842009-11-26 Robert Millan <rmh.grub@aybabtu.com>
24985
24986 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
24987 commit.
24988 * conf/i386-efi.rmk: Likewise.
24989 * conf/i386-ieee1275.rmk: Likewise.
24990 * conf/powerpc-ieee1275.rmk: Likewise.
24991 * conf/sparc64-ieee1275.rmk: Likewise.
24992 * conf/x86_64-efi.rmk: Likewise.
24993
db77c4d4
FZ
249942009-11-26 Felix Zielcke <fzielcke@z-51.de>
24995
24996 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
24997
a755bb04
FZ
249982009-11-26 Felix Zielcke <fzielcke@z-51.de>
24999
25000 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
25001
8a4c07fd
RM
250022009-11-26 Robert Millan <rmh.grub@aybabtu.com>
25003
25004 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
25005 (grub_mkdevicemap_SOURCES): New variable.
25006 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
25007 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
25008 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
25009 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
25010 (grub_mkdevicemap_SOURCES): Remove.
25011 * conf/i386-efi.rmk: Likewise.
25012 * conf/i386-ieee1275.rmk: Likewise.
25013 * conf/i386-pc.rmk: Likewise.
25014 * conf/powerpc-ieee1275.rmk: Likewise.
25015 * conf/sparc64-ieee1275.rmk: Likewise.
25016 * conf/x86_64-efi.rmk: Likewise.
25017 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
25018 (usage): Fix strings to use `program_name'.
25019 (main): Initialize gettext.
25020 * util/grub-editenv.c: Likewise.
25021 * util/grub-emu.c: Likewise.
25022 * util/grub-fstest.c: Likewise.
25023 * util/grub-mkdevicemap.c: Likewise.
25024 * util/grub-mkfont.c: Likewise.
25025 * util/grub-mkrelpath.c: Likewise.
25026 * util/grub-pe2elf.c: Likewise.
25027 * util/grub-probe.c: Likewise.
25028 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
25029 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
25030 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25031
25032 * util/misc.c: Include `"progname.h"'.
25033 (progname): Remove variable.
25034 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
25035
6f61ed55
FZ
250362009-11-25 Felix Zielcke <fzielcke@z-51.de>
25037
25038 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
25039 printf and print a newline after the menuentry header line.
25040 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
25041
f022876b
FZ
250422009-11-25 Felix Zielcke <fzielcke@z-51.de>
25043
25044 autoconf >= 2.60 support $(localedir).
25045
25046 * INSTALL: Note that autoconf 2.60 is required.
25047 * configure.ac (AC_PREREQ): Bump to 2.60.
25048 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
25049 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
25050
6717926e
YB
250512009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
25052
25053 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
25054 aclocal is run.
25055
08806a54
RM
250562009-11-25 Robert Millan <rmh.grub@aybabtu.com>
25057
25058 * normal/main.c (grub_normal_read_line): Fix off-by-one
25059 buffer overflow.
25060
13b33fba
RM
250612009-11-25 Robert Millan <rmh.grub@aybabtu.com>
25062
25063 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
25064 "parser.grub" in grub_command_execute() call.
25065
4a8572e9
CPE
250662009-11-24 Carles Pina i Estany <carles@pina.cat>
25067
25068 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
25069 * conf/i386-efi.rmk: Likewise.
25070 * conf/i386-ieee1275.rmk: Likewise.
25071 * conf/i386-pc.rmk: Likewise.
25072 * conf/powerpc-ieee1275.rmk: Likewise.
25073 * conf/sparc64-ieee1275.rmk: Likewise.
25074 * conf/x86_64-efi.rmk: Likewise.
25075 * gettext/gettex.c: Include <grub/i18n.h>.
25076 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
25077 here ...
25078 * include/grub/i18n.h: ... to here
25079 * include/grub/i18n.h: ... to here.
25080 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 25081 (grub_gettext_dummy): Move above user.
4a8572e9 25082
bee48093
FZ
250832009-11-24 Felix Zielcke <fzielcke@z-51.de>
25084
25085 * util/Makefile.in (install-local): Convert a `for' into a normal
25086 shell expansion.
25087
a031e91c
RM
250882009-11-24 Robert Millan <rmh.grub@aybabtu.com>
25089
25090 * autogen.sh: Add automake call.
25091 * config.guess: Remove.
25092 * config.sub: Likewise.
25093 * install-sh: Likewise.
25094
26bec39d
FZ
250952009-11-24 Felix Zielcke <fzielcke@z-51.de>
25096
25097 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
25098
8e2532fd
FZ
250992009-11-24 Felix Zielcke <fzielcke@z-51.de>
25100
25101 * util/Makefile.in (install-local): Convert a make `$(foreach)'
25102 function to a normal shell `for'.
25103
fefa1b7d
FZ
251042009-11-24 Felix Zielcke <fzielcke@z-51.de>
25105
25106 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25107
4501250b
FZ
251082009-11-24 Felix Zielcke <fzielcke@z-51.de>
25109
25110 * util/grub-mkrelpath.c: New file.
25111 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
25112 (grub_mkrelpath_SOURCES): New variable.
25113 * include/grub/util/misc.h: New function prototype.
25114 * util/misc.c (make_system_path_relative_to_its_root): New function.
25115
25116 * util/grub-mkconfig_lib.in (bindir): New variable.
25117 (grub_mkrelpath): Likewise.
25118 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
25119
25120 * util/probe.c (probe): Make the file path relative to its root.
25121 Change a info message to use the GRUB path. Enable again the
25122 check if we can read the file with GRUB facilities.
25123
25124 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
25125 to its root.
25126
11d9778b
FZ
251272009-11-24 Felix Zielcke <fzielcke@z-51.de>
25128
25129 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
25130 platform.
25131
4465287d
FZ
251322009-11-24 Felix Zielcke <fzielcke@z-51.de>
25133
25134 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
25135 strncmp().
25136
62b47f22
FZ
251372009-11-24 Felix Zielcke <fzielcke@z-51.de>
25138
25139 * util/getroot.c (grub_util_is_dmraid): New function.
25140 (grub_util_get_dev_abstraction): Treat dmraid and multipath
25141 devices as normal ones, not as LVM.
25142
1eafb9b9 251432009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
25144
25145 * conf/common.rmk: Add grub-gettext_lib target and updates
25146 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
25147 LDFLAGS.
25148 * gettext/gettext.c: New file. (Reads mo files).
25149 * include/grub/file.h (grub_file_pread): New prototype.
25150 * include/grub/i18n.h (_): New prototype.
25151 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
25152 prototypes.
25153 * kern/misc.c (grub_gettext_dummy): New function.
25154 * normal/menu_text.c: Include <grub/i18n.h>.
25155 * normal/menu_text.c (print_timeout): Gettexttize string.
25156 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
25157 * po/POTFILES: Add `normal/menu_text.c'.
25158 * po/ca.po: Add new translations.
c3ea6bd4
CPE
25159 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
25160 gettext module and defines locale_dir and lang in grub.cfg.
25161 * NEWS: Add gettext support.
25162
0fdb2568
RM
251632009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25164
25165 * util/hostdisk.c: Include `<grub/i18n.h>'.
25166 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
25167 (make_device_name): Rewrite using asprintf.
25168 (convert_system_partition_to_system_disk): Replace 0 with NULL.
25169 (find_system_device): If a device is not found, generate one just
25170 by reusing the OS path name.
25171 (read_device_map): Make it permissible for device.map not to exist.
25172
f515aa62
RM
251732009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25174
25175 * script/sh/execute.c: Move from here ...
25176 * script/execute.c: ... to here. Update all users.
25177 * script/sh/function.c: Move from here ...
25178 * script/function.c: ... to here. Update all users.
25179 * script/sh/lexer.c: Move from here ...
25180 * script/lexer.c: ... to here. Update all users.
25181 * script/sh/main.c: Move from here ...
25182 * script/main.c: ... to here. Update all users.
25183 * script/sh/parser.y: Move from here ...
25184 * script/parser.y: ... to here. Update all users.
25185 * script/sh/script.c: Move from here ...
25186 * script/script.c: ... to here. Update all users.
25187
f84b481b
RM
251882009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25189
25190 * configure.ac: Detect all `emu' platforms. Define
25191 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
25192 --enable-grub-emu logic. Disable include/grub/machine
25193 symlink on `emu' platforms.
25194
25195 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
25196 * gensymlist.sh.in: Likewise.
25197
25198 * include/grub/i386/coreboot/machine.h: Remove file.
25199 * include/grub/i386/efi/machine.h: Likewise.
25200 * include/grub/i386/ieee1275/machine.h: Likewise.
25201 * include/grub/i386/pc/machine.h: Likewise.
25202 * include/grub/i386/qemu/machine.h: Likewise.
25203 * include/grub/powerpc/ieee1275/machine.h: Likewise.
25204 * include/grub/sparc64/ieee1275/machine.h: Likewise.
25205 * include/grub/x86_64/efi/machine.h: Likewise.
25206
25207 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
25208 * commands/halt.c: Likewise.
25209 * commands/reboot.c: Likewise.
25210 * include/grub/autoefi.h: Likewise.
25211 * include/grub/i386/at_keyboard.h: Likewise.
25212 * include/grub/i386/kernel.h: Likewise.
25213 * include/grub/i386/loader.h: Likewise.
25214 * include/grub/i386/pc/memory.h: Likewise.
25215 * kern/dl.c: Likewise.
25216 * kern/i386/coreboot/init.c: Likewise.
25217 * loader/i386/bsd.c: Likewise.
25218 * loader/i386/linux.c: Likewise.
25219 * loader/multiboot_loader.c: Likewise.
25220 * term/i386/pc/serial.c: Likewise.
25221 * term/usb_keyboard.c: Likewise.
25222
25223 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
25224 `<grub/machine/machine.h>'
25225 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
25226 * util/misc.c: Remove `<grub/machine/machine.h>' and
25227 `<grub/machine/time.h>'.
25228
25229 * Makefile.in (enable_grub_emu): Remove variable.
25230 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
25231
25232 * conf/any-emu.rmk: New file.
25233 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
25234 (grub_emu_init.c): Move from here ...
25235 * conf/any-emu.rmk: ... to here.
25236
25237 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
25238 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
25239 * conf/any-emu.rmk: ... to here.
25240
4efeab03
RM
252412009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25242
25243 * include/grub/parser.h (grub_parser_register): Document need
25244 of `name' parameter.
25245 * normal/main.c (grub_normal_read_line): Simplify prompt string.
25246 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
25247 "sh" to "grub".
25248
ea1dd8bf
RM
252492009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25250
25251 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
25252 `$(XGETTEXT)'.
25253 * include/grub/i18n.h (N_): New macro.
25254 * util/mkisofs/mkisofs.h: Likewise.
25255 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
25256 around N_().
25257 (usage): Use gettext() to translate help strings when printing them.
25258
0c140626
RM
252592009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25260
25261 Based on patch from Bean
25262 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
25263
25264 * video/efi_fb.c: New file.
25265 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
25266 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
25267 variables.
25268 * conf/x86_64-efi.rmk: Likewise.
25269
87d58298
RM
252702009-11-22 Robert Millan <rmh.grub@aybabtu.com>
25271
25272 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
25273 * util/i386/pc/grub-setup.c: Likewise.
25274
994cc3a3
ST
252752009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
25276
25277 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
25278 <hurd/fs.h>
25279 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
25280 file_get_storage_info to implement grub_guess_root_device.
25281
26a61d6a
FZ
252822009-11-21 Felix Zielcke <fzielcke@z-51.de>
25283
25284 * Makefile.in (target): Use make's builtin $(shell) function
25285 instead of calling directly $(SHELL) to create the locale directories,
25286 inside the $(foreach) function.
25287
74ff1dd5
FZ
252882009-11-21 Felix Zielcke <fzielcke@z-51.de>
25289
25290 * util/grub-mkrescue.in: Print an error and usage if output option
25291 has not been given.
25292
0b787d0e
FZ
252932009-11-21 Felix Zielcke <fzielcke@z-51.de>
25294
25295 Patch from Loïc Minier <loic.minier@ubuntu.com>.
25296 * util/grub.d/30_os-prober.in: Cope with Linux entries where
25297 root and /boot are on different devices.
25298
1164b270
RM
252992009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25300
25301 Fix build for srcdir != objdir.
25302
25303 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
25304 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
25305 $(srcdir).
25306 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
25307 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
25308 reference for input.
25309
13774a2f
RM
253102009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25311
25312 * util/grub-mkrescue.in: Use source directory direcly (without copiing
25313 or hardlinking it). Remove -J option, Joliet is not compatible with
25314 multiple source directories.
25315
efda854e
RM
253162009-11-21 Carles Pina i Estany <carles@pina.cat>
253172009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25318
25319 * util/grub-mkrescue.in: Recognize `--override-directory' option.
25320 (process_input_dir): New function. Process an arbitrary input
25321 directory.
25322 Misc adjustments to support both "override mode" and system-wide mode.
25323
6c09890c
FZ
253242009-11-20 Felix Zielcke <fzielcke@z-51.de>
25325
25326 * configure.ac (UNIFONT_BDF): Rename to ...
25327 (FONT_SOURCE): ... this. Update all users.
25328
a797824f
FZ
253292009-11-20 Felix Zielcke <fzielcke@z-51.de>
25330
25331 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
25332 to the list of unifont files to look for.
25333
cd4f42b0
RM
253342009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25335
25336 Patch from Joe Auricchio <jauricchio@gmail.com>
25337 * commands/minicmd.c (grub_mini_cmd_clear): New function.
25338 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
25339 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
25340
393c783d
FZ
253412009-11-19 Felix Zielcke <fzielcke@z-51.de>
25342
25343 * Makefile.in (install-local): Add a missing backslash.
25344
b2f1e327
FZ
253452009-11-19 Felix Zielcke <fzielcke@z-51.de>
25346
25347 * include/grub/x86_64/io.h: New file.
25348
f577f7a0
RM
253492009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25350
25351 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
25352 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
25353 Include `"progname.h"'.
25354 (main): Initialize gettext.
25355 * util/i386/pc/grub-setup.c: Gettexttize.
25356 * util/i386/pc/grub-mkimage.c: Likewise.
25357
25358 * Makefile.in (po/*.po): Redefine as ...
25359 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
25360
3bc7896c
RM
25361 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
25362
c37943b6
RM
253632009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25364
25365 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
25366 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
25367 (program_name): Remove.
25368 (main): Initialize gettext support.
6323f705
RM
25369 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
25370 Include `<libintl.h>'.
25371 (_): New macro.
c37943b6
RM
25372
25373 * util/mkisofs/eltorito.c: Gettexttize.
25374 * util/mkisofs/joliet.c: Likewise.
25375 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
25376 * util/mkisofs/multi.c: Likewise.
25377 * util/mkisofs/rock.c: Likewise.
25378 * util/mkisofs/tree.c: Likewise.
25379 * util/mkisofs/write.c: Likewise.
25380
3bc7896c
RM
25381 * po/POTFILES: Update with new files.
25382
5ce77c6e
RM
253832009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25384
25385 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
25386 * util/mkisofs/iso9660.h: Likewise.
25387 * util/mkisofs/joliet.c: Likewise.
25388 * util/mkisofs/mkisofs.c: Likewise.
25389 * util/mkisofs/mkisofs.h: Likewise.
25390 * util/mkisofs/rock.c: Likewise.
25391 * util/mkisofs/tree.c: Likewise.
25392 * util/mkisofs/write.c: Likewise.
25393
25394 * util/mkisofs/eltorito.c (rcsid): Remove.
25395 * util/mkisofs/hash.c: Likewise.
25396 * util/mkisofs/joliet.c: Likewise.
25397 * util/mkisofs/name.c: Likewise.
25398 * util/mkisofs/rock.c: Likewise.
25399 * util/mkisofs/tree.c: Likewise.
25400 * util/mkisofs/write.c: Likewise.
25401
1dabbc77
RM
254022009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25403
25404 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
25405 instead of static allocation.
25406 * util/mkisofs/match.h: Likewise.
25407
633877cb
RM
254082009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25409
3bc7896c
RM
25410 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
25411 and `util/grub.d/10_linux.in'.
633877cb
RM
25412 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
25413 translatable Shell files.
25414
af1c0c85
RM
254152009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25416
25417 * Makefile.in ($(srcdir)/aclocal.m4): New target.
25418
769ae37b
RM
254192009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25420
25421 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 25422 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
25423 * util/grub.d/10_kfreebsd.in (bindir): New variable.
25424 Add gettext initialization.
25425 (kfreebsd_entry): Make menuentry output translatable.
25426
254272009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25428
25429 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
25430 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
25431 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
25432 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
25433 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 25434 * po/LINGUAS: New file.
769ae37b
RM
25435
254362009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25437
25438 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
25439 other things).
25440 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
25441 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
25442 bindtextdomain() calls for gettext initialization.
25443
254442009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25445
25446 * gnulib/progname.c: New file (imported from Gnulib).
25447 * gnulib/progname.h: Likewise.
25448 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25449 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
25450 (usage): Replace `progname' with `program_name'.
25451 (main): Use set_program_name() for program name initialization.
25452
254532009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25454
25455 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
25456 from here ...
25457 * Makefile.in (CPPFLAGS): ... to here.
25458
254592009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25460
25461 * aclocal.m4: Move from here ...
25462 * acinclude.m4: ... to here.
25463 * autogen.sh: Add call to `aclocal'.
25464 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
25465
254662009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25467
25468 * Makefile.in (CLEANFILES): Add `po/*.mo'.
25469 (LINGUAS): New variable.
25470 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
25471 (install-local): Install MO files.
25472 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
25473 * include/grub/i18n.h: New file.
3bc7896c
RM
25474 * po/POTFILES: New file.
25475 * po/ca.po: New file.
769ae37b
RM
25476 * util/grub.d/10_linux.in (bindir): New variable.
25477 Add gettext initialization.
25478 (linux_entry): Make menuentry output translatable.
25479 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
25480 (usage): Make --help output translatable.
25481 (main): Initialize gettext.
25482
02c0a6ad
RM
254832009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25484
25485 * import_gcry.py: New file (written by Vladimir with minor
25486 adjustments).
25487 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
25488 ciphers.
25489 * INSTALL: Document that Python is required for bootstrap.
25490
254912009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25492
25493 Import ciphers from libgcrypt 1.4.4.
25494
25495 * lib/libgcrypt/cipher/ChangeLog
25496 * lib/libgcrypt/cipher/ac.c
25497 * lib/libgcrypt/cipher/arcfour.c
25498 * lib/libgcrypt/cipher/bithelp.h
25499 * lib/libgcrypt/cipher/blowfish.c
25500 * lib/libgcrypt/cipher/camellia-glue.c
25501 * lib/libgcrypt/cipher/camellia.c
25502 * lib/libgcrypt/cipher/camellia.h
25503 * lib/libgcrypt/cipher/cast5.c
25504 * lib/libgcrypt/cipher/cipher.c
25505 * lib/libgcrypt/cipher/crc.c
25506 * lib/libgcrypt/cipher/des.c
25507 * lib/libgcrypt/cipher/dsa.c
25508 * lib/libgcrypt/cipher/ecc.c
25509 * lib/libgcrypt/cipher/elgamal.c
25510 * lib/libgcrypt/cipher/hash-common.c
25511 * lib/libgcrypt/cipher/hash-common.h
25512 * lib/libgcrypt/cipher/hmac-tests.c
25513 * lib/libgcrypt/cipher/md.c
25514 * lib/libgcrypt/cipher/md4.c
25515 * lib/libgcrypt/cipher/md5.c
25516 * lib/libgcrypt/cipher/primegen.c
25517 * lib/libgcrypt/cipher/pubkey.c
25518 * lib/libgcrypt/cipher/rfc2268.c
25519 * lib/libgcrypt/cipher/rijndael-tables.h
25520 * lib/libgcrypt/cipher/rijndael.c
25521 * lib/libgcrypt/cipher/rmd.h
25522 * lib/libgcrypt/cipher/rmd160.c
25523 * lib/libgcrypt/cipher/rsa.c
25524 * lib/libgcrypt/cipher/seed.c
25525 * lib/libgcrypt/cipher/serpent.c
25526 * lib/libgcrypt/cipher/sha1.c
25527 * lib/libgcrypt/cipher/sha256.c
25528 * lib/libgcrypt/cipher/sha512.c
25529 * lib/libgcrypt/cipher/tiger.c
25530 * lib/libgcrypt/cipher/twofish.c
25531 * lib/libgcrypt/cipher/whirlpool.c
25532
af2f93ac
RM
255332009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25534
25535 Fix build for systems without error().
25536
25537 * gnulib/error.c: New file (imported from Gnulib).
25538 * gnulib/error.h: Likewise.
25539 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
25540 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
25541 (this variable is now used by error()).
25542
73fb3dd5
FZ
255432009-11-16 Felix Zielcke <fzielcke@z-51.de>
25544
814f5e96
FZ
25545 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
25546 instead of relying that char is signed.
73fb3dd5 25547
a691ca33
VS
255482009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
25549
25550 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
25551 blocksize different from specified.
25552 (grub_pxefs_read): Likewise.
25553
2af8f0f4
FZ
255542009-11-16 Felix Zielcke <fzielcke@z-51.de>
25555
25556 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
25557
25558 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
25559 (grub_ata_readwrite): Likewise. Update 2 format strings.
25560 (grub_atapi_read): Likewise.
25561
25562 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
25563 * conf/i386.rmk (pkglib_MODULES): ... to here ...
25564 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
25565 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
25566 (ata_mod_LDFLAGS): Move from here ...
25567 * conf/i386.rmk: ... to here ...
25568 * conf/x86_64-efi.rmk: ... and here.
25569 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
25570 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
25571
83bdecaf
RM
255722009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25573
25574 Relicense multiboot.h, with RMS' blessing.
25575
25576 * include/multiboot.h: Change to X11 license.
25577
fd6fd3d7
RM
255782009-11-15 Robert Millan <rmh.grub@aybabtu.com>
25579
25580 Support --version in grub-mkisofs.
25581
25582 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
25583 (OPTION_VERSION): New macro.
25584 (ld_options): Recognize --version.
25585 (usage): Move `program_name' from here ...
25586 (program_name): ... to here. Add `static' qualifier.
25587 (main): Recognize `OPTION_VERSION'.
25588
16a88c49
FZ
255892009-11-15 Felix Zielcke <fzielcke@z-51.de>
25590
25591 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
25592 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
25593
a4158476
RM
255942009-11-14 Robert Millan <rmh.grub@aybabtu.com>
25595
25596 Fix help2man generation for mkisofs.
25597
25598 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
25599 (usage): Send output to stdout (rather than stderr).
25600
fc2208b0
RM
256012009-11-14 Robert Millan <rmh.grub@aybabtu.com>
25602
25603 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
25604 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
25605 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
25606 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
25607 (bin_SCRIPTS): Add `grub-mkfloppy'.
25608 (grub_mkfloppy_SOURCES): New variable.
25609
25610 * util/grub-mkrescue.in: New file.
25611 * util/i386/pc/grub-mkfloppy.in: New file.
25612
25613 * util/i386/coreboot/grub-mkrescue.in: Remove.
25614 * util/i386/pc/grub-mkrescue.in: Remove.
25615
8d0edf4a
RM
256162009-11-13 Robert Millan <rmh.grub@aybabtu.com>
25617
25618 * include/grub/multiboot.h (struct grub_multiboot_header): Move
25619 from here ...
25620 * include/multiboot.h (struct multiboot_header): ... to here. Update
25621 all users.
25622 * include/grub/multiboot.h (struct grub_multiboot_info): Move
25623 from here ...
25624 * include/multiboot.h (struct multiboot_info): ... to here. Update
25625 all users.
25626 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
25627 from here ...
25628 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
25629 Update all users.
25630 * include/grub/multiboot.h (struct grub_mod_list): Move
25631 from here ...
25632 * include/multiboot.h (struct multiboot_mod_list): ... to here.
25633 Update all users.
25634
a73f5969
RM
256352009-11-13 Robert Millan <rmh.grub@aybabtu.com>
25636
25637 * include/multiboot2.h (multiboot_word): Rename from this ...
25638 (multiboot2_word): ... to this. Update all users.
25639 (multiboot_header): Rename from this ...
25640 (multiboot2_header): ... to this. Update all users.
25641 (multiboot_tag_header): Rename from this ...
25642 (multiboot2_tag_header): ... to this. Update all users.
25643 (multiboot_tag_start): Rename from this ...
25644 (multiboot2_tag_start): ... to this. Update all users.
25645 (multiboot_tag_name): Rename from this ...
25646 (multiboot2_tag_name): ... to this. Update all users.
25647 (multiboot_tag_module): Rename from this ...
25648 (multiboot2_tag_module): ... to this. Update all users.
25649 (multiboot_tag_memory): Rename from this ...
25650 (multiboot2_tag_memory): ... to this. Update all users.
25651 (multiboot_tag_unused): Rename from this ...
25652 (multiboot2_tag_unused): ... to this. Update all users.
25653 (multiboot_tag_end): Rename from this ...
25654 (multiboot2_tag_end): ... to this. Update all users.
25655
1c8927f0
RM
256562009-11-13 Robert Millan <rmh.grub@aybabtu.com>
25657
25658 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
25659 this platform we should support Multiboot1 first.
25660
25661 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
25662 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
25663 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
25664
6e1e0d89
RM
256652009-11-12 Robert Millan <rmh.grub@aybabtu.com>
25666
25667 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
25668 of write calls (converting them to fwrite() if they aren't already).
25669 (get_torito_desc): Likewise.
25670 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
25671
7f2b34d8
RM
256722009-11-12 Robert Millan <rmh.grub@aybabtu.com>
25673
25674 * util/i386/pc/grub-install.in: Move from here ...
25675 * util/grub-install.in: ... to here. Update all users.
25676
c0ef3311
CW
256772009-11-11 Colin Watson <cjwatson@ubuntu.com>
25678
25679 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
25680
e1f240ff
RM
256812009-11-11 Robert Millan <rmh.grub@aybabtu.com>
25682
25683 Support for El Torito without floppy emulation.
25684
25685 * util/mkisofs/eltorito.c: Include `<errno.h>'.
25686 (init_boot_catalog): Improve error handling.
25687 (get_torito_desc): Don't use floppy emulation unless requested by
25688 user. Patch boot information table when requested via
25689 `-boot-info-table'.
25690 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
25691 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
25692 (use_boot_info_table): New variables.
25693 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
25694 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
25695 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
25696 `--eltorito-emul-floppy'.
25697 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
25698 and `OPTION_ELTORITO_EMUL_FLOPPY'.
25699 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
25700 (use_boot_info_table, get_731): New prototypes.
25701 * util/mkisofs/write.c (get_731): New function.
25702
af7d4de5
FZ
257032009-11-11 Felix Zielcke <fzielcke@z-51.de>
25704
25705 Fix the generation of the man page.
25706
25707 * util/pc/i386/grub-install.in: Source
25708 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
25709
2c55dbc0
RM
257102009-11-11 Robert Millan <rmh.grub@aybabtu.com>
25711
25712 Large file support for grub-mkisofs.
25713
25714 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
25715 * util/mkisofs/mkisofs.c (next_extent, last_extent)
25716 (session_start): Upgrade type to `uint64_t'. Update all users.
25717 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
25718 (struct directory_entry): Upgrade type of `starting_block' and
25719 `size' to `uint64_t'. Update all users.
25720 (struct deferred): Remove unused structure.
25721 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
25722 Update all users.
25723 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
25724 file is larger than `UINT32_MAX'.
25725 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
25726 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
25727 return value.
25728 (struct deferred_write): Upgrade type of `extent' and `size' to
25729 `uint64_t'. Update all users.
25730 (last_extent_written): Upgrade type to `uint64_t'. Update all
25731 users.
25732 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
25733 Update all users. Upgrade type of `remain' to `int64_t' and
25734 `use' to `size_t'. Use error() to handle fread() errors.
25735 (write_files): Rely on write_one_file() rather than calling
25736 xfwrite() directly.
25737
6a9cead5
FZ
257382009-11-09 Felix Zielcke <fzielcke@z-51.de>
25739
25740 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
25741
4825d790
RM
257422009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25743
25744 * util/mkisofs/fnmatch.c: Remove.
25745 * util/mkisofs/getopt1.c: Likewise.
25746 * util/mkisofs/getopt.c: Likewise.
25747 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
25748 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
25749 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
25750 `gnulib/getopt1.c' and `gnulib/getopt.c'.
25751 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
25752
25753 * configure.ac: Detect `mingw32msvc' host_os.
25754 Check for lstat(), getuid() and getgid().
25755
25756 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
25757 instances of `u_char' with `uint8_t'.
25758
25759 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
25760 [!HAVE_GETUID] (getuid): New function (stub).
25761 [!HAVE_GETGID] (getgid): Likewise.
25762 [!HAVE_LSTAT] (lstat): Likewise.
25763 [!S_IROTH] (S_IROTH): New macro (dummy).
25764 [!S_IRGRP] (S_IRGRP): Likewise.
25765
84b860d8
RM
257662009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25767
25768 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
25769 conditional expression).
25770
66e9b712
RM
257712009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25772
25773 Import from Gnulib.
25774
25775 * gnulib/fnmatch.c: New file.
25776 * gnulib/fnmatch.h: Likewise.
25777 * gnulib/fnmatch_loop.c: Likewise.
25778 * gnulib/getopt.c: Likewise.
25779 * gnulib/getopt.h: Likewise.
25780 * gnulib/getopt1.c: Likewise.
25781 * gnulib/getopt_int.h: Likewise.
25782 * gnulib/gettext.h: Likewise.
25783
34f4a5b0
RM
257842009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25785
25786 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
25787 * normal/handler.c (read_handler_list): Likewise.
25788
ac451143
RM
257892009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25790
25791 Misc cleanup.
25792
25793 * kern/command.c (grub_register_command_prio): Use
25794 grub_zalloc() instead of explicitly zeroing data.
25795 * kern/list.c: Include `<grub/mm.h>'.
25796 (grub_named_list_find): Replace `0' with `NULL'.
25797 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
25798 (fs_module_list): Change type to `grub_named_list_t'. Update all
25799 users.
25800 * normal/dyncmd.c (read_command_list): Add space between function
25801 call and parenthesis.
25802 * normal/handler.c (read_handler_list): Likewise.
25803
4089b167
RM
258042009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25805
25806 * normal/auth.c (punishment_delay): Moved from here ...
25807 (grub_auth_strcmp): ... to here (inside function).
25808
325f5037
RM
258092009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25810
25811 * include/grub/list.h (struct grub_named_list): Remove `const'
25812 qualifier from `name'.
25813 (struct grub_prio_list): Likewise.
25814
7aea29a3
RM
258152009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25816
25817 * normal/auth.c: Include `<grub/time.h>'.
25818 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
25819
3fd6f044
RM
258202009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25821
25822 * normal/auth.c (punishment_delay): New variable.
25823 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
25824 (grub_auth_check_authentication): Punish failed login attempts with
25825 an incremental (2^N) delay.
25826
a4cd68e4
RM
258272009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25828
25829 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
25830 path with $(srcdir).
25831
7ad12f43
VS
258322009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
25833
25834 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
25835
c1129f03
RM
258362009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25837
25838 * util/i386/coreboot/grub-mkrescue.in: New file.
25839 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
25840 variables.
25841
25842 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
25843 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
25844 * configure.ac: Add header and function checks to satisfy grub-mkisofs
25845 requirements.
25846 * util/mkisofs/defaults.h: New file.
25847 * util/mkisofs/eltorito.c: Likewise.
25848 * util/mkisofs/exclude.h: Likewise.
25849 * util/mkisofs/fnmatch.c: Likewise.
25850 * util/mkisofs/getopt.c: Likewise.
25851 * util/mkisofs/getopt1.c: Likewise.
25852 * util/mkisofs/hash.c: Likewise.
25853 * util/mkisofs/include/fctldefs.h: Likewise.
25854 * util/mkisofs/include/mconfig.h: Likewise.
25855 * util/mkisofs/include/prototyp.h: Likewise.
25856 * util/mkisofs/include/statdefs.h: Likewise.
25857 * util/mkisofs/iso9660.h: Likewise.
25858 * util/mkisofs/joliet.c: Likewise.
25859 * util/mkisofs/match.c: Likewise.
25860 * util/mkisofs/match.h: Likewise.
25861 * util/mkisofs/mkisofs.c: Likewise.
25862 * util/mkisofs/mkisofs.h: Likewise.
25863 * util/mkisofs/multi.c: Likewise.
25864 * util/mkisofs/name.c: Likewise.
25865 * util/mkisofs/rock.c: Likewise.
25866 * util/mkisofs/tree.c: Likewise.
25867 * util/mkisofs/write.c: Likewise.
25868
ec8bb77d
VS
258692009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
25870
25871 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
25872 being insecure.
25873
3716b12c
RM
258742009-11-08 Robert Millan <rmh.grub@aybabtu.com>
25875
25876 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
25877 `grub-mkimage' (and use $0 when possible).
25878
b97b7b91
RM
258792009-11-08 Robert Millan <rmh.grub@aybabtu.com>
25880
25881 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
25882 error message for excessively large memory map.
25883
04114812
RM
258842009-11-08 Robert Millan <rmh.grub@aybabtu.com>
25885
25886 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
25887 executable bit.
25888
e4eb2373
RM
258892009-11-08 Robert Millan <rmh.grub@aybabtu.com>
25890
25891 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
25892 message for coreboot users.
25893
c926e1d5 258942009-11-07 Robert Millan <rmh.grub@aybabtu.com>
25895
25896 Fix build with GNU gold.
25897
25898 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
25899 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
25900 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
25901 link addresses.
25902 * aclocal.m4: Likewise.
25903
86e5b1db 259042009-11-04 Felix Zielcke <fzielcke@z-51.de>
25905
25906 * configure.ac (AC_PREREQ): Bump to 2.59d.
25907 * INSTALL: Make it more clear when Autoconf and Ruby are
25908 needed and when to run `./autogen.sh'.
25909
246cd78f 259102009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
25911
25912 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
25913 OSes.
25914
4f9dfb37 259152009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
25916
25917 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
25918
b82bd5e1 259192009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
25920
25921 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
25922 giving it to GNU Mach.
25923
ff1a9bca 259242009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
25925
25926 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
25927 GNU partition number to get internal GRUB partition number.
25928
61697d9c 259292009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
25930
25931 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
25932 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
25933
a50569e1 259342009-11-01 Robert Millan <rmh.grub@aybabtu.com>
25935
25936 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
25937 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
25938 case.
25939
5b153867 259402009-11-01 Felix Zielcke <fzielcke@z-51.de>
25941
25942 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
25943
d9e2cd70 259442009-10-30 Robert Millan <rmh.grub@aybabtu.com>
25945
25946 Fix build problem.
25947
25948 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
25949 `-isystem=$(srcdir)/include'.
25950
805111a4 259512009-10-30 Robert Millan <rmh.grub@aybabtu.com>
25952
25953 * util/i386/pc/grub-install.in: Remove hint that device.map should be
25954 checked (grub-install doesn't currently rely on it).
25955
fa6e945f 259562009-10-29 Robert Millan <rmh.grub@aybabtu.com>
25957
25958 Revert SVN r2660.
25959
25960 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
25961 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
25962 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
25963 * conf/i386-ieee1275.rmk: Likewise.
25964 * conf/i386-pc.rmk: Likewise.
25965 * conf/powerpc-ieee1275.rmk: Likewise.
25966 * conf/sparc64-ieee1275.rmk: Likewise.
25967 * conf/x86_64-efi.rmk: Likewise.
25968
cee15086 259692009-10-28 Robert Millan <rmh.grub@aybabtu.com>
25970
25971 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
25972
95b9239e 259732009-10-28 Robert Millan <rmh.grub@aybabtu.com>
25974
25975 * include/grub/misc.h: Stop checking for APPLE_CC.
25976
2ed19dfd 259772009-10-28 Robert Millan <rmh.grub@aybabtu.com>
25978
25979 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
25980 doesn't cause an infinite call loop.
25981
fdcdde19 259822009-10-28 Felix Zielcke <fzielcke@z-51.de>
25983
25984 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
25985 strings.
25986
cefabfe1 259872009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25988
25989 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
25990 variable.
25991 * Makefile.in: Likewise.
25992
ed96ab6d 259932009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25994
25995 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
25996
0579b753 259972009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25998
25999 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
26000
478df409 260012009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26002
26003 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
26004
083d1679 260052009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26006
26007 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
26008 from here ...
26009 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
26010
5947ae32 260112009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26012
26013 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
26014 in $(MAKEINFO) invocation. This makes it clear in output that
26015 errors are being ignored.
26016
94180ff6 260172009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26018
26019 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
26020 from here ...
26021 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
26022 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
26023 * conf/i386-ieee1275.rmk: Likewise.
26024 * conf/i386-pc.rmk: Likewise.
26025 * conf/powerpc-ieee1275.rmk: Likewise.
26026 * conf/sparc64-ieee1275.rmk: Likewise.
26027 * conf/x86_64-efi.rmk: Likewise.
26028
9031b03a 260292009-10-26 Colin Watson <cjwatson@ubuntu.com>
26030
26031 * util/grub-editenv.c (main): If only a command is given, use
26032 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
26033 (usage): FILENAME is now optional and has a default.
26034
e4f6809b 260352009-10-26 Colin Watson <cjwatson@ubuntu.com>
26036
26037 Improve grub-mkconfig performance when there are several menu
26038 entries on a single filesystem.
26039
26040 * util/grub.d/10_linux.in (linux_entry): Cache the output of
26041 prepare_grub_to_access_device.
26042 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26043 * util/grub.d/30_os-prober.in: Likewise.
26044
67937d4d 260452009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26046
26047 * util/grub.d/10_freebsd.in: Remove.
26048 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
26049 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
26050
ee3756cc 260512009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26052
5c35048e 26053 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 26054
4dea1c6f 260552009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26056
26057 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
26058 grub_util_error() call.
26059
042484d7 260602009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26061
26062 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
26063 `reserved_first_sector' member.
26064 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
26065 `reserved_first_sector' to 1.
26066 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
26067 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
26068 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
26069 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
26070 filesystems which begin at first sector.
26071 (options): New option --skip-fs-probe.
26072 (main): Handle --skip-fs-probe and pass it to setup().
26073
d64448a7 260742009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26075
26076 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
26077 (memset): Fix function prototype.
26078
508d42ec 260792009-10-25 Robert Millan <rmh.grub@aybabtu.com>
260802009-10-25 Vasily Averin <vvs@parallels.com>
26081
26082 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
26083 `dirent.direntlen == 0'.
26084
b240e30c 260852009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26086
26087 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
26088 `cpio'.
26089 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
26090
346e7fbe 260912009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26092
26093 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
26094 `__trampoline_setup' and `__ucmpdi2'.
26095 * include/grub/powerpc/libgcc.h: Only export symbols for functions
26096 that libgcc provides.
26097
cdb308b0 260982009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26099
26100 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
26101 * include/grub/sparc64/libgcc.h (memset): Likewise.
26102 * include/grub/misc.h (memset, memcmp): New function prototypes.
26103
fb26abc2 261042009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26105
26106 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
26107 `cpio'.
26108 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
26109
f6693890 261102009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26111
26112 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
26113 * docs/grub.cfg: Compensate for recent change in multiboot
26114 loader (since 2009-08-14 it won't pass filename to payload).
26115 * util/grub.d/10_hurd.in: Likewise.
26116
0933cdc0 261172009-10-21 Felix Zielcke <fzielcke@z-51.de>
26118
26119 * config.guess: Update to latest version from config git
26120 repository.
26121 * config.sub: Likewise.
26122
3b2fe8c2 261232009-10-20 Robert Millan <rmh.grub@aybabtu.com>
26124
26125 Fix build on sparc64.
26126
26127 * configure.ac: Perform checks for libgcc symbols before
26128 adding `-nostdlib' to LDFLAGS.
26129
46695a62 261302009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
26131
26132 Let user specify OpenBSD root device.
26133
26134 * loader/i386/bsd.c (openbsd_root): New variable.
26135 (openbsd_opts): New option 'root'.
26136 (OPENBSD_ROOT_ARG): New macro.
26137 (grub_openbsd_boot): Use 'openbsd_root'.
26138 (grub_cmd_openbsd): Fill 'openbsd_root'.
26139
d2b6b7fc 261402009-10-16 Robert Millan <rmh.grub@aybabtu.com>
26141
26142 * NEWS: Misc adjustments.
26143
421bd7ac 261442009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
26145
26146 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
26147
f1d29d87 261482009-10-16 Robert Millan <rmh.grub@aybabtu.com>
26149
26150 * configure.ac: Bump version to 1.97.
26151
6f3cd880 261522009-10-16 Colin Watson <cjwatson@ubuntu.com>
26153
26154 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
26155 -mno-3dnow on x86 architectures. Some toolchains enable these
26156 features by default, but they rely on registers that aren't enabled
26157 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
26158
035f7122 261592009-10-15 Robert Millan <rmh.grub@aybabtu.com>
26160
26161 Make entry text a bit more readable.
26162
26163 * util/grub.d/10_linux.in: Add `with' before `Linux'.
26164
44998e58 261652009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26166
26167 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
26168
cd2851b3 261692009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26170
26171 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
26172 operations.
26173
c6f3b249 261742009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26175
26176 * configure.ac: Add missing dollar.
26177
6b5886ba 261782009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26179
26180 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
26181
26182 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
26183 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
26184 exports.
26185 * include/grub/sparc64/libgcc.h: Likewise. Use
26186 preprocessor conditionals.
26187
e9d66f6d 261882009-10-14 Robert Millan <rmh.grub@aybabtu.com>
26189
26190 * conf/common.rmk (grub-dumpbios): Remove rule.
26191 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
26192 * util/grub-dumpbios.in: Remove file.
26193
9155bc17 261942009-10-14 Robert Millan <rmh.grub@aybabtu.com>
26195
26196 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
26197 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
26198
26199 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
26200 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
26201 users.
26202
26203 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
26204 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
26205 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
26206 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
26207 users.
26208
bf7f7a18 262092009-10-12 Robert Millan <rmh.grub@aybabtu.com>
26210
26211 * term/tparm.c: Switch to GPLv3.
26212
86564c26 262132009-10-09 Robert Millan <rmh.grub@aybabtu.com>
26214
26215 * include/grub/i386/cpuid.h: Add header protection.
26216
5c936493 262172009-10-09 Robert Millan <rmh.grub@aybabtu.com>
26218
26219 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
26220
26221 * include/grub/i386/cpuid.h: New file.
26222 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
26223 (has_longmode): Rename to ...
26224 (grub_cpuid_has_longmode): ... this. Update all users. Remove
26225 `static' attribute.
26226 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
26227 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
26228 on a CPU that doesn't implement AMD64 instruction set.
26229
186e7cf2 262302009-10-06 Colin Watson <cjwatson@ubuntu.com>
26231
26232 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
26233 that version.texi is rebuilt on version number changes.
26234
83b65c4a 262352009-10-06 Colin Watson <cjwatson@ubuntu.com>
26236
26237 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
26238 Fixes bug #27602.
26239
d244281c 262402009-10-06 Colin Watson <cjwatson@ubuntu.com>
26241
26242 * util/i386/pc/grub-install.in: Source
26243 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
26244 that the --grub-probe option will work.
26245 * util/sparc64/ieee1275/grub-install.in: Likewise.
26246
da25306d 262472009-10-05 Robert Millan <rmh.grub@aybabtu.com>
26248
26249 * configure.ac: Bump version to 1.97~beta4.
26250
e8ee83c0 262512009-10-03 Robert Millan <rmh.grub@aybabtu.com>
26252
26253 Resync grub-mkdevicemap in x86_64-efi.
26254
26255 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
26256 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
26257 `util/devicemap.c'.
26258
50dcabcf 262592009-10-01 Colin Watson <cjwatson@ubuntu.com>
26260
26261 * util/grub-editenv.c (create_envblk_file): Write new block with a
26262 .new suffix and then rename it into place, to ensure atomic
26263 creation.
26264
0e51c3a7 262652009-09-28 Robert Millan <rmh.grub@aybabtu.com>
26266
26267 Do not automatically install headers.
26268
26269 * Makefile.in (include_DATA): Remove. Update all users.
26270
31299a95 262712009-09-26 Robert Millan <rmh.grub@aybabtu.com>
26272
26273 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
26274 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
26275
26276 * util/osdetect.lua: Remove.
26277 * script/lua/lauxlib.c: Likewise.
26278 * script/lua/ldebug.c: Likewise.
26279 * script/lua/grub_main.c: Likewise.
26280 * script/lua/lauxlib.h: Likewise.
26281 * script/lua/ldebug.h: Likewise.
26282 * script/lua/ltablib.c: Likewise.
26283 * script/lua/liolib.c: Likewise.
26284 * script/lua/lstrlib.c: Likewise.
26285 * script/lua/lualib.h: Likewise.
26286 * script/lua/ldo.c: Likewise.
26287 * script/lua/ldump.c: Likewise.
26288 * script/lua/ldo.h: Likewise.
26289 * script/lua/loslib.c: Likewise.
26290 * script/lua/lundump.c: Likewise.
26291 * script/lua/grub_lib.c: Likewise.
26292 * script/lua/ldblib.c: Likewise.
26293 * script/lua/lundump.h: Likewise.
26294 * script/lua/lmem.c: Likewise.
26295 * script/lua/grub_lib.h: Likewise.
26296 * script/lua/lmathlib.c: Likewise.
26297 * script/lua/lstate.c: Likewise.
26298 * script/lua/ltm.c: Likewise.
26299 * script/lua/lvm.c: Likewise.
26300 * script/lua/lmem.h: Likewise.
26301 * script/lua/lstate.h: Likewise.
26302 * script/lua/ltm.h: Likewise.
26303 * script/lua/ltable.c: Likewise.
26304 * script/lua/lvm.h: Likewise.
26305 * script/lua/llex.c: Likewise.
26306 * script/lua/lgc.c: Likewise.
26307 * script/lua/grub_lua.h: Likewise.
26308 * script/lua/loadlib.c: Likewise.
26309 * script/lua/lfunc.c: Likewise.
26310 * script/lua/lopcodes.c: Likewise.
26311 * script/lua/lparser.c: Likewise.
26312 * script/lua/ltable.h: Likewise.
26313 * script/lua/llex.h: Likewise.
26314 * script/lua/lgc.h: Likewise.
26315 * script/lua/lfunc.h: Likewise.
26316 * script/lua/lbaselib.c: Likewise.
26317 * script/lua/lopcodes.h: Likewise.
26318 * script/lua/lparser.h: Likewise.
26319 * script/lua/lzio.c: Likewise.
26320 * script/lua/linit.c: Likewise.
26321 * script/lua/lobject.c: Likewise.
26322 * script/lua/llimits.h: Likewise.
26323 * script/lua/lstring.c: Likewise.
26324 * script/lua/lzio.h: Likewise.
26325 * script/lua/lapi.c: Likewise.
26326 * script/lua/lcode.c: Likewise.
26327 * script/lua/lua.h: Likewise.
26328 * script/lua/lobject.h: Likewise.
26329 * script/lua/lstring.h: Likewise.
26330 * script/lua/lapi.h: Likewise.
26331 * script/lua/lcode.h: Likewise.
26332 * script/lua/luaconf.h: Likewise.
26333
cb8a2c38 263342009-09-26 Colin Watson <cjwatson@ubuntu.com>
26335
26336 * docs/grub.texi (Command-line and menu entry commands): Document
26337 date and echo commands.
26338
6b9b6276 263392009-09-24 Pavel Roskin <proski@gnu.org>
26340
26341 * include/grub/kernel.h (struct grub_module_header): Remove
26342 `grub_module_header_types'. Make `type' unsigned. Make `size'
26343 32-bit on all platforms.
26344 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
26345 8-bit field. Use grub_host_to_target32() for `size'.
26346 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
26347 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
26348 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
26349
4e5a02a7 263502009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26351
26352 Fix "lost keypress" bug in at_keyboard.
26353
26354 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
26355 Checks for readyness of input buffer (without flushing it).
26356 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
26357 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
26358
c6dcedf6 263592009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26360
26361 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
26362 size check within GRUB_MACHINE_PCBIOS section.
26363
74c958b1 263642009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26365
26366 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
26367 return value.
26368 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
26369 KEYBOARD_ISREADY check.
26370 (grub_at_keyboard_checkkey): Rename to ...
26371 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
26372 Remove gratuitous cast.
26373
ff420223 263742009-09-23 Colin Watson <cjwatson@ubuntu.com>
26375
26376 * configure.ac: Call AC_PROG_MKDIR_P.
26377 * Makefile.in (docs/stamp-vti): Create docs directory. Create
26378 version.texi in $(builddir) rather than $(srcdir).
26379 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
26380 to makeinfo's @include search path.
26381
d96875df 263822009-09-23 Felix Zielcke <fzielcke@z-51.de>
26383
26384 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
26385
9b3f8365 263862009-09-23 Felix Zielcke <fzielcke@z-51.de>
26387
26388 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
26389 for `*.dpkg-new'.
26390
c44c90db 263912009-09-21 Colin Watson <cjwatson@ubuntu.com>
26392
26393 Build info documentation. Some code borrowed from Automake.
26394
26395 * configure.ac: Check for makeinfo.
26396 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
26397 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
26398 docs/version.texi.
26399 (MOSTLYCLEANFILES): Add vti.tmp.
26400 (docs/version.texi, docs/stamp-vti): Update automatically.
26401 (docs/grub.info): Build info documentation. Use --force and ignore
26402 errors for now.
26403 (all-local): Add $(INFOS).
26404 (install-local): Install info files.
26405 (uninstall): Uninstall info files.
26406 * docs/version.texi: Remove from revision control. This file is
26407 automatically generated on build now.
26408 * gendistlist.sh: Add `*.info'.
26409
e0b37bb5 264102009-09-21 Felix Zielcke <fzielcke@z-51.de>
26411
26412 * kern/term.c: Fix indentation.
26413
5a78865b 264142009-09-21 Felix Zielcke <fzielcke@z-51.de>
26415
26416 * util/hostdisk.c: Fix a comment.
26417
dace7e8a 264182009-09-20 Robert Millan <rmh.grub@aybabtu.com>
26419
26420 Fix regression introduced in r2539.
26421
26422 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
26423 to 0xA1.
26424
a83d079b 264252009-09-19 Colin Watson <cjwatson@ubuntu.com>
26426
26427 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 26428 os-prober. Under normal operation, it does not print anything to
26429 stderr; if it does, we need to debug it, and throwing away stderr
26430 makes that excessively difficult.
a83d079b 26431
be94a509 264322009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
26433
26434 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
26435
63f745e8 264362009-09-16 Robert Millan <rmh.grub@aybabtu.com>
26437
26438 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
26439 AC_LANG_PROGRAM from autoconf.
26440 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
26441 prototypes (fixes warning).
26442
26443 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
26444 `--disable-werror' was used.
26445
bbb2a70f 264462009-09-16 Robert Millan <rmh.grub@aybabtu.com>
26447
26448 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
26449 uninitialized `lastaddr'.
26450
77c24f1d 264512009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
26452
0f0b8c87 26453 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 26454
07197f23 264552009-09-14 Colin Watson <cjwatson@ubuntu.com>
26456
26457 * commands/test.c (get_fileinfo): Return immediately if
26458 grub_fs_probe fails.
26459
dabf1798 264602009-09-14 José Martínez <xosemp@gmail.com>
26461
26462 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
26463
d52109a7 264642009-09-14 Colin Watson <cjwatson@ubuntu.com>
26465
26466 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
26467 output.
26468
56532179 264692009-09-13 Robert Millan <rmh.grub@aybabtu.com>
26470
26471 * configure.ac: Remove --enable-grub-pe2elf. Only build
26472 grub-pe2elf when needed by the build system itself.
26473 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
26474
8ef070f5 264752009-09-12 Robert Millan <rmh.grub@aybabtu.com>
26476
26477 * configure.ac: Bump version to 1.97~beta3.
26478 * docs/version.texi: Likewise.
26479
61229557 264802009-09-12 Robert Millan <rmh.grub@aybabtu.com>
26481
26482 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
26483 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
26484 from here ...
26485 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
26486 (grub_linux_setup_video): ... to here (with some adjustments).
26487
5c9f8d84 264882009-09-12 Robert Millan <rmh.grub@aybabtu.com>
26489
26490 Fix memory corruption issue (spotted by Colin Watson).
26491
26492 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
26493 causing returned size to be stored in an incorrect memory location.
26494 Fix use of uninitialized value when storing the returned size.
26495
e8f5d6e9 264962009-09-12 Yves Blusseau <blusseau@zetam.org>
26497
26498 Change clean rules to properly remove files
26499
26500 * genmk.rb: add new clean rules
26501 * Makefile.in (clean): add the new targets
26502 (mostlyclean): likewise
26503
cda2a409 265042009-09-11 Colin Watson <cjwatson@ubuntu.com>
26505
26506 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
26507 to grub_uint64_t.
26508 * fs/ntfs.c (init_file): Understand 64-bit sizes for
26509 non-resident files.
26510
86695375 265112009-09-11 Colin Watson <cjwatson@ubuntu.com>
26512
26513 * configure.ac: Don't look for help2man when cross-compiling. Fixes
26514 part of bug #27349.
26515
8aa1541a 265162009-09-10 Felix Zielcke <fzielcke@z-51.de>
26517
26518 * util/grub-mkconfig.in: Make the created config mode 400 and
26519 print a warning if it fails.
26520
48d9bb0a 265212009-09-10 Robert Millan <rmh.grub@aybabtu.com>
26522
26523 * util/grub.d/40_custom.in: Ask user to type custom entries below
26524 comment, rather than below 'exec tail' line.
26525
3b0521be 265262009-09-10 Colin Watson <cjwatson@ubuntu.com>
26527
26528 * util/grub.d/40_custom.in: Make sure that the explanatory text is
26529 visible in grub.cfg.
26530
50051d55 265312009-09-10 Colin Watson <cjwatson@ubuntu.com>
26532
26533 * util/grub.d/40_custom.in: Make it a little clearer how to use this
26534 file.
26535
c0d34387 265362009-09-10 Felix Zielcke <fzielcke@z-51.de>
26537
26538 * docs/grub.cfg: Add an example menu entry for memtest86+.
26539
80a608f3 265402009-09-09 Felix Zielcke <fzielcke@z-51.de>
26541
a2094832 26542 * config.guess: Update to latest version from config git.
80a608f3 26543 * config.sub: Likewise.
26544
99423078 265452009-09-08 Colin Watson <cjwatson@ubuntu.com>
26546
26547 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
26548 unknown-command case. Fixes bug #27320.
26549
44454e4c 265502009-09-08 Felix Zielcke <fzielcke@z-51.de>
26551
26552 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
26553 `help' if the command exists.
26554
e30d87ad 265552009-09-06 Robert Millan <rmh.grub@aybabtu.com>
26556
26557 * INSTALL: Require GCC 4.1.3 or later.
26558
9a86f1ec 265592009-09-06 Yves Blusseau <blusseau@zetam.org>
26560
26561 * Makefile.in (RMKFILES): add i386-qemu.rmk
26562 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
26563 $(srcdir)/stamp-h.in
26564
7f26d466 265652009-09-05 Robert Millan <rmh.grub@aybabtu.com>
26566
26567 * util/grub-probe.c (probe): Comment out buggy codepath, which
26568 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
26569 should be re-enabled after 1.97.
26570
3a613259 265712009-09-05 Felix Zielcke <fzielcke@z-51.de>
26572
26573 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
26574 find searches for.
26575
197f76c7 265762009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
26577
26578 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
26579 unnecessary calls to grub_error.
26580
70ba68ce 265812009-09-04 Colin Watson <cjwatson@ubuntu.com>
26582
26583 * NEWS: Mention `keystatus' and Unicode fonts.
26584
4ff0d7a4 265852009-09-04 Robert Millan <rmh.grub@aybabtu.com>
26586
26587 * configure.ac: Bump version to 1.97~beta2.
26588 * docs/version.texi: Likewise.
26589
77c55a87 265902009-09-03 Colin Watson <cjwatson@ubuntu.com>
26591
26592 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
26593 containing unwind information in some cases where it previously did
26594 not. Use -fno-dwarf2-cfi-asm if available to restore the old
26595 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
26596 discussion.
26597
f79572cd 265982009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
26599
26600 Embedding loadenv module into grub-emu
26601
26602 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
26603 commands/loadenv.c
26604 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
26605 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
26606 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
26607 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
26608 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
26609 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
26610
93a81088 266112009-09-03 Magnus Granberg <zorry@ume.nu>
26612
26613 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
26614 include -fPIE in the default specs.
26615 * configure.ac: Check if pie_possible is yes and add -fno-PIE
26616 to TARGET_CFLAGS.
26617
160034b2 266182009-09-03 Felix Zielcke <fzielcke@z-51.de>
26619
26620 * INSTALL: Note that GNU Bison 2.3 or later is required.
26621
087c07c4 266222009-09-03 Colin Watson <cjwatson@ubuntu.com>
26623
26624 * kern/i386/pc/startup.S: Fix typo.
26625
cbf978c0 266262009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
26627
26628 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
26629 according to GCS.
26630
266312009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 26632
26633 * docs/grub.texi (Naming convention): Describe one-based partition
26634 numbering.
26635 (Device syntax): Likewise.
26636 (File name syntax): Likewise.
26637 (Block list syntax): Likewise.
26638 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
26639 menu.lst.
26640 (File name syntax): Likewise.
26641 (Command-line and menu entry commands): Document acpi, blocklist,
26642 crc, export, insmod, keystatus, ls, set, and unset commands.
26643
f3e8cdfd 266442009-09-02 Colin Watson <cjwatson@ubuntu.com>
26645
26646 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
26647 to avoid implying that only one of --shift, --ctrl, or --alt may be
26648 used.
26649
c0bc232b 266502009-09-02 Colin Watson <cjwatson@ubuntu.com>
26651
26652 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
26653 rather than comparing against S_IFREG, which will almost never work.
26654
aa0f752d 266552009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
26656
26657 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
26658 (write_blocklists): Likewise.
26659
ecb3166a 266602009-09-01 Colin Watson <cjwatson@ubuntu.com>
26661
26662 * script/lua/grub_lua.h (fputs): Supply a format string as the first
26663 argument to grub_printf.
26664
c403a125 266652009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 26666
26667 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 26668 non GNU test.
31aba781 26669
b5e7312c 266702009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
26671
26672 * kern/file.c (grub_file_read): Spelling fix
26673
fe00f472 266742009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
26675
26676 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
26677 loading of headers in some cases.
26678
cc55302e 266792009-08-30 Robert Millan <rmh.grub@aybabtu.com>
26680
26681 * configure.ac: Bump version to 1.97~beta1.
26682 * docs/version.texi: Likewise.
26683
5c90cdd2 266842009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 26685
26686 * include/grub/i386/xnu.h: Add license header.
26687 include grub/err.h explicitly.
26688
c90edae4 266892009-08-29 Robert Millan <rmh.grub@aybabtu.com>
26690
26691 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
26692 to `ufs' in the vfs.root.mountfrom kernel parameter.
26693
d8888b5c 266942009-08-29 Robert Millan <rmh.grub@aybabtu.com>
26695
26696 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
26697
26698 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
26699 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
26700
26701 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
26702 `ARRAY_SIZE' macro.
26703
6f07b921 267042009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
26705
26706 * kern/file.c (grub_file_read): Check offset.
26707 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
26708 * fs/jfs.c (grub_jfs_read_file): Likewise.
26709 * fs/ntfs.c (grub_ntfs_read): Likewise.
26710 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
26711 * fs/minix.c (grub_minix_read_file): Correct offset check.
26712 * fs/ufs.c (grub_ufs_read_file): Likewise.
26713
b4f34077 267142009-08-28 Colin Watson <cjwatson@ubuntu.com>
26715
26716 * term/i386/pc/console.c (bios_data_area): Cast
26717 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
26718
e7c69859 267192009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
26720
26721 1-bit optimised blitters.
26722
26723 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
26724 prototype.
26725 (grub_video_fbblit_replace_24bit_1bit): Likewise.
26726 (grub_video_fbblit_replace_16bit_1bit): Likewise.
26727 (grub_video_fbblit_replace_8bit_1bit): Likewise.
26728 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
26729 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
26730 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
26731 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
26732 function.
26733 (grub_video_fbblit_replace_24bit_1bit): Likewise.
26734 (grub_video_fbblit_replace_16bit_1bit): Likewise.
26735 (grub_video_fbblit_replace_8bit_1bit): Likewise.
26736 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
26737 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
26738 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
26739 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
26740 when possible.
26741 * video/video.c (grub_video_get_blit_format): Return
26742 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
26743
a57da43f 267442009-08-28 Colin Watson <cjwatson@ubuntu.com>
26745
26746 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
26747 the first argument to grub_printf.
26748
4cbe67e5 267492009-08-28 Colin Watson <cjwatson@ubuntu.com>
267502009-08-28 Robert Millan <rmh.grub@aybabtu.com>
26751
26752 Add `getkeystatus' terminal method. Add a new `keystatus' command
26753 to query it.
26754
26755 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
26756 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
26757 modifier key bitmasks.
26758 (struct grub_term_input): Add `getkeystatus' member.
26759 (grub_getkeystatus): Add prototype.
26760 * kern/term.c (grub_getkeystatus): New function.
26761
26762 * include/grub/i386/pc/memory.h
26763 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
26764 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
26765 Data Area layout.
26766 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
26767 (grub_console_term_input): Set `getkeystatus' member.
26768 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
26769 constants.
26770 (grub_usb_keyboard_getreport): Likewise.
26771 (grub_usb_keyboard_checkkey): Likewise.
26772 (grub_usb_keyboard_getkeystatus): New function.
26773 (grub_usb_keyboard_term): Set `getkeystatus' member.
26774
26775 * commands/keystatus.c: New file.
26776 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
26777 (keystatus_mod_SOURCES): New variable.
26778 (keystatus_mod_CFLAGS): Likewise.
26779 (keystatus_mod_LDFLAGS): Likewise.
26780 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
26781 commands/keystatus.c.
26782 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26783 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26784 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26785 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26786 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26787 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 26788
6e2a9085 267892009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
26790
26791 Split befs.mod and afs.mod into *_be.mod and *.mod
26792
26793 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
26794 (grub_fstest_SOURCES): Likewise.
26795 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
26796 (afs_be_mod_SOURCES): New variable.
26797 (afs_be_mod_CFLAGS): Likewise.
26798 (afs_be_mod_LDFLAGS): Likewise.
26799 (befs_be_mod_SOURCES): Likewise.
26800 (befs_be_mod_CFLAGS): Likewise.
26801 (befs_be_mod_LDFLAGS): Likewise.
26802 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
26803 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26804 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26805 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
26806 (grub_emu_SOURCES): Likewise.
26807 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26808 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26809 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26810 * fs/afs_be.c: New file.
26811 * fs/befs_be.c: New file.
26812 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
26813 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
26814 (U16): Replaced with ...
26815 (grub_afs_to_cpu16): ...this. All users updated.
26816 (U32): Replaced with ...
26817 (grub_afs_to_cpu32): ...this. All users updated.
26818 (U64): Replaced with ...
26819 (grub_afs_to_cpu64): ...this. All users updated.
26820 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
26821 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 26822 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 26823 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
26824 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
26825 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
26826 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
26827 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
26828 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
26829 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
26830 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
26831
32a71655 268322009-08-26 Bean <bean123ch@gmail.com>
26833
26834 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
26835 64-bit number.
26836 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
26837 (grub_xfs_inode_block): Change return type to grub_uint64_t.
26838 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
26839
552bf6c5 268402009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26841
26842 NetBSD memory map support.
26843
26844 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
26845 (grub_netbsd_btinfo_mmap_header): New structure.
26846 (grub_netbsd_btinfo_mmap_entry): Likewise.
26847 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
26848
1ae2078c 268492009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26850
26851 Enable bsd.mod on coreboot.
26852
26853 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
26854 (bsd_mod_SOURCES): New variable.
26855 (bsd_mod_CFLAGS): Likewise.
26856 (bsd_mod_LDFLAGS): Likewise.
26857 (bsd_mod_ASFLAGS): Likewise.
26858 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
26859 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
26860
beefc598 268612009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26862
26863 Cleanup NetBSD root support.
26864
26865 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
26866 grub_bsd_get_device.
26867 Fix typo.
26868
3b76e68b 268692009-08-25 Felix Zielcke <fzielcke@z-51.de>
26870
26871 * util/grub.d/00_header.in: Move check for the video backend of
26872 gfxterm from here ...
26873 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
26874 a suitable video backend.
26875
aea664ea 268762009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26877
26878 Fix breakage in grub-setup.
26879
26880 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
26881 "msdos_partition_map".
26882
ff747d50 268832009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26884
26885 Fix breakage in normal/auth.c.
26886
26887 * normal/auth.c (grub_iswordseparator): New function.
26888
e7e1f93f 268892009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26890
26891 Authentication support.
26892
26893 * commands/password.c: New file.
26894 * conf/common.rmk (pkglib_MODULES): Add password.mod.
26895 (password_mod_SOURCES): New variable.
26896 (password_mod_CFLAGS): Likewise.
26897 (password_mod_LDFLAGS): Likewise.
26898 (normal_mod_SOURCES): Add normal/auth.c.
26899 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
26900 normal/auth.c.
26901 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26902 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26903 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26904 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26905 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26906 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26907 * include/grub/auth.h: New file.
26908 * include/grub/err.h (grub_err_t): New enum value
26909 GRUB_ERR_ACCESS_DENIED.
26910 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
26911 'users'.
26912 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
26913 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
26914 users updated.
26915 * normal/auth.c: New file.
26916 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
26917 (grub_cmdline_run): Don't allow to go to command line without
26918 authentication.
26919 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
26920 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
26921 menuentry without superuser rights.
26922 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
26923 user isn't a superuser.
26924
70f1161d 269252009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26926
26927 Save space by inlining misc.c functions.
26928
26929 * kern/misc.c (grub_iswordseparator): Made static.
26930 * kern/misc.c (grub_strcat): Moved from here ...
26931 * include/grub/misc.h (grub_strcat): ... here. Inlined.
26932 * kern/misc.c (grub_strncat): Moved from here ...
26933 * include/grub/misc.h (grub_strncat): ... here. Inlined.
26934 * kern/misc.c (grub_strcasecmp): Moved from here ...
26935 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
26936 * kern/misc.c (grub_strncasecmp): Moved from here ...
26937 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
26938 * kern/misc.c (grub_isalpha): Moved from here ...
26939 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
26940 * kern/misc.c (grub_isdigit): Moved from here ...
26941 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
26942 * kern/misc.c (grub_isgraph): Moved from here ...
26943 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
26944 * kern/misc.c (grub_tolower): Moved from here ...
26945 * include/grub/misc.h (grub_tolower): ... here. Inlined.
26946
48e40bff 269472009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26948
26949 * script/sh/function.c (grub_script_function_find): Cut error message
26950 not to flood terminal.
26951 * script/sh/lexer.c (grub_script_yylex): Remove command line length
26952 limit.
26953 * script/sh/script.c (grub_script_arg_add): Duplicate string.
26954
c385bfc3 269552009-08-24 Colin Watson <cjwatson@ubuntu.com>
26956
26957 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
26958 `report' grub_uint8_t *.
26959 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
26960 Use a 50-millisecond timeout rather than just repeating
26961 grub_usb_keyboard_getreport 50 times.
26962 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
26963
2d21e3e8 269642009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26965
26966 Rename *_partition_map to part_*
26967
26968 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
26969 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
26970 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
26971 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
26972 All users updated.
26973 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
26974 All users updated.
26975 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
26976 * util/grub-probe.c (probe_partmap): Don't transform partition name
26977 to get module name.
26978
dd103c4e 269792009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26980
26981 Fix OpenBSD and NetBSD support.
26982
26983 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
26984 memory address conflict.
26985 (OPENBSD_MMAP_ACPI): New definition.
26986 (OPENBSD_MMAP_NVS): Likewise.
26987 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
26988 and OPENBSD_MMAP_NVS.
26989 Add memory map terminator
26990 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 26991 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 26992
16c84d74 269932009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26994
26995 Let user specify NetBSD root device.
26996
26997 * loader/i386/bsd.c (netbsd_root): New variable.
26998 (netbsd_opts): New option 'root'.
26999 (NETBSD_ROOT_ARG): New macro.
27000 (grub_netbsd_boot): Use 'netbsd_root'.
27001 (grub_bsd_unload): Free 'netbsd_root'.
27002 (grub_cmd_netbsd): Fill 'netbsd_root'.
27003
adb29902 270042009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27005
27006 Support for 64-bit NetBSD.
27007
27008 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
27009 point when booting non-FreeBSD.
27010
f5ae9f74 270112009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27012
27013 Support --no-smp and --no-acpi for NetBSD.
27014
27015 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
27016 (NETBSD_AB_NOACPI): Likewise.
27017 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
27018 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
27019
de74f136 270202009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27021
27022 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
27023 errors.
27024 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
27025 errors. Call grub_error when needed.
27026
e9a925da 270272009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27028
27029 * commands/search.c (search_fs): Try searching without autoload first.
27030 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
27031 filesystem module explicitly for faster booting.
27032
5174302b 270332009-08-23 Colin Watson <cjwatson@ubuntu.com>
27034
27035 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
27036
c8c80635 270372009-08-23 Colin Watson <cjwatson@ubuntu.com>
27038
27039 * util/grub.d/30_os-prober.in: Disable os-prober if
27040 `GRUB_DISABLE_OS_PROBER' was set to true.
27041
71acf5e5 270422009-08-23 Robert Millan <rmh.grub@aybabtu.com>
27043
27044 * partmap/pc.c: Rename to ...
27045 * partmap/msdos.c: ... this. Update all users.
27046 (grub_pc_partition_map): Rename to ...
27047 (grub_msdos_partition_map): ... this. Update all users.
27048
27049 * parttool/pcpart.c: Rename to ...
27050 * parttool/msdospart.c: ... this. Update all users.
27051
27052 * include/grub/pc_partition.h: Rename to ...
27053 * include/grub/msdos_partition.h: ... this. Update all users.
27054 (grub_pc_partition_bsd_entry): Rename to ...
27055 (grub_msdos_partition_bsd_entry): ... this. Update all users.
27056 (grub_pc_partition_disk_label): Rename to ...
27057 (grub_msdos_partition_disk_label): ... this. Update all users.
27058 (grub_pc_partition_entry): Rename to ...
27059 (grub_msdos_partition_entry): ... this. Update all users.
27060 (grub_pc_partition_mbr): Rename to ...
27061 (grub_msdos_partition_mbr): ... this. Update all users.
27062 (grub_pc_partition): Rename to ...
27063 (grub_msdos_partition): ... this. Update all users.
27064 (grub_pc_partition_is_empty): Rename to ...
27065 (grub_msdos_partition_is_empty): ... this. Update all users.
27066 (grub_pc_partition_is_extended): Rename to ...
27067 (grub_msdos_partition_is_extended): ... this. Update all users.
27068 (grub_pc_partition_is_bsd): Rename to ...
27069 (grub_msdos_partition_is_bsd): ... this. Update all users.
27070
27071 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
27072 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
27073 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
27074 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
27075 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
27076 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
27077 (gpt_mod_LDFLAGS): Rename to ...
27078 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
27079 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
27080 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
27081 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
27082 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
27083 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
27084 (part_gpt_mod_LDFLAGS): ... this.
27085 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
27086 `pcpart.mod' to `msdospart.mod'.
27087 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
27088 to ...
27089 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
27090 (msdospart_mod_LDFLAGS): ... this.
27091
c11fded5 270922009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27093
27094 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
27095 (openbsd_opts): Likewise.
27096 (netbsd_opts): Likewise.
27097 (freebsd_flags): Added 0 terminator.
27098 (openbsd_flags): Likewise.
27099 (netbsd_flags): Likewise.
27100 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
27101 (grub_cmd_freebsd): Transformed into extended command.
27102 (grub_cmd_openbsd): Likewise.
27103 (grub_cmd_netbsd): Likewise.
27104 (cmd_freebsd): Changed type to grub_extcmd_t.
27105 (cmd_openbsd): Likewise.
27106 (cmd_netbsd): Likewise.
27107 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
27108 grub_cmd_openbsd as extended commands.
27109 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
27110 cmd_netbsd and cmd_openbsd
27111
11d1c769 271122009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
27113
27114 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
27115
7a9094e5 271162009-08-21 Pavel Roskin <proski@gnu.org>
27117
5496c37e 27118 * Makefile.in (install-local): When checking if a file is in the
27119 build directory, use "test -e" to detect symlinks.
27120
7a9094e5 27121 * Makefile.in (install-local): Remove all files in
27122 $(DESTDIR)$(pkglibdir) before installing new files there.
27123
e53cea11 271242009-08-18 Felix Zielcke <fzielcke@z-51.de>
27125
27126 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
27127 grub-mkelfimage.
27128
9aced544 271292009-08-18 Felix Zielcke <fzielcke@z-51.de>
27130
27131 * util/grub-mkconfig.in: Don't use gfxterm by default if not
27132 explicitly specified by the user.
27133
b7da6bab 271342009-08-18 Pavel Roskin <proski@gnu.org>
27135
27136 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
27137 grub_uint8_t pointer for data.
27138 * include/grub/fbutil.h (struct grub_video_fbblit_info):
27139 Likewise.
27140 * video/fb/fbutil.c: Remove unnecessary casts.
27141
19f1b335 271422009-08-17 Michal Suchanek <hramrach@centrum.cz>
27143
27144 VBE cleanup.
27145
27146 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
27147 (grub_vbe_set_video_mode): Save active mode info
27148 only after setting the mode.
27149 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
27150 second argument.
27151
2f467aa9 271522009-08-17 Michal Suchanek <hramrach@centrum.cz>
27153
27154 Rename variables for clarity.
27155
27156 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
27157 (active_vbe_mode_info): ... this. All users updated.
27158 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
27159 All users updated.
27160 (initial_mode): Rename to ...
27161 (initial_vbe_mode): ... this. All users updated.
27162 (mode_in_use): Rename to ..
27163 (vbe_mode_in_use): ... this. All users updated.
27164 (mode_list): Rename to ..
27165 (vbe_mode_list): ... this. All users updated.
27166 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
27167 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
27168 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
27169 'mode_list_size' to 'vbe_mode_list_size'.
27170 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
27171 'best_mode_info' to 'best_vbe_mode_info' and
27172 'best_mode' to 'best_vbe_mode'
27173
6025fcd7 271742009-08-17 Michal Suchanek <hramrach@centrum.cz>
27175
27176 Remove duplicate grub_video_fb_get_video_ptr.
27177
27178 * include/grub/fbutil.h (get_data_ptr): Rename to ...
27179 (grub_video_fb_get_video_ptr): ... this.
27180 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
27181 * video/fb/fbutil.c: Add comment about addressing.
27182 (get_data_ptr): Rename to ...
27183 (grub_video_fb_get_video_ptr): ... this. All users updated.
27184 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
27185
cc8c6faf 271862009-08-17 Robert Millan <rmh.grub@aybabtu.com>
27187
27188 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
27189 grub_dprintf() that was just added.
27190
08aa61f0 271912009-08-17 Robert Millan <rmh.grub@aybabtu.com>
27192
27193 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
27194 (DEFAULT_VIDEO_MODE): Remove macros.
27195 (grub_linux_boot): Remove assumption that Linux has FB support,
27196 and use "text" as default video mode.
27197
7cef4f75 271982009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
27199
27200 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
27201 grub_dprintf.
27202 * fs/fat.c (grub_fat_read_data): Likewise.
27203
e1f39873 272042009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27205
27206 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
27207 payload.
27208 (grub_module): Likewise.
27209
c166d79e 272102009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27211
27212 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
27213 mbi->cmdline but free playground.
27214
c60cee8e 272152009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27216
27217 Handle group offset on UFS1.
27218
27219 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
27220 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
27221
c0d8b5d4 272222009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27223
27224 Split ufs.mod into ufs1.mod and ufs2.mod.
27225
27226 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
27227 (grub_fstest_SOURCES): Likewise.
27228 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
27229 (ufs_mod_SOURCES): Remove.
27230 (ufs_mod_CFLAGS): Likewise.
27231 (ufs_mod_LDFLAGS): Likewise.
27232 (ufs1_mod_SOURCES): New variable.
27233 (ufs1_mod_CFLAGS): Likewise.
27234 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 27235 (ufs2_mod_SOURCES): New variable.
27236 (ufs2_mod_CFLAGS): Likewise.
27237 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 27238 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
27239 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
27240 Likewise.
27241 (grub_emu_SOURCES): Likewise.
27242 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27243 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27244 (grub_setup_SOURCES): Likewise.
27245 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27246 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
27247 (grub_setup_SOURCES): Likewise.
27248 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
27249 Likewise.
27250 * fs/ufs2.c: New file.
27251 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
27252
d3539132 272532009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27254
27255 Framebuffer split.
27256
27257 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
27258 subsystem at the end.
27259 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
27260 (video_fb_mod_SOURCES): New variable.
27261 (video_fb_mod_CFLAGS): Likewise.
27262 (video_fb_mod_LDFLAGS): Likewise.
27263 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
27264 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
27265 * video/i386/pc/vbeblit.c: Moved from here ...
27266 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
27267 * video/i386/pc/vbefill.c: Moved from here ...
27268 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
27269 * video/i386/pc/vbeutil.c: Moved from here ...
27270 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
27271 * include/grub/i386/pc/vbeblit.h: Moved from here ...
27272 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
27273 * include/grub/i386/pc/vbefill.h: Moved from here ...
27274 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
27275 * include/grub/i386/pc/vbeutil.h: Moved from here ...
27276 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
27277 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
27278 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
27279 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
27280 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
27281 (grub_video_adapter): Added 'get_info_and_fini'.
27282 (grub_video_get_info_and_fini): New prototype.
27283 (grub_video_set_mode): make modestring const char *.
27284 * loader/i386/linux.c (grub_linux_setup_video): Use
27285 grub_video_get_info_and_fini.
27286 (grub_linux_boot): Move modesetting just before booting.
27287 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
27288 grub_video_get_info_and_fini.
27289 * video/i386/pc/vbe.c: Moved framebuffer part ...
27290 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
27291 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
27292 grub_video_fbstd_colors and grub_video_fb_set_palette.
27293 (grub_video_vbe_init): Clear 'framebuffer' variable and use
27294 grub_video_fb_init.
27295 (grub_video_vbe_fini): Use grub_video_fb_fini.
27296 (grub_video_vbe_setup): Use framebuffer.render_target instead of
27297 render_target and use grub_video_fb_set_active_render_target and
27298 grub_video_fb_set_palette.
27299 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
27300 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
27301 (grub_video_vbe_adapter): Use framebuffer.
27302 * video/video.c (grub_video_get_info_and_fini): New function.
27303 (grub_video_set_mode): Make modestring const char *.
27304 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
27305 values are already initialised.
27306
d404ee56 273072009-08-14 Pavel Roskin <proski@gnu.org>
27308
27309 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
27310 ABS and APPLE_CC.
27311 * boot/i386/pc/diskboot.S: Likewise.
27312 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
27313 sectors allow compilation on MacOSX.
27314 * conf/i386-pc.rmk: Enable unconditional compilation of
27315 lnxboot.img.
27316
9a10df16 273172009-08-13 Colin Watson <cjwatson@ubuntu.com>
27318
27319 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
27320 * util/grub.d/00_header.in: Enter interruptible sleep if
27321 GRUB_HIDDEN_TIMEOUT is set.
27322
be3c9ca7 273232009-08-13 Yves Blusseau <blusseau@zetam.org>
27324
27325 * include/grub/symbol.h: Add the LOCAL macro.
27326 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
27327 starting with "L_".
27328
1f9e557e 273292009-08-13 Pavel Roskin <proski@gnu.org>
27330
9ca62843 27331 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
27332 any modern compilers we support.
27333
1f9e557e 27334 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
27335 Use local labels starting with "L_" so that Apple assembler
27336 knows they are local.
27337
81623db6 273382009-08-10 Robert Millan <rmh.grub@aybabtu.com>
27339
27340 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
27341 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
27342 (bsd_kernel_types): ... this enum.
27343
27344 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
27345 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
27346 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
27347
27348 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
27349 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
27350 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
27351 messages.
27352
f5d35e7a 273532009-08-08 Robert Millan <rmh.grub@aybabtu.com>
27354
27355 * util/grub-dumpdevtree: Moved from here ...
27356 * util/i386/efi/grub-dumpdevtree: ... to here.
27357 (hexify): New function. Converts a string to its hex version.
27358 Generate hex versions of "efi" and "device-properties" by calling
27359 hexify() on the ASCII strings rather than by hardcoding numbers.
27360
d1e1d527 273612009-08-08 Robert Millan <rmh.grub@aybabtu.com>
27362
27363 * fs/jfs.c: Update copyright year.
27364
1ebbe064 273652009-08-08 Felix Zielcke <fzielcke@z-51.de>
27366
27367 * util/grub.d/00_header.in: Fix a comment.
27368 * util/grub.d/10_linux.in: Likewise.
27369 * util/grub.d/10_windows.in: Likewise.
27370 * util/grub.d/10_hurd.in: Likewise.
27371
a78c8d24 273722009-08-08 Felix Zielcke <fzielcke@z-51.de>
27373
27374 * util/grub-mkconfig.in: Allow the user to specify the used font
27375 with GRUB_FONT.
27376
29a6b9e8 273772009-08-08 Pavel Roskin <proski@gnu.org>
27378
b5f16cc4 27379 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
27380 available, xfs.mod needs it now.
27381
2f5cb827 27382 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
27383 the "g" modifier in sed when the intention is to strip something
27384 once. This fixes comparison of kernels with multiple dashes.
27385
29a6b9e8 27386 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
27387 on it. Add missing space before closing bracket. Fix
27388 misleading formatting.
27389
892a3d98 273902009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27391
27392 * docs/grub.texi: Major overhaul. Remove all sections that are
27393 specific to GRUB Legacy, or mostly composed of Legacy-specific
27394 information.
27395
ed94253f 273962009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27397
27398 * docs/version.texi: New file. Provides version information for
27399 grub.texi.
27400
126d6628 274012009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27402
27403 * docs/grub.texi: Update CVS information to SVN.
27404 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
27405
998b5aa9 274062009-08-07 Felix Zielcke <fzielcke@z-51.de>
27407
27408 * util/grub-mkconfig.in: Remove a wrong `fi'.
27409
818e094a 274102009-08-07 Felix Zielcke <fzielcke@z-51.de>
27411
27412 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
27413 (grub_jfs_uuid): New function.
27414 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
27415
b969c52f 274162009-08-07 Felix Zielcke <fzielcke@z-51.de>
27417
27418 * util/grub-mkconfig_lib.in (font_path): Move the functionality
27419 of it to ...
27420 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
27421 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
27422
7a4894cc 274232009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27424
27425 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
27426 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
27427 Update all users.
27428
27429 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
27430 not just "vmlinu[zx]".
27431 Moved from here ...
27432 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
27433 all users.
27434
27435 * util/grub.d/10_linux.in (find_latest): Moved from here ...
27436 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
27437 all users.
27438
4e2171f8 274392009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27440
27441 * util/grub.d/10_freebsd.in: Use an absolute device path for
27442 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
27443
6dcfcb32 274442009-08-06 Felix Zielcke <fzielcke@z-51.de>
27445
27446 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
27447 handling of multiple abstraction modules.
27448
f56a8756 274492009-08-04 Robert Millan <rmh.grub@aybabtu.com>
27450
27451 Fix a bug resulting in black screen when loading Linux using a
27452 packed video mode.
27453
27454 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
27455 function.
27456
27457 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
27458 (grub_vbe_bios_getset_dac_palette_width): New function.
27459 (grub_vbe_bios_get_dac_palette_width)
27460 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
27461 grub_vbe_bios_getset_dac_palette_width()).
27462
27463 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
27464 check for return status.
27465 (grub_vbe_get_video_mode_info): When getting information for a packed
27466 mode (<= 8 bpp), obtain DAC palette width using
27467 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
27468 {red,green,blue}_mark_size.
27469
222671b2 274702009-08-04 Felix Zielcke <fzielcke@z-51.de>
27471
ecb1a6d9 27472 * commands/search.c (options): Fix help output to match actual code.
222671b2 27473
f84114f5 274742009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
27475
27476 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
27477 of homegrown code.
27478
bd288a20 274792009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 27480
27481 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
27482 on XFS or ReiserFS.
27483
8aab5e25 274842009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
27485
27486 Support Apple partition map with sector size different from 512 bytes.
27487
27488 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
27489 (apple_partition_map_iterate): Respect 'aheader.blocksize'
27490 and 'apart.partmap_size'.
27491
6ad6258a 274922009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
274932009-08-01 Robert Millan <rmh.grub@aybabtu.com>
27494
27495 Fix cpuid command.
27496
27497 * commands/i386/cpuid.c (options): New variable.
27498 (grub_cmd_cpuid): Return real error.
27499 (GRUB_MOD_INIT(cpuid)): Declare options.
27500
67459bc6 275012009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
27502
27503 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
27504 valid.
27505
fbc6ab54 275062009-07-31 Bean <bean123ch@gmail.com>
27507
27508 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
27509 log2_inode.
27510 (grub_fshelp_node): Move inode field to the end.
27511 (grub_xfs_data): Remove inode field.
27512 (grub_xfs_inode_block): Calculate inode size using sblock.
27513 (grub_xfs_inode_offset): Likewise.
27514 (grub_xfs_read_inode): Calculate inode size using sblock.
27515 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
27516 (grub_xfs_iterate_dir): Calculate inode size using sblock.
27517 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
27518 to match inode size.
27519 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
27520 not accessible when data is null.
27521 (grub_xfs_open): Likewise.
27522
f45d6cfc 275232009-07-31 Bean <bean123ch@gmail.com>
27524
27525 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
27526 Don't change pv->disk if it's already set.
27527
27528 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
27529 (grub_raid_register): ... here.
27530 (grub_raid_rescan): Removed.
27531
27532 * include/grub/raid.h (grub_raid_rescan): Removed.
27533
27534 * util/grub-fstest.c: Remove include file <grub/raid.h>.
27535 (fstest): Replace grub_raid_rescan with module fini function followed
27536 by init function.
27537
27538 * util/grub-probe.c: Add include file <grub/raid.h>.
27539 (probe_raid_level): New function.
27540 (probe): Detect abstraction by walking the disk device, support two
27541 level of abstraction (LVM on RAID) when detecting partition map.
27542
24443b5a 275432009-07-31 Pavel Roskin <proski@gnu.org>
27544
27545 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
27546 to grub_zalloc(), it was erroneous.
27547 Reported by Bean <bean123ch@gmail.com>
27548
a275d9e7 275492009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
27550
27551 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 27552 embedding zone, not only the first one.
a275d9e7 27553
56c5a47f 275542009-07-29 Joe Auricchio <jauricchio@gmail.com>
27555
27556 * term/gfxterm.c (clear_char): New function.
27557 (grub_virtual_screen_setup): Use clear_char.
27558 (scroll_up): Likewise.
27559 (grub_virtual_screen_cls): Likewise.
27560
67bb323a 275612009-07-29 Felix Zielcke <fzielcke@z-51.de>
27562
27563 * util/deviceiter.c (get_acceleraid_disk_name): New static
27564 function.
27565 (grub_util_iterate_devices): Handle Accelraid devices.
27566 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
27567
388a7c75 275682009-07-28 Robert Millan <rmh.grub@aybabtu.com>
27569
27570 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
27571 separator for the suggested gfxpayload string (';' collides with the
27572 parser and needs escaping).
27573
3bb7abcf 275742009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
27575
27576 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
27577 Clear direction flag before jumping to OS.
27578 (grub_multiboot2_real_boot): Likewise.
27579
2ddd36d7 275802009-07-28 Felix Zielcke <fzielcke@z-51.de>
27581
27582 * util/i386/pc/grub-install: Fix parsing of --disk-module
27583 option.
27584
c521b62b 275852009-07-28 Felix Zielcke <fzielcke@z-51.de>
27586
27587 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
27588 when embedding.
27589
880e0a0c 275902009-07-26 Felix Zielcke <fzielcke@z-51.de>
27591
27592 * util/grub-mkconfig.in (package_version): New variable.
27593 Use it do display the version.
27594
2366e356 275952009-07-25 Felix Zielcke <fzielcke@z-51.de>
27596
27597 * kern/file.c (grub_file_open): Revert to previous check with
27598 grub_errno.
27599
7ad8c80e 276002009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
27601
27602 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
27603 from help line. It's out of sync with code.
27604
72b9658b 276052009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
27606
27607 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
27608 entries on failed boot.
27609
77435277 276102009-07-25 Felix Zielcke <fzielcke@z-51.de>
27611
27612 * kern/file.c (grub_file_open): Fix an error check.
27613
fcaa8b21 276142009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
27615
35d16c74 27616 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
27617 partition map couldn't be identified.
fcaa8b21 27618
48904cd1 276192009-07-23 Pavel Roskin <proski@gnu.org>
27620
ef3c317f 27621 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
27622 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
27623 case of little endian words becomes just an optimization.
27624 Respect const modifier.
ad8ea1f4 27625 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 27626
48904cd1 27627 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
27628 to avoid loss of upper bits if align is unsigned and shorter
27629 than addr.
27630
260c9a89 276312009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
27632
27633 UUID support for UFS
27634
27635 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
27636 (grub_ufs_uuid): New function.
27637 (grub_ufs_fs): add .uuid
27638
f76ce889 276392009-07-21 Pavel Roskin <proski@gnu.org>
27640
27641 * kern/dl.c (grub_dl_check_header): Make static.
27642
6a6cbcaf 276432009-07-21 Felix Zielcke <fzielcke@z-51.de>
27644
27645 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
27646 add drivemap for Vista. It breaks Windows 7.
27647
cffcddb2 276482009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
27649
27650 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
27651 128 bytes
27652
1ef44b80 276532009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
27654
27655 Add BFS support
27656
27657 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
27658 (grub_fstest_SOURCES): Likewise.
27659 (pkglib_MODULES): Add befs.mod.
27660 (befs_mod_SOURCES): New variable.
27661 (befs_mod_CFLAGS): Likewise.
27662 (befs_mod_LDFLAGS): Likewise.
27663 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
27664 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27665 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27666 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27667 (grub_setup_SOURCES): Likewise.
27668 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27669 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27670 (grub_setup_SOURCES): Likewise.
27671 * fs/befs.c: New file.
27672 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
27673 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
27674 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
27675 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
27676 (B_KEY_INDEX_ALIGN): New declaration.
27677 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
27678 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
27679 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
27680 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
27681 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
27682 (grub_afs_mount) [MODE_BFS]: Likewise.
27683 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
27684 (grub_afs_fs): Use GRUB_AFS_FSNAME
27685 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
27686 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
27687 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
27688 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
27689
4f253044 276902009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
27691
27692 * util/getroot.c (find_root_device): Add support for MacOSX.
27693 * util/hostdisk.c: Likewise.
27694
57a55913 276952009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
27696
27697 * font/font.c (find_glyph): Check whether a font is present to avoid
27698 segmentation fault.
75421ca9 27699
277002009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 27701
27702 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
27703
e98cd0c2 277042009-07-20 Pavel Roskin <proski@gnu.org>
27705
27706 * configure.ac: Trim excessively wordy excuses.
27707
1d2d169a 277082009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
27709
27710 Add symlink, mtime and label support to AtheFS.
27711
27712 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
27713 (grub_afs_iterate_dir): Handle symlinks.
27714 (grub_afs_open): Use grub_afs_read_symlink.
27715 (grub_afs_dir): Likewise.
27716 Pass mtime.
27717 (grub_afs_label): New function.
27718 (grub_afs_fs): Add grub_afs_label.
27719 (grub_afs_read_symlink): New function.
27720
186f3189 277212009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
27722
27723 Fix AtheFS support.
27724
27725 * fs/afs.c: Fix comments style.
27726 (grub_afs_blockrun): Declare as packed.
27727 (grub_afs_datastream): Likewise.
27728 (grub_afs_bnode): Likewise.
27729 (grub_afs_btree): Likewise.
27730 (grub_afs_sblock): Likewise.
27731 Declare `name' as char.
27732 (grub_afs_inode): Declare as packed.
27733 Change void *vnode to grub_uint32_t unused.
27734 (grub_afs_iterate_dir): Check that key_size is positive.
27735 (grub_afs_mount): Don't read superblock twice.
75421ca9 27736 (grub_afs_dir): Don't free node in case of error,
186f3189 27737 grub_fshelp_find_file already handles this.
27738 (grub_afs_open): Likewise.
27739
5680109e 277402009-07-19 Pavel Roskin <proski@gnu.org>
27741
27742 * Makefile.in: Remove LIBLZO and enable_lzo.
27743 * conf/i386-pc.rmk: Remove lzo support.
27744 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
27745 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
27746 support.
27747 * kern/i386/pc/lzo1x.S: Remove.
27748 * kern/i386/pc/startup.S: Remove lzo support.
27749 * util/i386/pc/grub-mkimage.c: Likewise.
27750
ac70fa32 277512009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
27752
27753 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
27754 * fs/xfs.c (grub_xfs_dir): Likewise.
27755 * fs/afs.c (grub_afs_dir): Likewise.
27756 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
27757 (grub_iso9660_open): Likewise.
27758 * fs/jfs.c (grub_jfs_open): Likewise.
27759 * fs/ext2.c (grub_ext2_dir): Likewise.
27760 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
27761 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 27762
eab58da2 277632009-07-16 Pavel Roskin <proski@gnu.org>
27764
d2838156 27765 * configure.ac: Never add "-c" to CFLAGS.
27766
55c70904 27767 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
27768
43e6200c 27769 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
27770 grub_cv_cc_efiemu should be used.
27771
ce7a733d 27772 * configure.ac: Typo fixes.
27773
eab58da2 27774 * kern/mm.c (grub_zalloc): New function.
27775 (grub_debug_zalloc): Likewise.
27776 * include/grub/mm.h: Declare grub_zalloc() and
27777 grub_debug_zalloc().
27778 * util/misc.c (grub_zalloc): New function.
27779 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
27780 instead of grub_malloc(), remove unneeded initializations.
27781 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
27782 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
27783 * commands/parttool.c (grub_cmd_parttool): Likewise.
27784 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
27785 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
27786 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
27787 * disk/usbms.c (grub_usbms_finddevs): Likewise.
27788 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
27789 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
27790 (grub_cmd_efiemu_pnvram): Likewise.
27791 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
27792 * fs/iso9660.c (grub_iso9660_mount): Likewise.
27793 (grub_iso9660_iterate_dir): Likewise.
27794 * fs/jfs.c (grub_jfs_opendir): Likewise.
27795 * fs/ntfs.c (list_file): Likewise.
27796 (grub_ntfs_mount): Likewise.
27797 * kern/disk.c (grub_disk_open): Likewise.
27798 * kern/dl.c (grub_dl_load_core): Likewise.
27799 * kern/elf.c (grub_elf_file): Likewise.
27800 * kern/env.c (grub_env_context_open): Likewise.
27801 (grub_env_set): Likewise.
27802 (grub_env_set_data_slot): Likewise.
27803 * kern/file.c (grub_file_open): Likewise.
27804 * kern/fs.c (grub_fs_blocklist_open): Likewise.
27805 * loader/i386/multiboot.c (grub_module): Likewise.
27806 * loader/xnu.c (grub_xnu_create_key): Likewise.
27807 (grub_xnu_create_value): Likewise.
27808 * normal/main.c (grub_normal_add_menu_entry): Likewise.
27809 (read_config_file): Likewise.
27810 * normal/menu_entry.c (make_screen): Likewise.
27811 * partmap/sun.c (sun_partition_map_iterate): Likewise.
27812 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
27813 * script/sh/script.c (grub_script_parse): Likewise.
27814 * video/bitmap.c (grub_video_bitmap_create): Likewise.
27815 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
27816 * video/readers/png.c (grub_png_output_byte): Likewise.
27817 (grub_video_reader_png): Likewise.
27818
830afef7 278192009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 27820
27821 Enable all targets that can be built by default
27822
830afef7 27823 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 27824 grub-mkfont and grub-fstest if they can be built
27825
ee293aee 278262009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27827
27828 Fix hang and segmentation fault in grub-emu-usb
27829
27830 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
27831 * util/usb.c (grub_libusb_devices): likewise
27832 (grub_libusb_init): rename to ...
27833 (GRUB_MOD_INIT (libusb)):...this
27834 (grub_libusb_fini): rename to ..
27835 (GRUB_MOD_FINI (libusb)):...this
27836 * disk/usbms.c (grub_usbms_transfer): fix retry logic
27837 * include/grub/disk.h (grub_raid_init): removed, it's useless
27838 (grub_raid_fini): likewise
27839 (grub_lvm_init): likewise
27840 (grub_lvm_fini): likewise
27841 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
27842 by grub_init_all
27843
94414221 278442009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27845
27846 Fix libusb
27847
27848 * Makefile.in (LIBUSB): new macro
27849 * genmk.rb (Utility/print_tail): new method
27850 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
27851 (top level): call util.print_tail at the end.
27852
59ade63d 278532009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27854
27855 Make FreeBSD accept zpool.cache
27856
27857 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
27858 type is /boot/zfs/zpool.cache
27859
a58da8c7 278602009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27861
27862 Fix 64-bit efiemu
27863
27864 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
27865 correct wrong typedef
27866 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
27867
20591577 278682009-07-15 Pavel Roskin <proski@gnu.org>
27869
560ca572 27870 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
27871 * kern/disk.c (struct grub_disk_cache): Likewise.
27872
e8e8e4fd 27873 * commands/probe.c (options): Typo fix.
27874
fde24e10 27875 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
27876 Increase to 0x5a to accommodate FAT32. Adjust other offsets
27877 accordingly.
27878 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
27879
379c54c1 27880 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
27881 the end of "Error" to make the message more readable.
27882
7bd8f5bf 27883 * boot/i386/pc/boot.S (kernel_segment): Remove.
27884 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
27885 for destination.
27886
40b132c5 27887 * boot/i386/pc/boot.S (boot_version): Remove.
27888 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
27889 Remove.
27890
20591577 27891 * include/grub/i386/pc/boot.h: Sort all offsets.
27892 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
27893 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
27894 * boot/i386/pc/boot.S: Assert location of every offset listed in
27895 include/grub/i386/pc/boot.h.
27896
2df32b2c 278972009-07-13 Pavel Roskin <proski@gnu.org>
27898
44b5d879 27899 * include/grub/i386/coreboot/machine.h: Rename
27900 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
27901 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
27902 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
27903
17dc3751 27904 * kern/dl.c: Force native word size to suppress warnings when
27905 compiling grub-emu.
27906
2df32b2c 27907 * kern/device.c (grub_device_iterate): Change struct part_ent to
27908 hold the name, not a pointer to it. Use one grub_malloc() per
27909 partition, not two. Free partition_name if grub_malloc() fails.
27910 Set ents to NULL only before grub_partition_iterate() is called.
27911
75c59f59 279122009-07-11 Bean <bean123ch@gmail.com>
27913
27914 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
27915 childname.
27916
0ae1bf88 279172009-07-10 Bean <bean123ch@gmail.com>
279182009-07-10 Robert Millan <rmh.grub@aybabtu.com>
27919
27920 * kern/ieee1275/openfw.c (grub_children_iterate)
27921 (grub_devalias_iterate): Fix size evaluation for property or path
27922 strings, which was broken since r2132.
27923
8279cade 279242009-07-07 Pavel Roskin <proski@gnu.org>
27925
7d8a52d3 27926 * commands/search.c (search_file): Merge into ...
27927 (search_fs): ... this. Accept search type as argument.
27928 (grub_cmd_search): Pass search type to search_fs().
27929
25f9a05a 27930 * include/grub/util/console.h: New file.
27931 * util/console.c: Use it instead of grub/machine/console.h.
27932 * util/grub-emu.c: Likewise.
27933
8279cade 27934 * lib/arg.c (find_long_option): Remove.
27935 (find_long): Add `len' argument, make `s' const char *.
27936 (grub_arg_parse): Parse long options in place, not in a
27937 temporary buffer.
27938
4a11b60f 279392009-07-06 Pavel Roskin <proski@gnu.org>
27940
99f68041 27941 * commands/search.c (search_fs): Fix potential NULL pointer
27942 dereference.
27943
4a11b60f 27944 * commands/search.c (search_fs): Replace QUID macro with quid_fn
27945 function pointer.
27946
e110f4de 279472009-07-06 Daniel Mierswa <impulze@impulze.org>
27948
27949 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
27950 comparison.
27951
46eeb6a2 279522009-07-05 Pavel Roskin <proski@gnu.org>
27953
bab74958 27954 * include/grub/i386/linux.h (struct linux_kernel_params):
27955 Restore padding3, it's still needed.
27956
46eeb6a2 27957 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
27958 FreeBSD.
27959 * util/osdetect.lua: Likewise.
27960
b4a1dc79 279612009-07-05 Bean <bean123ch@gmail.com>
27962
27963 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
27964
27965 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
27966 (grub_lua_getenv): Likewise.
27967 (grub_lua_setenv): Likewise.
27968 (save_errno): New function.
27969 (push_result): Likewise.
27970 (grub_lua_enum_device): Likewise.
27971 (grub_lua_enum_file): Likewise.
27972 (grub_lua_file_open): Likewise.
27973 (grub_lua_file_close): Likewise.
27974 (grub_lua_file_seek): Likewise.
27975 (grub_lua_file_read): Likewise.
27976 (grub_lua_file_getline): Likewise.
27977 (grub_lua_file_getsize): Likewise.
27978 (grub_lua_file_getpos): Likewise.
27979 (grub_lua_file_eof): Likewise.
27980 (grub_lua_file_exist): Likewise.
27981 (grub_lua_add_menu): Likewise.
27982
27983 * script/lua/grub_lua.h (isupper): New inline function.
27984 (islower): Likewise.
27985 (ispunct): Likewise.
27986 (isxdigit): Likewise.
27987 (strcspn): Change to normal function.
27988 (strpbkr): New function declaration.
27989 (memchr): Likewise.
27990
27991 * script/lua/grub_main.c (scan_str): New function.
27992 (strcspn): Likewise.
27993 (strpbrk): Likewise.
27994 (memchr): Likewise.
27995
27996 * script/lua/linit.c (lualibs): Enable the string library.
27997
27998 * util/osdetect.lua: New file.
27999
2da92295 280002009-07-04 Robert Millan <rmh.grub@aybabtu.com>
28001
28002 * include/grub/i386/linux.h (struct linux_kernel_params): Add
28003 `capabilities' member.
28004
b2582ec9 280052009-07-02 Pavel Roskin <proski@gnu.org>
28006
28007 * genparttoollist.sh: Add missing newline at the end.
28008
32622956 280092009-07-01 Pavel Roskin <proski@gnu.org>
28010
87a7339e 28011 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
28012
d23af54e 28013 * util/hostdisk.c (open_device): Remove `const' from
28014 `sysctl_size', as sysctlbyname() can change it (in this case it
28015 doesn't actually happen).
28016
c94b18a9 28017 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
28018 using signed long int constants.
28019
c6cd3ef0 28020 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
28021 constant to avoid a warning on FreeBSD.
28022
0df63420 28023 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
28024 where it's needed.
28025
999577f1 28026 * Makefile.in: Install include/grub/machine symlink.
28027
6f41557f 28028 * Makefile.in: When installing symlinks, use "cp -fR", which
28029 works on FreeBSD and MacOSX.
28030 From Yves Blusseau <cl7m42e02@sneakemail.com>
28031
c8d22988 28032 * kern/dl.c (grub_dl_resolve_symbol): Make static.
28033 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
28034
1b96e952 28035 * util/misc.c: Move grub_reboot() and grub_halt() ...
28036 * util/grub-emu.c: ... here. Make main_env static.
28037 * include/grub/util/misc.h: Remove main_env.
28038
2ef0084d 28039 * kern/mm.c: Use correct format to print size_t.
28040
32622956 28041 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
28042 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
28043 * kern/powerpc/dl.c: Likewise.
28044 * kern/sparc64/dl.c: Likewise.
28045 * kern/x86_64/dl.c: Likewise.
28046
3f7f0cd0 280472009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28048
28049 Fix grub-emu build on sparc64-ieee1275.
28050
75421ca9 28051 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 28052 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
28053
211d06b5 280542009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28055
28056 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
28057 (grub_reboot, grub_halt): New functions.
28058
28059 * util/i386/pc/misc.c: Delete. Update all users.
28060 * util/sparc64/ieee1275/misc.c: Likewise.
28061 * util/powerpc/ieee1275/misc.c: Likewise.
28062
aaf53e3c 280632009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28064
28065 * conf/i386.rmk (setjmp_mod_SOURCES)
28066 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
28067 * conf/common.rmk (setjmp_mod_SOURCES)
28068 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
28069 to use $(target_cpu).
28070 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
28071 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
28072 * conf/powerpc-ieee1275.rmk: Likewise.
28073 * conf/sparc64-ieee1275.rmk: Likewise.
28074
28075 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
28076 $(target_cpu) for kern/$(target_cpu)/dl.c.
28077 * conf/i386-efi.rmk: Likewise.
28078 * conf/i386-ieee1275.rmk: Likewise.
28079 * conf/x86_64-efi.rmk: Likewise.
28080 * conf/i386-coreboot.rmk: Likewise.
28081 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
28082 $(target_cpu) for kern/$(target_cpu)/dl.c and for
28083 kern/$(target_cpu)/cache.S.
28084 * conf/sparc64-ieee1275.rmk: Likewise.
28085
a337130b 280862009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28087
28088 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
28089 type to `grub_uint8_t', and adjust `padding9' accordingly.
28090
c6fe4d53 280912009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28092
b09db61d 28093 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
28094
c6fe4d53 28095 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
28096 assembly in final jump, using register constraints.
28097
b09db61d 28098 (grub_linux_boot): For text mode, initialize `have_vga' using
28099 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
28100
28101 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
28102 right before the final jump.
28103
28104 Set `video_mode' to 0x3.
28105
28106 Document initialization of `video_page', `video_mode' and
28107 `video_ega_bx'.
28108
28333ad0 281092009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28110
28111 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
28112 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 28113 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 28114
02164e1b 281152009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28116
28117 Fix build on Debian / sparc.
28118
28119 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
28120
18b6c557 281212009-06-28 Pavel Roskin <proski@gnu.org>
28122
85f2aab6 28123 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
28124 fix a warning.
28125
18b6c557 28126 * util/grub.d/10_linux.in: Match SUSE style initrd names.
28127
ad760f81 281282009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28129
28130 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
28131 `err'.
28132
87a4623b 281332009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28134
28135 Revert r2338.
28136
28137 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
28138 file can't be opened. grub_file_open() is already supposed to set
75421ca9 28139 grub_errno / grub_errmsg appropriately.
87a4623b 28140 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
28141
8231fb77 281422009-06-27 Pavel Roskin <proski@gnu.org>
281432009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28144
28145 * include/grub/dl.h: Include grub/elf.h.
28146 (struct grub_dl): Add symtab field.
28147 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
28148 GRUB_MODULES_MACHINE_READONLY.
28149 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
28150 of the header for read-only modules.
28151 (grub_dl_unload): Free mod->symtab for read-only modules.
28152 * kern/i386/dl.c: Use mod->symtab.
28153 * kern/powerpc/dl.c: Likewise.
28154 * kern/sparc64/dl.c: Likewise.
28155 * kern/x86_64/dl.c: Likewise.
28156
28157 * conf/i386-qemu.rmk: New file.
28158 * kern/i386/qemu/startup.S: Likewise.
28159 * kern/i386/qemu/mmap.c: Likewise.
28160 * boot/i386/qemu/boot.S: Likewise.
28161 * include/grub/i386/qemu/time.h: Likewise.
28162 * include/grub/i386/qemu/serial.h: Likewise.
28163 * include/grub/i386/qemu/kernel.h: Likewise.
28164 * include/grub/i386/qemu/console.h: Likewise.
28165 * include/grub/i386/qemu/boot.h: Likewise.
28166 * include/grub/i386/qemu/init.h: Likewise.
28167 * include/grub/i386/qemu/machine.h: Likewise.
28168 * include/grub/i386/qemu/loader.h: Likewise.
28169 * include/grub/i386/qemu/memory.h: Likewise.
28170
28171 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
28172 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
28173 [qemu] (pkglib_IMAGES): Add `boot.img'.
28174 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
28175 [qemu] (boot_img_FORMAT): New variables.
28176 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
28177 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
28178 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
28179 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
28180 [qemu] (kernel_img_FORMAT): New variables.
28181
28182 * configure.ac: Recognise `i386-qemu'.
28183
28184 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
28185 (for no compression).
28186 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
28187 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
28188 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
28189 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
28190 ifdefs).
28191
97fe384e 281922009-06-27 Pavel Roskin <proski@gnu.org>
28193
28194 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
28195 read.
28196 * efiemu/prepare32.c: Likewise.
28197 * efiemu/prepare64.c: Likewise.
28198
c402ab17 281992009-06-26 Pavel Roskin <proski@gnu.org>
28200
28201 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
28202 * include/grub/elf.h: Define symbols without "32" or "64" based
28203 on GRUB_TARGET_WORDSIZE.
28204 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
28205 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
28206 ELF definitions.
28207 * efiemu/loadcore64.c: Likewise.
28208 * loader/i386/bsd32.c: Likewise.
28209 * loader/i386/bsd64.c: Likewise.
28210 * kern/dl.c: Remove own ELF definitions.
28211 * util/i386/efi/grub-mkimage.c: Likewise.
28212
9bbdfd4d 282132009-06-23 Robert Millan <rmh.grub@aybabtu.com>
28214
28215 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
28216 segment 0x0 unconditionally, because the reference generated by
28217 GAS is an absolute address.
28218
a42ce6e9 282192009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28220
28221 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
28222 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
28223
c952cf92 282242009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28225
28226 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
28227 indexes. Check for -f explicitly.
cc3752ad 28228 (search_file): Improve error message.
28229 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 28230
132a0a59 282312009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28232
28233 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
28234 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
28235
387a140c 282362009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28237
28238 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
28239 * conf/i386-ieee1275.rmk: Likewise.
28240 * conf/i386-coreboot.rmk: Likewise.
28241
28242 * kern/i386/pc/startup.S (grub_stop): Remove function.
28243 * kern/i386/ieee1275/startup.S: Likewise.
28244 * kern/i386/coreboot/startup.S: Likewise.
28245 * kern/i386/misc.S (grub_stop): New function.
28246
41da9665 282472009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28248
28249 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
28250 * kern/i386/realmode.S (real_to_prot): ... to here.
28251
bf337234 282522009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28253
28254 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
28255 with `kernel.img'.
28256 (kernel_elf_SOURCES): Rename to ...
28257 (kernel_img_SOURCES): ... this.
28258 (kernel_elf_HEADERS): Rename to ...
28259 (kernel_img_HEADERS): ... this. Update all users.
28260 (kernel_elf_ASFLAGS): Rename to ...
28261 (kernel_img_ASFLAGS): ... this.
28262 (kernel_elf_CFLAGS): Rename to ...
28263 (kernel_img_CFLAGS): ... this.
28264 (kernel_elf_LDFLAGS): Rename to ...
28265 (kernel_img_LDFLAGS): ... this.
28266 * conf/i386-coreboot.rmk: Likewise.
28267 * conf/powerpc-ieee1275.rmk: Likewise.
28268
28269 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
28270 with "kernel.img".
28271
f52196ff 282722009-06-21 Pavel Roskin <proski@gnu.org>
28273
c3cee413 28274 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
28275 to match nested functions.
28276 * loader/sparc64/ieee1275/linux.c: Likewise.
28277
f52196ff 28278 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
28279
58750afc 282802009-06-21 Robert Millan <rmh.grub@aybabtu.com>
28281
28282 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
28283 all i386 platforms.
28284
15355c7d 282852009-06-21 Robert Millan <rmh.grub@aybabtu.com>
28286
28287 Fix asm file handling on ELF, and remove workarounds.
28288
28289 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 28290 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 28291 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
28292 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
28293
3f3ec72b 282942009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
28295
28296 Load BSD ELF modules
28297
28298 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
28299 and loader/i386/bsd64.c
28300 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
28301 (FREEBSD_MODTYPE_ELF_MODULE): New definition
28302 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
28303 (grub_freebsd_load_elfmodule32): New declaration
28304 (grub_freebsd_load_elfmoduleobj64): Likewise
28305 (grub_freebsd_load_elf_meta32): Likewise
28306 (grub_freebsd_load_elf_meta64): Likewise
28307 (grub_freebsd_add_meta): Likewise
28308 (grub_freebsd_add_meta_module): Likewise
28309 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
28310 (grub_freebsd_add_meta_module): Likewise and move module-specific
28311 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
28312 (grub_cmd_freebsd): Add elf-kernel specific parts
28313 based on grub_freebsd_add_meta_module
28314 (grub_cmd_freebsd_module): Add type parsing moved from
28315 grub_freebsd_add_meta_module
28316 (grub_cmd_freebsd_module_elf): New function
28317 (cmd_freebsd_module_elf): New variable
28318 (GRUB_MOD_INIT): Register freebsd_module_elf
28319 * loader/i386/bsd32.c: New file
28320 * loader/i386/bsd64.c: Likewise
28321 * loader/i386/bsdXX.c: Likewise
28322 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
28323 (grub_elf64_load): Likewise
28324 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
28325 All users updated
28326 (grub_elf64_load_hook_t): Likewise
28327
0db15301 283282009-06-21 Colin Watson <cjwatson@ubuntu.com>
28329
28330 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
28331 variable.
28332 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
28333 don't write a menu entry for recovery mode.
28334
546796c1 283352009-06-20 Robert Millan <rmh.grub@aybabtu.com>
28336
28337 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
28338 after it's no longer needed.
28339
cd7310d5 283402009-06-20 Robert Millan <rmh.grub@aybabtu.com>
28341
28342 * include/grub/i386/loader.h (grub_linux_prot_size)
28343 (grub_linux_tmp_addr, grub_linux_real_addr)
28344 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
28345 GRUB_MACHINE_PCBIOS.
28346 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
28347 common grub_util_info() call to ...
28348 (generate_image): ... here.
28349 Fix use of uninitialized memory, comparison of signed with
28350 unsigned integers and memory leak.
28351 Remove bogus module address message.
28352
ab32d3b5 283532009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
28354
28355 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
28356 grub_raid_register
28357 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
28358
024ef597 283592009-06-19 Pavel Roskin <proski@gnu.org>
28360
28361 * configure.ac: Remove stray AC_MSG_CHECKING.
28362
3ac72b51 283632009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
28364
28365 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 28366
e14cd814 283672009-06-18 Pavel Roskin <proski@gnu.org>
28368
28369 * conf/common.rmk: Add fs_file.mod.
28370 * disk/fs_file.c: New file.
28371 * include/grub/disk.h (enum grub_disk_dev_id): Add
28372 GRUB_DISK_DEVICE_FILE_ID.
28373
26586d98 283742009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28375
28376 Fix build with Apple's toolchain. Part 2
28377
28378 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
28379 a fake start
28380
26de2bcd 283812009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28382
28383 Fix build with Apple's toolchain. Part 1
28384
28385 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
28386 for long calls
28387 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 28388 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 28389 Apple's toolchain
28390
09b3490b 283912009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28392
28393 Fix warnings
28394
28395 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
28396 (decomp_block): initialize ch
28397 use grub_memcpy instead of memcpy
28398
c22a006a 283992009-06-17 Pavel Roskin <proski@gnu.org>
28400
d3638678 28401 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
28402 version, use declarations needed to use vga_text as the startup
28403 console.
28404
c22a006a 28405 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
28406 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
28407 the kernel.
28408 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
28409 and grub_at_keyboard_fini(), it's done on module load and
28410 unload.
28411
05b129e0 284122009-06-17 Felix Zielcke <fzielcke@z-51.de>
28413
28414 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
28415 file can't be found.
28416 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
28417
cf24ed9e 284182009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
28419
28420 Fix newline handling
28421
28422 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 28423 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 28424 (grub_script_yylex): don't segfault on unterminated script
28425 newline terminates command and variable
28426
74aa8e4b 284272009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
28428
28429 avoid double grub_adjust_range call. Bug reported by David Simner
28430
28431 * kern/disk.c (grub_disk_write): change to raw disk access before
28432 calling disk_read
28433
1bd265f3 284342009-06-17 Colin Watson <cjwatson@ubuntu.com>
28435
28436 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
28437 spaces, for the benefit of help2man.
28438 * util/i386/efi/grub-mkimage.c (usage): Likewise.
28439
a2d08c06 284402009-06-16 Pavel Roskin <proski@gnu.org>
28441
28442 * kern/i386/halt.c: Include grub/machine/init.h.
28443 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
28444
b97bcb19 284452009-06-16 Felix Zielcke <fzielcke@z-51.de>
28446
28447 * util/grub.d/30_os-prober.in: Use ${root} in the generated
28448 drivemap menuentry.
28449
0644f96c 284502009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
28451
28452 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
28453 `echo' command.
28454
3ef17a2e 284552009-06-16 Pavel Roskin <proski@gnu.org>
28456
28457 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
28458 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
28459 save %dx, we only need %dl and we never change it.
28460 * boot/i386/pc/cdboot.S: Don't set the root drive.
28461 * boot/i386/pc/pxeboot.S: Likewise.
28462 * include/grub/i386/pc/boot.h: Remove
28463 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
28464 GRUB_BOOT_MACHINE_DRIVE_CHECK.
28465 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
28466 * kern/i386/pc/init.c (make_install_device): Remove references
28467 to grub_root_drive.
28468 * kern/i386/pc/startup.S: Likewise.
28469 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
28470
693fe637 284712009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
28472
28473 xnu_uuid command
28474
28475 * commands/xnu_uuid.c: new file
28476 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
28477 (xnu_uuid_mod_SOURCES): new variable
28478 (xnu_uuid_mod_CFLAGS): likewise
28479 (xnu_uuid_mod_LDFLAGS): likewise
28480 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
28481 * conf/i386-ieee1275.rmk: likewise
28482 * conf/i386-pc.rmk: likewise
28483 * conf/powerpc-ieee1275.rmk: likewise
28484 * conf/sparc64-ieee1275.rmk: likewise
28485 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
28486
c9da87d0 284872009-06-16 Pavel Roskin <proski@gnu.org>
28488
28489 * configure.ac: Avoid '==' in test command, it's not portable.
28490
9c6f4596 284912009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
28492
28493 Probe command
28494
28495 * commands/probe.c: new file
28496 * conf/common.rmk (pkglib_MODULES): add probe.mod
28497 (probe_mod_SOURCES): new variable
28498 (probe_mod_CFLAGS): likewise
28499 (probe_mod_LDFLAGS): likewise
28500 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
28501 * conf/i386-ieee1275.rmk: likewise
28502 * conf/i386-pc.rmk: likewise
28503 * conf/powerpc-ieee1275.rmk: likewise
28504 * conf/sparc64-ieee1275.rmk: likewise
28505
70b7f9fd 285062009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
28507
28508 Fix handling of string like \"hello\" and "a
28509 b"
28510
28511 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
28512 (grub_script_yylex): fix parsing of quoting, escaping and newline
28513
71c79a6b 285142009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
28515
dd74360c 28516 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 28517 handling
dd74360c 28518
0644f96c 285192009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 28520
28521 * util/grub-mkconfig.in: Fix parsing of --output option.
28522
e40893c3 285232009-06-12 Pavel Roskin <proski@gnu.org>
28524
28525 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
28526 genmk.rb don't need to be generated or installed.
28527
3a1acfe2 285282009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
28529
28530 * commands/i386/pc/drivemap_int13h.S: add more comments
28531
3a4575d4 285322009-06-11 Pavel Roskin <proski@gnu.org>
28533
0658e928 28534 * Makefile.in (uninstall): Uninstall manuals.
28535
ca0388f0 28536 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
28537 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
28538 and update-grub_lib in two places.
28539 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
28540
e3b27c39 28541 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
28542 a compiler warning.
28543
3a4575d4 28544 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
28545 `entry_lo' to fix variable shadowing.
28546
af1f4f55 285472009-06-11 Christian Franke <franke@computer.org>
28548
28549 * kern/misc.c (__enable_execute_stack): Add missing return type
28550 to prevent gcc warning.
28551
5225e649 285522009-06-11 Felix Zielcke <fzielcke@z-51.de>
28553
28554 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
28555
7d83bd47 285562009-06-11 Pavel Roskin <proski@gnu.org>
28557
c1cb63ba 28558 * Makefile.in: Don't rely on any scripts being executable.
28559 Always use $(SHELL) to run shell scripts.
28560
7d83bd47 28561 * configure.ac: Always define ___main if using -nostdlib. This
28562 fixes tests on Cygwin.
28563
948f48e7 285642009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
28565
28566 UDF fix
28567
7d83bd47 28568 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 28569 is in bytes and not in blocks
7d83bd47 28570
8ada9bc1 285712009-06-11 Pavel Roskin <proski@gnu.org>
28572
28573 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
28574 warning.
28575
25ad2323 285762009-06-11 Felix Zielcke <fzielcke@z-51.de>
28577
28578 * util/grub.d/30_os-prober.in: Fix a comment. Source
28579 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
28580 to set the root device. Place drivemap command in the generated
28581 chain entry.
28582
e65acb0c 285832009-06-11 Pavel Roskin <proski@gnu.org>
28584
28585 * configure.ac: Remove host_m32. Issues with 64-bit utilities
28586 have long been resolved.
28587
f285fe2d 285882009-06-11 Colin Watson <cjwatson@ubuntu.com>
28589
bd47b0b5 28590 * util/grub.d/10_linux.in: Capitalise "Linux".
28591
f285fe2d 28592 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
28593
a0c62e4e 285942009-06-11 Pavel Roskin <proski@gnu.org>
28595
b6783cb2 28596 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
28597 fix a gcc warning and ensure that the function won't ever exit.
28598
dde032e8 28599 * kern/i386/ieee1275/init.c: Add missing prototype for
28600 grub_stop_floppy().
28601
22cd079d 28602 * loader/ieee1275/multiboot2.c [__i386__]: Include
28603 grub/cpu/multiboot.h.
28604
a0c62e4e 28605 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
28606 casts to short - they are not portable and cause warnings. Fix
28607 use of uninitialized values in input_buf. Use ARRAY_SIZE.
28608
63963d17 286092009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
28610
28611 Drivemap fixes
28612
28613 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
28614 new function
28615 (grub_get_root_biosnumber_saved): new variable
28616 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
28617 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 28618 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 28619 %dx after the call if necessary
28620 * conf/common.rmk (pkglib_MODULES): remove boot.mod
28621 (boot_mod_SOURCES): remove
28622 (boot_mod_CFLAGS): remove
28623 (boot_mod_LDFLAGS): remove
28624 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
28625 (boot_mod_SOURCES): new variable
28626 (boot_mod_CFLAGS): likewise
28627 (boot_mod_LDFLAGS): likewise
28628 * conf/i386-efi.rmk: likewise
28629 * conf/i386-ieee1275.rmk: likewise
28630 * conf/i386-pc.rmk: likewise
28631 * conf/powerpc-ieee1275.rmk: likewise
28632 * conf/sparc64-ieee1275.rmk: likewise
28633 * conf/x86_64-efi.rmk: likewise
28634 * include/grub/i386/pc/biosnum.h: new file
28635 * lib/i386/pc/biosnum.c: likewise
28636 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
28637 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
28638 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 28639
33abf7ae 286402009-06-10 Pavel Roskin <proski@gnu.org>
28641
5ac35b35 28642 * io/gzio.c (test_header): Don't reuse one buffer for all data.
28643 Use separate variables. Read only the file size at the end, but
28644 not the checksum that we don't use.
28645
5c5215d5 28646 * kern/file.c (grub_file_read): Use void pointer for the buffer.
28647 Adjust all callers.
28648
27d5fef7 28649 * kern/ieee1275/openfw.c: Remove libc includes.
28650 * kern/ieee1275/cmain.c: Likewise.
28651 * include/grub/ieee1275/ieee1275.h: Likewise.
28652
33abf7ae 28653 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
28654 compiler warnings.
28655
19d50c2b 286562009-06-10 Felix Zielcke <fzielcke@z-51.de>
28657
28658 * Makefile.in: Remove all trailing whitespace.
28659 * conf/i386-pc.rmk: Likewise.
28660 * conf/powerpc-ieee1275.rmk: Likewise.
28661 * conf/sparc64-ieee1275.rmk: Likewise.
28662 * docs/grub.texi: Likewise.
28663 * docs/texinfo.tex: Likewise.
28664 * disk/fs_uuid.c: Likewise.
28665 * disk/lvm.c: Likewise.
28666 * disk/scsi.c: Likewise.
28667 * disk/ata.c: Likewise.
28668 * disk/ieee1275/ofdisk.c: Likewise.
28669 * disk/i386/pc/biosdisk.c: Likewise.
28670 * disk/host.c: Likewise.
28671 * disk/raid.c: Likewise.
28672 * disk/efi/efidisk.c: Likewise.
28673 * disk/usbms.c: Likewise.
28674 * disk/memdisk.c: Likewise.
28675 * disk/loopback.c: Likewise.
28676 * kern/powerpc/dl.c: Likewise.
28677 * kern/device.c: Likewise.
28678 * kern/dl.c: Likewise.
28679 * kern/sparc64/dl.c: Likewise.
28680 * kern/ieee1275/ieee1275.c: Likewise.
28681 * kern/term.c: Likewise.
28682 * kern/fs.c: Likewise.
28683 * kern/i386/dl.c: Likewise.
28684 * kern/i386/pc/startup.S: Likewise.
28685 * kern/i386/pc/init.c: Likewise.
28686 * kern/i386/pc/mmap.c: Likewise.
28687 * kern/i386/pc/lzo1x.S: Likewise.
28688 * kern/i386/ieee1275/init.c: Likewise.
28689 * kern/i386/realmode.S: Likewise.
28690 * kern/i386/tsc.c: Likewise.
28691 * kern/partition.c: Likewise.
28692 * kern/corecmd.c: Likewise.
28693 * kern/file.c: Likewise.
28694 * kern/efi/efi.c: Likewise.
28695 * kern/efi/init.c: Likewise.
28696 * kern/efi/mm.c: Likewise.
28697 * kern/main.c: Likewise.
28698 * kern/err.c: Likewise.
28699 * kern/env.c: Likewise.
28700 * kern/disk.c: Likewise.
28701 * kern/generic/millisleep.c: Likewise.
28702 * kern/generic/rtc_get_time_ms.c: Likewise.
28703 * kern/misc.c: Likewise.
28704 * kern/parser.c: Likewise.
28705 * genmk.rb: Likewise.
28706 * configure.ac: Likewise.
28707 * boot/i386/pc/diskboot.S: Likewise.
28708 * boot/i386/pc/pxeboot.S: Likewise.
28709 * boot/i386/pc/boot.S: Likewise.
28710 * boot/i386/pc/lnxboot.S: Likewise.
28711 * boot/i386/pc/cdboot.S: Likewise.
28712 * parttool/pcpart.c: Likewise.
28713 * video/readers/tga.c: Likewise.
28714 * video/video.c: Likewise.
28715 * video/bitmap.c: Likewise.
28716 * lib/envblk.c: Likewise.
28717 * lib/i386/setjmp.S: Likewise.
28718 * fs/xfs.c: Likewise.
28719 * fs/afs.c: Likewise.
28720 * fs/fat.c: Likewise.
28721 * fs/ntfs.c: Likewise.
28722 * fs/udf.c: Likewise.
28723 * fs/affs.c: Likewise.
28724 * fs/iso9660.c: Likewise.
28725 * fs/hfs.c: Likewise.
28726 * fs/fshelp.c: Likewise.
28727 * fs/ext2.c: Likewise.
28728 * fs/jfs.c: Likewise.
28729 * fs/reiserfs.c: Likewise.
28730 * fs/hfsplus.c: Likewise.
28731 * fs/minix.c: Likewise.
28732 * fs/cpio.c: Likewise.
28733 * fs/sfs.c: Likewise.
28734 * fs/ufs.c: Likewise.
28735 * efiemu/prepare.c: Likewise.
28736 * efiemu/loadcore_common.c: Likewise.
28737 * efiemu/runtime/efiemu.sh: Likewise.
28738 * efiemu/runtime/efiemu.S: Likewise.
28739 * efiemu/runtime/efiemu.c: Likewise.
28740 * efiemu/pnvram.c: Likewise.
28741 * efiemu/main.c: Likewise.
28742 * efiemu/i386/pc/cfgtables.c: Likewise.
28743 * efiemu/i386/loadcore64.c: Likewise.
28744 * efiemu/i386/loadcore32.c: Likewise.
28745 * efiemu/loadcore.c: Likewise.
28746 * efiemu/symbols.c: Likewise.
28747 * efiemu/mm.c: Likewise.
28748 * include/grub/autoefi.h: Likewise.
28749 * include/grub/datetime.h: Likewise.
28750 * include/grub/term.h: Likewise.
28751 * include/grub/hfs.h: Likewise.
28752 * include/grub/lvm.h: Likewise.
28753 * include/grub/i386/tsc.h: Likewise.
28754 * include/grub/i386/linux.h: Likewise.
28755 * include/grub/i386/xnu.h: Likewise.
28756 * include/grub/i386/efiemu.h: Likewise.
28757 * include/grub/i386/pc/biosdisk.h: Likewise.
28758 * include/grub/i386/pc/memory.h: Likewise.
28759 * include/grub/i386/pc/vbe.h: Likewise.
28760 * include/grub/parttool.h: Likewise.
28761 * include/grub/video.h: Likewise.
28762 * include/grub/memory.h: Likewise.
28763 * include/grub/fs.h: Likewise.
28764 * include/grub/partition.h: Likewise.
28765 * include/grub/xnu.h: Likewise.
28766 * include/grub/efi/api.h: Likewise.
28767 * include/grub/efi/pe32.h: Likewise.
28768 * include/grub/efi/memory.h: Likewise.
28769 * include/grub/multiboot.h: Likewise.
28770 * include/grub/usbdesc.h: Likewise.
28771 * include/grub/multiboot2.h: Likewise.
28772 * include/grub/acpi.h: Likewise.
28773 * include/grub/efiemu/efiemu.h: Likewise.
28774 * include/grub/disk.h: Likewise.
28775 * include/grub/ieee1275/ieee1275.h: Likewise.
28776 * include/grub/net.h: Likewise.
28777 * include/grub/machoload.h: Likewise.
28778 * include/grub/macho.h: Likewise.
28779 * include/multiboot.h: Likewise.
28780 * genmoddep.awk: Likewise.
28781 * normal/main.c: Likewise.
28782 * normal/menu_entry.c: Likewise.
28783 * normal/menu_viewer.c: Likewise.
28784 * normal/completion.c: Likewise.
28785 * normal/cmdline.c: Likewise.
28786 * normal/misc.c: Likewise.
28787 * normal/datetime.c: Likewise.
28788 * bus/usb/usbtrans.c: Likewise.
28789 * bus/usb/ohci.c: Likewise.
28790 * bus/usb/uhci.c: Likewise.
28791 * bus/usb/usb.c: Likewise.
28792 * mmap/efi/mmap.c: Likewise.
28793 * mmap/i386/pc/mmap_helper.S: Likewise.
28794 * mmap/i386/pc/mmap.c: Likewise.
28795 * mmap/i386/mmap.c: Likewise.
28796 * mmap/i386/uppermem.c: Likewise.
28797 * mmap/mmap.c: Likewise.
28798 * commands/acpi.c: Likewise.
28799 * commands/echo.c: Likewise.
28800 * commands/blocklist.c: Likewise.
28801 * commands/loadenv.c: Likewise.
28802 * commands/usbtest.c: Likewise.
28803 * commands/boot.c: Likewise.
28804 * commands/parttool.c: Likewise.
28805 * commands/search.c: Likewise.
28806 * commands/cat.c: Likewise.
28807 * commands/i386/pc/play.c: Likewise.
28808 * commands/i386/pc/drivemap.c: Likewise.
28809 * commands/i386/pc/vbeinfo.c: Likewise.
28810 * commands/i386/pc/acpi.c: Likewise.
28811 * commands/i386/pc/vbetest.c: Likewise.
28812 * commands/ls.c: Likewise.
28813 * commands/cmp.c: Likewise.
28814 * commands/test.c: Likewise.
28815 * commands/efi/acpi.c: Likewise.
28816 * commands/gptsync.c: Likewise.
28817 * commands/help.c: Likewise.
28818 * partmap/amiga.c: Likewise.
28819 * partmap/apple.c: Likewise.
28820 * partmap/acorn.c: Likewise.
28821 * partmap/pc.c: Likewise.
28822 * partmap/sun.c: Likewise.
28823 * partmap/gpt.c: Likewise.
28824 * script/sh/lexer.c: Likewise.
28825 * script/sh/function.c: Likewise.
28826 * font/font.c: Likewise.
28827 * font/font_cmd.c: Likewise.
28828 * loader/powerpc/ieee1275/linux.c: Likewise.
28829 * loader/efi/chainloader.c: Likewise.
28830 * loader/multiboot_loader.c: Likewise.
28831 * loader/macho.c: Likewise.
28832 * loader/i386/multiboot.c: Likewise.
28833 * loader/i386/linux.c: Likewise.
28834 * loader/i386/pc/linux.c: Likewise.
28835 * loader/i386/pc/multiboot2.c: Likewise.
28836 * loader/i386/pc/chainloader.c: Likewise.
28837 * loader/i386/pc/xnu.c: Likewise.
28838 * loader/i386/bsd_trampoline.S: Likewise.
28839 * loader/i386/efi/linux.c: Likewise.
28840 * loader/i386/multiboot_elfxx.c: Likewise.
28841 * loader/i386/bsd_helper.S: Likewise.
28842 * loader/i386/bsd.c: Likewise.
28843 * loader/i386/linux_trampoline.S: Likewise.
28844 * loader/i386/xnu_helper.S: Likewise.
28845 * loader/i386/xnu.c: Likewise.
28846 * loader/i386/bsd_pagetable.c: Likewise.
28847 * loader/i386/multiboot_helper.S: Likewise.
28848 * loader/xnu.c: Likewise.
28849 * loader/xnu_resume.c: Likewise.
28850 * io/gzio.c: Likewise.
28851 * term/efi/console.c: Likewise.
28852 * term/terminfo.c: Likewise.
28853 * term/ieee1275/ofconsole.c: Likewise.
28854 * term/i386/pc/serial.c: Likewise.
28855 * term/i386/pc/vesafb.c: Likewise.
28856 * term/i386/pc/vga.c: Likewise.
28857 * term/usb_keyboard.c: Likewise.
28858 * term/gfxterm.c: Likewise.
28859 * aclocal.m4: Likewise.
28860 * util/lvm.c: Likewise.
28861 * util/grub.d/30_os-prober.in: Likewise.
28862 * util/grub.d/10_hurd.in: Likewise.
28863 * util/console.c: Likewise.
28864 * util/grub-macho2img.c: Likewise.
28865 * util/grub-probe.c: Likewise.
28866 * util/hostfs.c: Likewise.
28867 * util/i386/pc/grub-mkimage.c: Likewise.
28868 * util/i386/pc/grub-setup.c: Likewise.
28869 * util/i386/efi/grub-mkimage.c: Likewise.
28870 * util/grub-mkconfig.in: Likewise.
28871 * util/raid.c: Likewise.
28872 * util/resolve.c: Likewise.
28873 * util/grub-mkdevicemap.c: Likewise.
28874 * util/grub-emu.c: Likewise.
28875 * util/getroot.c: Likewise.
28876 * util/hostdisk.c: Likewise.
28877 * util/usb.c: Likewise.
28878 * util/grub-editenv.c: Likewise.
28879 * util/misc.c: Likewise.
28880
d2d49665 288812009-06-10 Felix Zielcke <fzielcke@z-51.de>
28882
28883 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
28884 `genparttoollist.sh'.
28885 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
28886 Add `*.sh' to the list find searches for and change `mdate.sh'
28887 to `mdate-sh'.
28888
fe052e37 288892009-06-10 Pavel Roskin <proski@gnu.org>
28890
2763ac18 28891 * include/grub/multiboot2.h: Provide compatibility defines for
28892 multiboot2.h.
28893 * include/multiboot2.h: Include stdint.h only if needed, using
28894 angle brackets.
28895 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
28896 grub/multiboot2.h.
28897 * loader/ieee1275/multiboot2.c: Likewise.
28898 * loader/multiboot2.c: Likewise.
28899 * loader/multiboot_loader.c: Likewise.
28900
437e6adc 28901 * configure.ac: Use -nostdlib when probing for the target. It
28902 should not be required to have libc for the target.
28903
06a6836c 28904 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
28905 they fail without libc headers for the target.
28906 * include/grub/powerpc/libgcc.h: Use weak attribute for all
28907 exports.
28908 * include/grub/sparc64/libgcc.h: Likewise. Don't use
28909 preprocessor conditionals.
28910
fe052e37 28911 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
28912 build system doesn't need to be aware of the tar.c internals.
28913
afd22553 289142009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 28915
afd22553 28916 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 28917
6b787c4f 289182009-06-09 Robert Millan <rmh.grub@aybabtu.com>
28919
28920 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
28921 disk limit to 26 for IDE, Virtio, Xen and SCSI.
28922
289232009-06-09 Felix Zielcke <fzielcke@z-51.de>
28924
28925 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 28926 aren't available if ata.mod gets used.
6b787c4f 28927
473d1e45 289282009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 28929
473d1e45 28930 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 28931 initialising controller.
473d1e45 28932 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 28933
255a27d4 289342009-06-08 Felix Zielcke <fzielcke@z-51.de>
28935
28936 * util/i386/pc/grub-install.in: Add a parameter --disk-module
28937 to choose between ata and biosdisk module on i386-pc.
28938
473d1e45 289392009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 28940
d55842d8 28941 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
28942 Subclass and Programming Interface fields in terms of the 3 byte
28943 Class Code register.
28944 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
28945
fa5db0b1 28946 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
28947 interface is OHCI. Add grub_dprintf for symmetry with
28948 bus/usb/uhci.c.
28949 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
28950 interface is UHCI. Add interf variable for programming
28951 interface. Print interface with class/subclass.
28952
c0947beb 28953 * bus/usb/ohci.c: Set interf with correct field.
28954
69da8877 28955 * bus/usb/uhci.c: Remove unneeded doubled lines.
28956 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
28957 Remove whitespace inside comment.
28958
9e172e30 289592009-06-08 Robert Millan <rmh.grub@aybabtu.com>
28960
28961 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
28962 as fallback an equivalent option without depth.
28963
de65ee2b 289642009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
28965
28966 Not fail if unable to retrieve C/H/S on LBA disks
28967
473d1e45 28968 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 28969 if unable to retrieve C/H/S on LBA disks
28970
b57ea2c9 289712009-06-08 Pavel Roskin <proski@gnu.org>
28972
28973 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
28974 about aliasing.
28975
af361263 289762009-06-08 Felix Zielcke <fzielcke@z-51.de>
28977
28978 * Makefile.in (uninstall): Remove all $lib_DATA files.
28979
4c9ec6b3 289802009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
28981
28982 Bugfix: install on partitionless device
28983
28984 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
28985 is a whole disk
28986
e76fc924 289872009-06-08 Felix Zielcke <fzielcke@z-51.de>
28988
28989 * Makefile.in (uninstall): Remove all $include_DATA files.
28990
ba5a0d05 289912009-06-08 Felix Zielcke <fzielcke@z-51.de>
28992
28993 * commands/true.c: New file. Implement the true and false commands.
28994 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
28995 (true_mod_SOURCES): New variable.
28996 (true_mod_CFLAGS): Likewise.
28997 (true_mod_LDFLAGS): Likewise.
28998
c8048e32 289992009-06-05 Colin D Bennett <colin@gibibit.com>
29000
29001 Optimized font character lookup using binary search instead of linear
29002 search. Fonts now are required to have the character index ordered by
29003 code point.
29004
29005 * font/font.c (load_font_index): Verify that fonts have ordered
29006 character indices.
29007 (find_glyph): Use binary search instead of linear search to find a
29008 character in a font.
29009
408305be 290102009-06-05 Michael Scherer <misc@mandriva.org>
29011
29012 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
29013 uses case sensitive btree.
29014 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
29015 only for case insensitive filesystems.
29016
8ee1e0d9 290172009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
29018
29019 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
29020 * conf/common.rmk (search_mod_CFLAGS): likewise
29021
a9966eb1 290222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29023
473d1e45 29024 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 29025 compensate a compiler bug
29026
9e7100fb 290272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29028
473d1e45 29029 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 29030 instead of '\b'
473d1e45 29031
ede21d71 290322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29033
29034 Definitions for creating asm symbols with Apple's CC
29035
29036 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
29037 [APPLE_CC] (VARIABLE): likewise
29038
9dbf7653 290392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29040
29041 Disable lnxboot.img when compiled
29042 with Apple's CC
29043
29044 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
29045 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
29046 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
29047 [! APPLE_CC] (CODE_LENG): skip
29048 [! APPLE_CC] (setup_sects): likewise
29049 [! APPLE_CC]: skip filling
473d1e45 29050
e93cdc3d 290512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29052
29053 Address in trampolines based on 32-bit registers when compiled
29054 with Apple's CC
29055
473d1e45 29056 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 29057 for addresses
29058 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
29059
6c688477 290602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29061
29062 Avoid aliases when compiling with Apple's CC for PCBIOS machine
29063
29064 * kern/misc.c [APPLE_CC] (memcpy): new function
29065 [APPLE_CC] (memmove): likewise
29066 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 29067 (memcpy): define alias conditionally on !APPLE_CC
6c688477 29068 (memset): likewise
29069 (abort): likewise
29070 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
29071 APPLE_CC are defined
29072 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
29073 (grub_assert_fail): make prototype conditional
29074
e37ffc5c 290752009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29076
29077 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
29078
473d1e45 29079 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
29080 grub-macho2img
e37ffc5c 29081 (CLEANFILES): add grub-macho2img
29082 (grub_macho2img_SOURCES): new variable
29083 * kern/i386/pc/startup.S (bss_start): new variable
29084 (bss_end): likewise
29085 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
29086 * util/grub-macho2img.c: new file
29087
cf00df31 290882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29089
29090 Use objconv when compiling with Apple's CC
29091
29092 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
29093 (efiemu64.o): likewise
29094 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
29095 when compiling with Apple's CC
29096 (efiemu64_s.o): likewise
29097 * configure.ac: check for objconv when compiling with Apple's CC
29098 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 29099
d119a20c 291002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29101
29102 Define segment as well as section when compiling with
29103 Apple's CC
29104
29105 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
29106 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
29107 (efiemu_convert_pointer): likewise
29108 (efiemu_set_virtual_address_map): likewise
29109 (efiemu_convert_pointer): likewise
29110 (efiemu_getcrc32): likewise
29111 (init_crc32_table): likewise
29112 (reflect): likewise
29113 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
29114 (GRUB_MOD_DEP): likewise
473d1e45 29115
c8600122 291162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29117
29118 Allow a compilation without -mcmodel=large
29119
29120 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
29121 when compiled without -mcmodel=large
473d1e45 29122 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 29123 without -mcmodel=large
473d1e45 29124 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 29125 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 29126
e8df1d4e 291272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29128
29129 Remove nested functions in efiemu core
29130
29131 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 29132
cc6c3ac1 291332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29134
29135 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
29136
29137 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
29138 temporary storage
473d1e45 29139 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
29140 using Apple's CC
cc6c3ac1 29141 (grub_cpu_is_tsc_supported): likewise
29142 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 29143
3e325901 291442009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29145
29146 Absolute addressing through constant with Apple's cc
29147
29148 * kern/i386/pc/startup.S: Define necessary constants
29149 and address through it when using ABS with Apple's CC
29150 * boot/i386/pc/diskboot.S: likewise
29151 * boot/i386/pc/boot.S: likewise
29152 * boot/i386/pc/lnxboot.S: likewise
29153 * boot/i386/pc/cdboot.S: likewise
29154 * mmap/i386/pc/mmap_helper.S: likewise
29155 * commands/i386/pc/drivemap_int13h.S: likewise
29156
2b167a72 291572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29158
29159 Check if compiler is apple cc
29160
29161 * Makefile.in (ASFLAGS): new variable
29162 (TARGET_ASFLAGS): likewise
29163 (TARGET_MODULE_FORMAT): likewise
29164 (TARGET_APPLE_CC): likewise
29165 (OBJCONV): likewise
29166 (TARGET_IMG_CFLAGS): likewise
29167 (TARGET_CPPFLAGS): add includedir
29168 * configure.ac: call grub_apple_cc and grub_apple_target_cc
29169 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
29170 Check for linker script only if compiler isn't Apple's CC
29171 (TARGET_MODULE_FORMAT): set
29172 (TARGET_APPLE_CC): likewise
29173 (TARGET_ASFLAGS): likewise
29174 (ASFLAGS): likewise
29175 Check for objcopy only if compiler isn't Apple's CC
29176 Check for BSS symbol only if compiler isn't Apple's CC
29177 * genmk.rb: adapt nm options if we use Apple's utils
29178 * aclocal.m4 (grub_apple_cc): new test
29179 (grub_apple_target_cc): likewise
473d1e45 29180
fb14123e 291812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29182
29183 Simplify sed expressions and improve awk
29184
29185 * Makefile.in (install-local): simplify sed expression
29186 * gencmdlist.sh: likewise
29187 * genmoddep.awk: avoid adding module as a dependency of itself
29188
5b889789 291892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29190
29191 Add missing start symbols
29192
29193 * boot/i386/pc/boot.S: add start
fb14123e 29194 * boot/i386/pc/pxeboot.S: likewise
473d1e45 29195
fd2bf2e3 291962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29197
29198 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 29199
29200 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 29201 (relocate_addresses): consider both r_addend and value at offset
29202 (make_mods_section): zerofill modinfo and header
29203 (convert_elf): write prefix here
473d1e45 29204
5389763d 292052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29206
29207 Use .asciz instead of .string
29208
29209 * i386/pc/diskboot.S: use .asciz instead of .string
29210 * i386/pc/boot.S: likewise
29211 * include/grub/dl.h (GRUB_MOD_DEP): likewise
29212 (GRUB_MOD_NAME): likewise
473d1e45 29213
3eb5ed4e 292142009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29215
29216 gfxpayload support
29217
29218 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
29219 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
29220 (grub_video_setup): remove
29221 (grub_video_set_mode): new prototype
29222 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
29223 (vid_mode): remove
29224 (linux_vesafb_res): compile only on PCBIOS
29225 (grub_linux_boot): support gfxpayload
29226 * loader/i386/pc/xnu.c (video_hook): new function
29227 (grub_xnu_set_video): support gfxpayload
29228 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
29229 (DEFAULT_VIDEO_HEIGHT): likewise
29230 (DEFAULT_VIDEO_FLAGS): likewise
29231 (DEFAULT_VIDEO_MODE): new definition
29232 (video_hook): new function
29233 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 29234 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 29235 loading xnu
29236 * video/video.c (grub_video_setup): removed
473d1e45 29237 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 29238 grub_video_setup
29239
4b0e1143 292402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29241
29242 Avoid calling biosdisk in drivemap
29243
29244 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
29245 (revparse_biosdisk): likewise
29246 (list_mappings): derive name from id directly
29247 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 29248
fda6cb98 292492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29250
29251 Script fixes
29252
29253 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
29254 (grub_lexer_param): add tokenonhold
29255 (grub_script_create_cmdline): remove cmdline. All callers updated
29256 (grub_script_function_create): make functionname
29257 grub_script_arg. All callers updated
29258 (grub_script_execute_argument_to_string): new prototype
29259 * kern/parser.c (state_transitions): reorder
29260 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 29261 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 29262 make global
29263 (grub_script_execute_cmdline): use new format
29264 * script/sh/function.c (grub_script_function_create): make functionname
29265 grub_script_arg. All callers updated
473d1e45 29266 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 29267 (grub_script_yylex): remove
29268 (grub_script_yylex2): renamed to ...
29269 (grub_script_yylex): ...renamed
29270 parse the expressions like a${b}c
29271 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
29272 (GRUB_PARSER_TOKEN_VAR): remove
29273 (GRUB_PARSER_TOKEN_NAME): likewise
29274 ("if"): declare as typeless
29275 ("while"): likewise
29276 ("function"): likewise
29277 ("else"): likewise
29278 ("then"): likewise
29279 ("fi"): likewise
29280 (text): remove
29281 (argument): likewise
29282 (script): accept empty scripts and make exit on error
29283 (arguments): use GRUB_PARSER_TOKEN_ARG
29284 (function): likewise
29285 (command): move error handling to script
29286 (menuentry): move grub_script_lexer_ref before
473d1e45 29287 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 29288 argument. All callers updated
29289
f4448a07 292902009-06-04 Robert Millan <rmh.grub@aybabtu.com>
29291
29292 Prevent GRUB from probing floppies during boot.
29293
29294 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
29295 * commands/search.c (options): Add --no-floppy.
29296 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
29297 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
29298 --no-floppy when searching for UUIDs.
29299
2bf5885a 293002009-06-04 Robert Millan <rmh.grub@aybabtu.com>
29301
29302 Simplify the code duplication in commands/search.c.
29303
29304 * commands/search.c (search_label, search_fs_uuid): Merge into ...
29305 (search_fs): ... this. Update all users.
29306
f6fd460a 293072009-06-03 Felix Zielcke <fzielcke@z-51.de>
29308
29309 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
29310
cbb3c83e 293112009-05-28 Pavel Roskin <proski@gnu.org>
29312
57788cfd 29313 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
29314 Remove the original symlink explicitly.
29315
cbb3c83e 29316 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
29317 just one slash. That's how grub_fshelp_find_file() does it.
29318
cd0d5e30 293192009-05-26 Pavel Roskin <proski@gnu.org>
29320
f0f8bbe2 29321 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
29322 to `str'.
29323
cd0d5e30 29324 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
29325 possibly unused.
29326
8c2cab51 293272009-05-25 Christian Franke <franke@computer.org>
29328
29329 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
29330 register.
29331 (grub_atapi_identify): Add wait after drive select.
29332 (grub_ata_identify): Do more strict status register check before
29333 calling grub_atapi_identify (). Suppress error message if status
29334 register is 0x00 after command failure. Add status register
29335 check after PIO read to avoid bogus identify due to stuck DRQ.
29336 Thanks to Pavel Roskin for testing.
29337 (grub_device_initialize): Remove unsafe status register check.
29338 Thanks to 'phcoder' for problem report and patch.
29339 Prevent sign extension in debug message.
29340
230c0ad6 293412009-05-23 Colin D Bennett <colin@gibibit.com>
29342
29343 Cleaned up `include/grub/normal.h'. Grouped prototypes by
29344 definition file, and functions defined in `normal/menu.c' have had
29345 their prototypes moved to `include/grub/menu.h' for consistency.
29346
29347 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
29348 from normal.h.
29349 (grub_menu_get_entry): Likewise.
29350 (grub_menu_get_timeout): Likewise.
29351 (grub_menu_set_timeout): Likewise.
29352 (grub_menu_execute_entry): Likewise.
29353 (grub_menu_execute_with_fallback): Likewise.
29354 (grub_menu_entry_run): Likewise.
29355
29356 * include/grub/normal.h: Re-ordered and grouped function
29357 prototypes by file that the function is defined in.
29358 (grub_menu_execute_callback): Removed; moved to menu.h.
29359 (grub_menu_get_entry): Likewise.
29360 (grub_menu_get_timeout): Likewise.
29361 (grub_menu_set_timeout): Likewise.
29362 (grub_menu_execute_entry): Likewise.
29363 (grub_menu_execute_with_fallback): Likewise.
29364 (grub_menu_entry_run): Likewise.
29365 (grub_menu_addentry): Renamed from this ...
29366 (grub_normal_add_menu_entry): ... to this.
29367
29368 * normal/main.c (grub_menu_addentry): Renamed from this ...
29369 (grub_normal_add_menu_entry): ... to this.
29370
29371 * script/sh/execute.c (grub_script_execute_menuentry): Update
29372 reference to renamed grub_menu_addentry function.
29373
861f03a5 293742009-05-23 Felix Zielcke <fzielcke@z-51.de>
29375
29376 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
29377
96b1619a 293782009-05-22 Pavel Roskin <proski@gnu.org>
29379
bf6a5fb2 29380 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
29381 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
29382 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
29383 compiling for the i386 targets, but not for the utilities.
29384
96b1619a 29385 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
29386 to grub_uint8_t.
29387 (grub_root_drive): Likewise.
29388 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
29389 remove alignment.
29390 (grub_root_drive): Change size to byte.
29391 (grub_start_addr): Remove.
29392 (grub_end_addr): Likewise.
29393 (grub_apm_bios_info): Likewise.
29394
b729776b 293952009-05-21 Felix Zielcke <fzielcke@z-51.de>
29396
29397 * normal/i386: Remove.
29398 * normal/powerpc: Likewise.
29399 * normal/sparc64: Likewise.
29400 * normal/x86_64: Likewise.
29401
0a15ce80 294022009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
29403
29404 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 29405 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 29406 * loader/i386/xnu_helper.S: Likewise
d6da58e6 29407
33db9015 294082009-05-18 Colin D Bennett <colin@gibibit.com>
29409
d6da58e6 29410 Display error messages when parsing a Lua statement fails.
29411 Previously, executing a syntactically invalid statement like
29412 ")foo" or "bar;" would silently fail.
33db9015 29413
29414 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 29415 (grub_lua_parse_line): Improved reporting of Lua parser and
29416 execution errors.
33db9015 29417
46422c89 294182009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
29419
29420 Remove -Werror which causes build to fail on some systems
29421
29422 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
29423 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
29424 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 29425
22f53a96 294262009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
29427
29428 trampoline for linux on 64-bit platform
29429
18f547ad 29430 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
29431 loader/i386/efi/linux_trampoline.S
29432 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 29433 declaration
d6da58e6 29434 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
29435 here
22f53a96 29436 * loader/i386/linux_trampoline.S: moved here
d6da58e6 29437 * loader/i386/efi/linux.c (allocate_pages): reserve space for
29438 trampoline
22f53a96 29439 (jumpvector): removed
29440 (grub_linux_trampoline_start): new declaration
29441 (grub_linux_trampoline_end): likewise
29442 (grub_linux_boot): use trampoline when on 64-bit platform
29443 * loader/i386/linux.c: likewise
29444
cb5a0f40 294452009-05-16 Pavel Roskin <proski@gnu.org>
29446
29447 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
29448 const to avoid a warning.
29449 (grub_lua_setenv): Likewise.
29450 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
29451 lmsg to fix a warning.
29452
334f2c28 294532009-05-16 Felix Zielcke <fzielcke@z-51.de>
29454
29455 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 29456 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29457 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
29458 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29459 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
29460 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29461 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
29462 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 29463
59e5d3ec 294642009-05-16 Felix Zielcke <fzielcke@z-51.de>
29465
29466 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
29467
9d87a1ba 294682009-05-16 Bean <bean123ch@gmail.com>
29469
29470 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
29471 (lua_mod_SOURCES): New variable.
29472 (lua_mod_CFLAGS): Likewise.
29473 (lua_mod_LDFLAGS): Likewise.
29474
29475 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
29476 (setjmp_mod_SOURCES): New variable.
29477 (setjmp_mod_CFLAGS): Likewise.
29478 (setjmp_LDFLAGS): Likewise.
29479
29480 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
29481 (setjmp_mod_SOURCES): New variable.
29482 (setjmp_mod_CFLAGS): Likewise.
29483 (setjmp_LDFLAGS): Likewise.
29484
29485 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
29486 (setjmp_mod_SOURCES): New variable.
29487 (setjmp_mod_CFLAGS): Likewise.
29488 (setjmp_LDFLAGS): Likewise.
29489
29490 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
29491 (setjmp_mod_SOURCES): New variable.
29492 (setjmp_mod_CFLAGS): Likewise.
29493 (setjmp_LDFLAGS): Likewise.
29494
29495 * normal/i386/setjmp.S: Moved from here ...
29496 * lib/i386/setjmp.S: ... Moved here
29497 * normal/x86_64/setjmp.S: Moved from here ...
29498 * lib/x86_64/setjmp.S: ... Moved here
29499 * normal/powerpc/setjmp.S: Moved from here ...
29500 * lib/powerpc/setjmp.S: ... Moved here
29501 * normal/sparc64/setjmp.S: Moved from here ...
29502 * lib/sparc64/setjmp.S: ... Moved here
29503
29504 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
29505 returns_twice in mingw.
29506
29507 * script/lua/grub_lib.c: New file.
29508 * script/lua/grub_lib.h: Likewise.
29509 * script/lua/grub_lua.h: Likewise.
29510 * script/lua/grub_main.c: Likewise.
29511 * script/lua/lapi.c: Likewise.
29512 * script/lua/lapi.h: Likewise.
29513 * script/lua/lauxlib.c: Likewise.
29514 * script/lua/lauxlib.h: Likewise.
29515 * script/lua/lbaselib.c: Likewise.
29516 * script/lua/lcode.c: Likewise.
29517 * script/lua/lcode.h: Likewise.
29518 * script/lua/ldblib.c: Likewise.
29519 * script/lua/ldebug.c: Likewise.
29520 * script/lua/ldebug.h: Likewise.
29521 * script/lua/ldo.c: Likewise.
29522 * script/lua/ldo.h: Likewise.
29523 * script/lua/ldump.c: Likewise.
29524 * script/lua/lfunc.c: Likewise.
29525 * script/lua/lfunc.h: Likewise.
29526 * script/lua/lgc.c: Likewise.
29527 * script/lua/lgc.h: Likewise.
29528 * script/lua/linit.c: Likewise.
29529 * script/lua/liolib.c: Likewise.
29530 * script/lua/llex.c: Likewise.
29531 * script/lua/llex.h: Likewise.
29532 * script/lua/llimits.h: Likewise.
29533 * script/lua/lmathlib.c: Likewise.
29534 * script/lua/lmem.c: Likewise.
29535 * script/lua/lmem.h: Likewise.
29536 * script/lua/loadlib.c: Likewise.
29537 * script/lua/lobject.c: Likewise.
29538 * script/lua/lobject.h: Likewise.
29539 * script/lua/lopcodes.c: Likewise.
29540 * script/lua/lopcodes.h: Likewise.
29541 * script/lua/loslib.c: Likewise.
29542 * script/lua/lparser.c: Likewise.
29543 * script/lua/lparser.h: Likewise.
29544 * script/lua/lstate.c: Likewise.
29545 * script/lua/lstate.h: Likewise.
29546 * script/lua/lstring.c: Likewise.
29547 * script/lua/lstring.h: Likewise.
29548 * script/lua/lstrlib.c: Likewise.
29549 * script/lua/ltable.c: Likewise.
29550 * script/lua/ltable.h: Likewise.
29551 * script/lua/ltablib.c: Likewise.
29552 * script/lua/ltm.c: Likewise.
29553 * script/lua/ltm.h: Likewise.
29554 * script/lua/lua.h: Likewise.
29555 * script/lua/luaconf.h: Likewise.
29556 * script/lua/lualib.h: Likewise.
29557 * script/lua/lundump.c: Likewise.
29558 * script/lua/lundump.h: Likewise.
29559 * script/lua/lvm.c: Likewise.
29560 * script/lua/lvm.h: Likewise.
29561 * script/lua/lzio.c: Likewise.
29562 * script/lua/lzio.h: Likewise.
29563
5e898c9d 295642009-05-16 Bean <bean123ch@gmail.com>
29565
29566 * include/grub/kernel.h (grub_module_header_types): Add type
29567 OBJ_TYPE_CONFIG.
29568
29569 * kern/main.c (grub_load_config): New function.
29570 (grub_main): Call grub_load_config to read boot config.
29571
29572 * grub-mkimage (generate_image): New parameter config_path.
29573 (options): New option --config.
29574 (main): Parse --config option, and pass it to generate_image.
29575
cf353a47 295762009-05-14 Christian Franke <franke@computer.org>
29577
29578 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
29579 This fixes build on Cygwin.
29580
3834887f 295812009-05-14 Pavel Roskin <proski@gnu.org>
29582
29583 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
29584 jump. This saves two bytes, so the typical case of 2 swapped
29585 drives would fit 32 bytes.
29586
8090fc01 295872009-05-13 Pavel Roskin <proski@gnu.org>
29588
ac963883 29589 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
29590 grub_uint32_t to avoid a warning.
29591
8090fc01 29592 * loader/i386/linux.c (allocate_pages): When assigning
29593 real_mode_mem, cast through grub_size_t to fix a warning. The
29594 code already makes sure that the value would fit a pointer.
29595 (grub_linux_setup_video): Cast render_target->data to
29596 grub_size_t to fix a warning.
29597
18f547ad 295982009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 29599
29600 * commands/i386/pc/drivemap.c: New file - implement drivemap
29601 command.
29602 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
29603 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
29604
6f6a8b28 296052009-05-13 Pavel Roskin <proski@gnu.org>
29606
29607 * util/i386/pc/grub-setup.c (setup): Remove unused variable
29608 embedding_area_exists.
29609
15fbf4c4 296102009-05-13 Robert Millan <rmh.grub@aybabtu.com>
29611
29612 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
29613 it easier to understand / work with.
59978c8a 29614 Improve warning messages for cases where there's no embedding area,
29615 or when it is too small (or core.img too large).
15fbf4c4 29616
238e871f 296172009-05-13 Pavel Roskin <proski@gnu.org>
29618
0ab3a9a4 29619 * loader/i386/pc/multiboot2.c: Add necessary includes for
29620 grub_multiboot2_real_boot().
29621
a2c8c5f8 29622 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
29623 PX record is always little-endian. We only need the lower 2
29624 bytes of the mode.
29625
faec96af 29626 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
29627 facilitate code reuse.
29628 (grub_cpio_mount): Use "struct head", not a char buffer. This
29629 fixes a warning reported by gcc 4.4.
29630
238e871f 29631 * kernel/disk.c (grub_disk_read): Use void pointer for the
29632 buffer.
29633 (grub_disk_write): Use const void pointer for the buffer.
29634 Adjust all callers. Remove unnecessary casts.
29635
901d2f0c 296362009-05-10 Robert Millan <rmh.grub@aybabtu.com>
29637
29638 * util/i386/pc/grub-install.in: Update copyright year.
29639
18f547ad 296402009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 29641
29642 gptsync
29643
29644 * commands/gptsync.c: new file
29645 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
29646 (gptsync_mod_SOURCES): new variable
29647 (gptsync_mod_CFLAGS): likewise
29648 (gptsync_mod_LDFLAGS): likewise
18f547ad 29649 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 29650 new definition
29651 (GRUB_PC_PARTITION_TYPE_HFS): likewise
29652 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
29653 * conf/i386-ieee1275.rmk: likewise
29654 * conf/i386-pc.rmk: likewise
29655 * conf/powerpc-ieee1275.rmk: likewise
29656
b4ba690a 296572009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
29658
29659 Fixed grub-emu
29660
29661 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
29662 (grub_dl_ref): likewise
29663
317e1a44 296642009-05-08 Robert Millan <rmh.grub@aybabtu.com>
29665
29666 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
29667 split in two functions (one for msdos and one for gpt).
29668
041b8094 296692009-05-08 Pavel Roskin <proski@gnu.org>
29670
752473c2 29671 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
29672 not modified.
29673
041b8094 29674 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
29675 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
29676 Initialize them with -1. Add sanity check for bad1. Eliminate
29677 nerr variable.
29678
172800ce 296792009-05-08 David S. Miller <davem@davemloft.net>
29680
29681 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
29682
29aa5e81 296832009-05-06 Robert Millan <rmh.grub@aybabtu.com>
29684
29685 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 29686 existence.
29aa5e81 29687
96613b62 296882009-05-05 Felix Zielcke <fzielcke@z-51.de>
29689
29690 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 29691 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 29692
eef73c8a 296932009-05-05 David S. Miller <davem@davemloft.net>
29694
29695 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
29696
119494b5 296972009-05-05 Pavel Roskin <proski@gnu.org>
29698
29699 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
29700 of grub_dl_ref() and grub_dl_unref().
29701 * commands/parttool.c: Remove preprocessor conditionals around
29702 grub_dl_ref() and grub_dl_unref().
29703 * fs/affs.c: Likewise.
29704 * fs/afs.c: Likewise.
29705 * fs/cpio.c: Likewise.
29706 * fs/ext2.c: Likewise.
29707 * fs/fat.c: Likewise.
29708 * fs/hfs.c: Likewise.
29709 * fs/hfsplus.c: Likewise.
29710 * fs/iso9660.c: Likewise.
29711 * fs/jfs.c: Likewise.
29712 * fs/minix.c: Likewise.
29713 * fs/ntfs.c: Likewise.
29714 * fs/reiserfs.c: Likewise.
29715 * fs/sfs.c: Likewise.
29716 * fs/udf.c: Likewise.
29717 * fs/ufs.c: Likewise.
29718 * fs/xfs.c: Likewise.
29719 * include/grub/dl.h: Likewise.
29720 * loader/xnu.c: Likewise.
29721
de5fd76e 297222009-05-04 Pavel Roskin <proski@gnu.org>
29723
29724 * commands/acpi.c: Remove unused variable my_mod.
29725 * partmap/amiga.c: Likewise.
29726 * partmap/apple.c: Likewise.
29727 * partmap/gpt.c: Likewise.
29728 * partmap/pc.c: Likewise.
29729 * partmap/sun.c: Likewise.
29730 * term/gfxterm.c: Likewise.
29731 * term/i386/pc/vesafb.c: Likewise.
29732 * term/i386/pc/vga.c: Likewise.
29733
983598ad 297342009-05-04 David S. Miller <davem@davemloft.net>
29735
29736 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
29737 pointer args to grub_ieee1275_get_property().
29738
8aadec43 29739 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
29740
9554b15e 29741 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
29742 devices, and do not traverse down under controller nodes.
29743
67e23c90 29744 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
29745 (grub_ofdisk_open): Use it to un-escape "," characters.
29746 * kern/disk.c (find_part_sep): New.
29747 (grub_disk_open): Use it to find the first non-escaped ','
29748 character in the disk name.
29749 * util/ieee1275/devicemap.c (escape_of_path): New.
29750 (grub_util_emit_devicemap_entry): Use it.
29751 * util/sparc64/ieee1275/grub-install.in: Update script to
29752 strip partition specifiers properly by not triggering on
29753 '\' escaped ',' characters.
29754
74bfdd2f 297552009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29756
29757 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
29758 to 0x300.
29759 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
29760 resolutions.
29761 (linux_vesafb_modes): Add a lot of additional modes to the list (based
29762 on documentation from Wikipedia).
29763
4241d2b1 297642009-05-04 Pavel Roskin <proski@gnu.org>
29765
29766 * disk/ata.c: Spelling fixes.
29767 * disk/raid.c: Likewise.
29768 * disk/usbms.c: Likewise.
29769 * disk/dmraid_nvidia.c: Likewise.
29770 * kern/ieee1275/openfw.c: Likewise.
29771 * kern/ieee1275/init.c: Likewise.
29772 * kern/ieee1275/cmain.c: Likewise.
29773 * boot/i386/pc/cdboot.S: Likewise.
29774 * video/readers/png.c: Likewise.
29775 * video/i386/pc/vbe.c: Likewise.
29776 * fs/udf.c: Likewise.
29777 * fs/hfs.c: Likewise.
29778 * fs/reiserfs.c: Likewise.
29779 * efiemu/runtime/efiemu.c: Likewise.
29780 * efiemu/main.c: Likewise.
29781 * efiemu/mm.c: Likewise.
29782 * include/grub/elf.h: Likewise.
29783 * include/grub/xnu.h: Likewise.
29784 * include/grub/usbdesc.h: Likewise.
29785 * include/grub/usb.h: Likewise.
29786 * include/grub/script_sh.h: Likewise.
29787 * include/grub/lib/LzmaEnc.h: Likewise.
29788 * include/grub/efiemu/efiemu.h: Likewise.
29789 * include/grub/command.h: Likewise.
29790 * normal/menu.c: Likewise.
29791 * normal/main.c: Likewise.
29792 * normal/datetime.c: Likewise.
29793 * bus/usb/uhci.c: Likewise.
29794 * mmap/i386/uppermem.c: Likewise.
29795 * mmap/mmap.c: Likewise.
29796 * commands/acpi.c: Likewise.
29797 * commands/test.c: Likewise.
29798 * partmap/apple.c: Likewise.
29799 * font/font.c: Likewise.
29800 * loader/sparc64/ieee1275/linux.c: Likewise.
29801 * loader/macho.c: Likewise.
29802 * loader/i386/bsd_trampoline.S: Likewise.
29803 * loader/i386/bsd.c: Likewise.
29804 * loader/xnu.c: Likewise.
29805 * term/i386/pc/vesafb.c: Likewise.
29806 * term/usb_keyboard.c: Likewise.
29807 * util/resolve.c: Likewise.
29808 * util/getroot.c: Likewise.
29809
0cfc0083 298102009-05-04 Felix Zielcke <fzielcke@z-51.de>
29811
29812 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
29813
7c1d00cd 298142009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29815
29816 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
29817 build error.
29818
b01f0548 298192009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29820
29821 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
29822 parameter only available on BIOS.
29823
ecc3eb22 298242009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
29825
29826 Removed wrong semicolon in declaration
29827
29828 * grub/misc.h (grub_dprintf): remove semicolon
29829
112972a9 298302009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29831
29832 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
29833 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
29834 is done by grub_cmd_linux() now).
29835 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
29836 restore video to text mode.
29837 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
29838 indicates lack of "vga=" parameter. "vga=0" is mapped to
29839 `GRUB_LINUX_VID_MODE_NORMAL'.
29840
afd5c115 298412009-05-04 Felix Zielcke <fzielcke@z-51.de>
29842
29843 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
29844 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
29845 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 29846 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 29847 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
29848 `grub_script.tab.c'.
29849
29850 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29851 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29852 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29853 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29854 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29855
faa517ce 29856 * Makefile.in: Remove duplicated 2008 in Copyright line.
29857
ae0c0bdc 298582009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29859
473d1e45 29860 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 29861 unconditionally.
29862 * include/grub/util/misc.h (grub_util_warn): New declaration.
29863
29864 * util/i386/pc/grub-install.in: Understand --force and pass it down
29865 to grub-setup.
29866
29867 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
29868 down to setup().
29869 (setup): Improve error messages and add warnings when requested to
29870 install in odd layouts. Refuse to install using blocklists unless
29871 --force was set.
29872
18f547ad 298732009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 29874
29875 * disk/raid.c (grub_raid_scan_device): Improve debug message.
29876
6d260daa 298772009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
29878
29879 Updated copyright year
29880
29881 * fs/hfsplus.c: updated copyright year
18f547ad 29882
69f853f8 298832009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
29884
29885 HFS+ UUID
29886
18f547ad 29887 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 29888 in the space previously used by unused3
29889 (grub_hfsplus_uuid): new function
29890 (grub_hfsplus_fs): added uuid field
29891
4c402e73 298922009-05-03 Pavel Roskin <proski@gnu.org>
29893
29894 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
29895 suppress warnings. It's no longer needed.
29896 * disk/host.c: Likewise.
29897 * disk/ata_pthru.c: Likewise.
29898 * disk/loopback.c: Likewise.
29899 * hook/datehook.c: Likewise.
29900 * parttool/pcpart.c: Likewise.
29901 * fs/i386/pc/pxe.c: Likewise.
29902 * fs/ntfscomp.c: Likewise.
29903 * efiemu/main.c: Likewise.
29904 * mmap/mmap.c: Likewise.
29905 * commands/crc.c: Likewise.
29906 * commands/hexdump.c: Likewise.
29907 * commands/hdparm.c: Likewise.
29908 * commands/acpi.c: Likewise.
29909 * commands/echo.c: Likewise.
29910 * commands/minicmd.c: Likewise.
29911 * commands/blocklist.c: Likewise.
29912 * commands/memrw.c: Likewise.
29913 * commands/loadenv.c: Likewise.
29914 * commands/usbtest.c: Likewise.
29915 * commands/lsmmap.c: Likewise.
29916 * commands/boot.c: Likewise.
29917 * commands/parttool.c: Likewise.
29918 * commands/configfile.c: Likewise.
29919 * commands/search.c: Likewise.
29920 * commands/ieee1275/suspend.c: Likewise.
29921 * commands/cat.c: Likewise.
29922 * commands/i386/pc/pxecmd.c: Likewise.
29923 * commands/i386/pc/play.c: Likewise.
29924 * commands/i386/pc/halt.c: Likewise.
29925 * commands/i386/pc/vbeinfo.c: Likewise.
29926 * commands/i386/pc/vbetest.c: Likewise.
29927 * commands/lspci.c: Likewise.
29928 * commands/date.c: Likewise.
29929 * commands/handler.c: Likewise.
29930 * commands/ls.c: Likewise.
29931 * commands/test.c: Likewise.
29932 * commands/cmp.c: Likewise.
29933 * commands/efi/loadbios.c: Likewise.
29934 * commands/efi/fixvideo.c: Likewise.
29935 * commands/halt.c: Likewise.
29936 * commands/help.c: Likewise.
29937 * commands/reboot.c: Likewise.
29938 * hello/hello.c: Likewise.
29939 * script/sh/main.c: Likewise.
29940 * loader/xnu.c: Likewise.
29941 * term/terminfo.c: Likewise.
29942 * term/i386/pc/serial.c: Likewise.
29943 * term/usb_keyboard.c: Likewise.
29944
515b5079 299452009-05-03 David S. Miller <davem@davemloft.net>
29946
29947 * normal/menu.c: Include grub/parser.h
29948
dfc31a22 299492009-05-03 Pavel Roskin <proski@gnu.org>
29950
2fee74f1 29951 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
29952 not char*.
29953 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
29954 Suggested by Javier Martín <lordhabbit@gmail.com>
29955
dfc31a22 29956 * util/i386/pc/grub-mkrescue.in: Allow for the case when
29957 efiemu??.o doesn't exist.
29958 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
29959 copying.
29960
18f547ad 299612009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 29962
29963 FreeBSD 64-bit support
29964
18f547ad 29965 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 29966 and loader/i386/bsd_trampoline.S
29967 (bsd_mod_ASFLAGS): new variable
29968 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
29969 (FREEBSD_MODTYPE_KERNEL64): likewise
29970 (grub_bsd64_trampoline_start): likewise
29971 (grub_bsd64_trampoline_end): likewise
29972 (grub_bsd64_trampoline_selfjump): likewise
29973 (grub_bsd64_trampoline_gdt): likewise
29974 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
29975 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
29976 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
29977 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 29978 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 29979 of "attrib" member
29980 * loader/i386/bsd_pagetable.c: new file
29981 * loader/i386/bsd_trampoline.S: likewise
29982 * loader/i386/bsd.c (ALIGN_QWORD): new macro
29983 (ALIGN_VAR): likewise
29984 (entry_hi): new variable
29985 (kern_end_mdofs): likewise
29986 (is_64bit): likewise
29987 (grub_freebsd_add_meta): use ALIGN_VAR
29988 (grub_e820_mmap): new declaration
29989 (grub_freebsd_add_mmap): new function
29990 (grub_freebsd_add_meta_module): support 64 bit kernels
29991 (grub_freebsd_list_modules): use ALIGN_VAR
29992 (gdt_descriptor): new declaration
29993 (grub_freebsd_boot): support 64 bit kernels
29994 (grub_bsd_elf64_hook): new function
29995 (grub_bsd_load_elf): support elf64
29996
038c5720 299972009-05-03 Bean <bean123ch@gmail.com>
29998
29999 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
30000 after we get the result of if statement.
30001
fc45fb58 300022009-05-03 Bean <bean123ch@gmail.com>
30003
30004 * Makefile.in (enable_efiemu): New variable.
30005
30006 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
30007 set.
30008 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
30009 path.
30010 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
30011 path, add -mno-red-zone option.
30012 (efiemu64_s.o): Likewise.
30013 (efiemu64.o): Use macro $^ for source file.
30014
30015 * configure.ac (--enable-efiemu): New option.
30016
bbee0f2b 300172009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
30018
30019 xnu support
30020
30021 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
30022 (pkglib_MODULES): add xnu.mod
30023 (xnu_mod_SOURCES): new variable
30024 (xnu_mod_CFLAGS): likewise
30025 (xnu_mod_LDFLAGS): likewise
30026 (xnu_mod_ASFLAGS): likewise
30027 * conf/i386-pc.rmk: likewise
30028 * conf/x86_64-efi.rmk: likewise
7dd4a573 30029 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 30030 new declaration
30031 * include/grub/i386/macho.h: new file
30032 * include/grub/i386/xnu.h: likewise
30033 * include/grub/macho.h: likewise
30034 * include/grub/machoload.h: likewise
30035 * include/grub/x86_64/macho.h: likewise
30036 * include/grub/x86_64/xnu.h: likewise
30037 * include/grub/xnu.h: likewise
30038 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
30039 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
30040 * loader/i386/efi/xnu.c: new file
30041 * loader/i386/pc/xnu.c: likewise
30042 * loader/i386/xnu.c: likewise
30043 * loader/i386/xnu_helper.S: likewise
30044 * loader/macho.c: likewise
30045 * loader/xnu.c: likewise
30046 * loader/xnu_resume.c: likewise
30047 * util/grub-dumpdevtree: likewise
30048 * include/grub/i386/pit.h: include grub/err.h
30049 (grub_pit_wait): export
30050 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 30051
5caf964d 300522009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30053
30054 Efiemu
7dd4a573 30055
5caf964d 30056 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 30057 _linux_efi, linux_efi.
30058 new files in grub-emu
5caf964d 30059 new targets efiemu32.o and efiemu64.o
30060 * loader/linux_normal_efiemu.c: likewise
30061 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 30062 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 30063 files to copy
30064 * include/grub/autoefi.h: new file
7dd4a573 30065 * include/grub/i386/efiemu.h: likewise
5caf964d 30066 * include/grub/i386/pc/efiemu.h: likewise
30067 * include/grub/efi/api.h: add LL suffix when necessary
30068 new definitions relating to tables
30069 * include/grub/efiemu/efiemu.h: new file
30070 * include/grub/efiemu/runtime.h: likewise
30071 * efiemu/prepare.c: likewise
30072 * efiemu/loadcore_common.c: likewise
30073 * efiemu/loadcore64.c: likewise
30074 * efiemu/runtime/efiemu.sh: likewise
30075 * efiemu/runtime/efiemu.S: likewise
30076 * efiemu/runtime/efiemu.c: likewise
30077 * efiemu/runtime/config.h: likewise
30078 * efiemu/prepare32.c: likewise
30079 * efiemu/main.c: likewise
30080 * efiemu/modules/pnvram.c: likewise
30081 * efiemu/modules/i386: likewise
30082 * efiemu/modules/i386/pc: likewise
30083 * efiemu/modules/acpi.c: likewise
30084 * efiemu/i386/pc/cfgtables.c: likewise
30085 * efiemu/i386/loadcore64.c: likewise
30086 * efiemu/i386/loadcore32.c: likewise
30087 * efiemu/prepare64.c: likewise
30088 * efiemu/loadcore.c: likewise
30089 * efiemu/symbols.c: likewise
30090 * efiemu/mm.c: likewise
30091 * efiemu/loadcore32.c: likewise
7dd4a573 30092
300932009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 30094
30095 ACPI spoofing
30096
30097 * commands/acpi.c: new file
30098 * commands/i386/pc/acpi.c: likewise
30099 * commands/efi/acpi.c: likewise
30100 * include/grub/acpi.h: likewise
30101 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
30102 (acpi_mod_SOURCES): new variable
30103 (acpi_mod_CFLAGS): likewise
30104 (acpi_mod_LDFLAGS): likewise
30105 * conf/i386-efi.rmk: likewise
30106 * conf/x86_64-efi.rmk: likewise
30107
7dd4a573 301082009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 30109
30110 Missing part from mmap patch
30111
30112 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
30113 (grub_mmap_unregister)
30114 (grub_mmap_free_and_unregister): use grub_mmap_register
30115
7dd4a573 301162009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 30117
30118 Mmap services
30119
30120 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
30121 * loader/i386/linux.c (find_mmap_size): likewise
30122 (allocate_pages): likewise
30123 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
30124 (grub_fill_multiboot_mmap): likewise
30125 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
30126 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
30127 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
30128 (OPENBSD_MMAP_RESERVED): likewise
30129 * include/grub/i386/pc/memory.h: include grub/memory.h
30130 (grub_lower_mem): removed
30131 (grub_upper_mem): likewise
30132 (GRUB_MACHINE_MEMORY_ACPI): new definition
30133 (GRUB_MACHINE_MEMORY_NVS): likewise
30134 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
30135 (GRUB_MACHINE_MEMORY_HOLE): likewise
30136 (grub_machine_mmap_register): likewise
30137 (grub_machine_mmap_unregister): likewise
30138 (grub_machine_get_upper): likewise
30139 (grub_machine_get_lower): likewise
30140 (grub_machine_get_post64): likewise
30141 * include/grub/i386/efi/memory.h: new file
30142 * include/grub/x86_64/efi/memory.h: likewise
30143 * include/grub/efi/memory.h: likewise
30144 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
30145 (mmap_mod_SOURCES): new variable
30146 (mmap_mod_LDFLAGS): likewise
30147 (mmap_mod_ASFLAGS): likewise
30148 * conf/i386-coreboot.rmk: likewise
30149 * conf/i386-ieee1275.rmk: likewise
30150 * conf/i386-efi.rmk: likewise
30151 * conf/x86_64-efi.rmk: likewise
30152 * include/grub/types.h (UINT_TO_PTR): new macro
30153 (PTR_TO_UINT32): likewise
30154 (PTR_TO_UINT64): likewise
30155 * include/grub/memory.h: new file
30156 * mmap/i386/pc/mmap.c: likewise
30157 * mmap/i386/pc/mmap_helper.S: likewise
30158 * mmap/i386/uppermem.c: likewise
30159 * mmap/mmap.c: likewise
30160 * mmap/efi/mmap.c: likewise
7dd4a573 30161 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 30162 grub_upper_mem
30163 * kern/i386/pc/init.c (grub_lower_mem): removed variable
30164 (grub_upper_mem): likewise
30165 (grub_machine_init): don't use grub_upper_mem,
30166 make grub_lower_mem local
30167 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
30168 grub_mmap_iterate and grub_mmap_get_upper
30169 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
30170
d558e6b5 301712009-05-02 Bean <bean123ch@gmail.com>
30172
30173 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
30174 script/sh/parser.y.
30175 (pkglib_MODULES): Add normal.mod and sh.mod.
30176 (normal_SOURCES): New variable.
30177 (normal_mod_CFLAGS): Likewise.
30178 (normal_mod_LDFLAGS): Likewise.
30179 (sh_mod_SOURCES): Likewise.
30180 (sh_mod_CFLAGS): Likewise.
30181 (sh_mod_LDFLAGS): Likewise.
30182
30183 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
30184 script/sh/lexer.c_DEPENDENCIES.
30185 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
30186 kern/rescue_reader.c and kern/rescue_parser.c.
30187 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
30188 (grub_emu_SOURCES): Change source files.
30189 (pkglib_MODULES): Remove normal.mod.
30190 (normal_SOURCES): Removed.
30191 (normal_mod_CFLAGS): Likewise.
30192 (normal_mod_LDFLAGS): Likewise.
30193 * conf/i386-coreboot.rmk: Likewise.
30194 * conf/i386-efi.rmk: Likewise.
30195 * conf/i386-ieee1276.rmk: Likewise.
30196 * conf/powerpc-ieee1275.rmk: Likewise.
30197 * conf/sparc64-ieee1275.rmk: Likewise.
30198 * conf/x86_64-efi.rmk: Likewise.
30199
30200 * include/grub/command.h (grub_command_execute): New inline function.
30201
30202 * include/grub/menu.h (grub_menu_entry): Removed commands field.
30203
30204 * include/grub/normal.h: Remove <grub/setjmp.h>.
30205 (grub_fs_module_list): Moved to normal/autofs.c.
30206 (grub_exit_env): Removed.
30207 (grub_command_execute): Likewise.
30208 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
30209 parameter script.
30210 (read_command_list): New function declaration.
30211 (read_fs_list): Likewise.
30212
30213 * include/parser.h: Include <grub/reader.h>.
30214 (grub_parser_split_cmdline): Change type of getline parameter.
30215 (grub_parser): New structure.
30216 (grub_parser_class): New variable.
30217 (grub_parser_execute): New function declaration.
30218 (grub_register_rescue_parser): Likewise.
30219 (grub_parser_register): New inline function.
30220 (grub_parser_unregister): Likewise.
30221 (grub_parser_get_current): Likewise.
30222 (grub_parser_set_current): Likewise.
30223
30224 * include/grub/reader.h: New file.
30225 * kern/reader.c: Likewise.
30226 * kern/rescue_parser.c: Likewise.
30227 * kern/rescue_reader.c: Likewise.
30228 * normal/autofs.c: Likewise.
30229 * normal/dyncmd.c: Likewise.
30230
30231 * include/grub/rescue.h: Removed.
30232 * normal/command.h: Likewise.
30233
30234 * include/grub/script.h: Moved to ...
30235 * include/grub/script_sh.h: ... Moved here.
30236 * normal/execute.c: Moved to ...
30237 * script/sh/execute.c: ... Moved here.
30238 * normal/function.c: Moved to ...
30239 * script/sh/function.c: ... Moved here.
30240 * normal/lexer.c: Moved to ...
30241 * script/sh/lexer.c: ... Moved here.
30242 * normal/parser.y: Moved to ...
30243 * script/sh/parser.y: ... Moved here.
30244 * normal/script.c: Moved to ...
30245 * script/sh/script.c: ... Moved here.
30246
30247 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
30248 <grub/reader.h>.
30249 (grub_exit_env): Removed.
30250 (fs_module_list): Moved to normal/autofs.c.
30251 (grub_file_getline): Don't handle comment here.
30252 (free_menu): Skip removed field entry->commands.
30253 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
30254 script parameter.
30255 (read_config_file): Removed nested parameter, change getline function.
30256 (grub_enter_normal_mode): Removed.
30257 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
30258 (read_command_list): Likewise.
30259 (autoload_fs_module): Moved to normal/autofs.c.
30260 (read_fs_list): Likewise.
30261 (reader_nested): New variable.
30262 (grub_normal_execute): Run parser.sh to switch to sh parser.
30263 (grub_cmd_rescue): Removed.
30264 (cmd_normal): Removed.
30265 (grub_cmd_normal): Unregister itself at the beginning. Don't register
30266 rescue command.
30267 (grub_cmdline_run): New function.
30268 (grub_normal_reader_init): Likewise.
30269 (grub_normal_read_line): Likewise.
30270 (grub_env_write_pager): Likewise.
30271 (cmdline): New variable.
30272 (grub_normal_reader): Likewise.
30273 (GRUB_MOD_INIT): Register normal reader and set as current, register
30274 pager hook, register normal command with grub_register_command_prio,
30275 so that it won't show up in command.lst.
30276 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
30277 grub_fs_autoload_hook.
30278
30279 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
30280 (grub_menu_execute_entry): Replace grub_script_execute with
30281 grub_parser_execute, change parameter to grub_command_execute.
30282
30283 * normal/menu_text.c: Remove <grub/script.h>.
30284
30285 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
30286 and <grub/parser.h>.
30287 (run): Change editor_getline to use new parser interface. Change
30288 parameter to grub_command_execute.
30289
30290 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
30291 <grub/reader.h> and <grub/parser.h>.
30292 (grub_load_normal_mode): Execute normal command.
30293 (grub_main): Call grub_register_core_commands,
30294 grub_register_rescue_parser and grub_register_rescue_reader, use
30295 grub_reader_loop to enter input loop.
30296
7dd4a573 30297 * kern/parser.c (grub_parser_split_cmdline): Change type of
30298 getline parameter.
d558e6b5 30299 (grub_parser_class): New variable.
30300 (grub_parser_execute): New function.
30301
30302 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
30303 * loader/multiboot2.c: Likewise.
30304 * loader/sparc64/ieee1275/linux.c: Likewise.
30305
30306 * util/grub-emu.c (read_command_list): New dummy function.
30307
18db813d 303082009-05-02 Robert Millan <rmh.grub@aybabtu.com>
30309
30310 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
30311 count to 16 for CCISS and IDA.
30312
6c67de15 303132009-05-02 Robert Millan <rmh.grub@aybabtu.com>
30314
30315 * normal/menu_text.c (grub_wait_after_message): Print a newline
30316 after waiting for user input.
30317
30318 * loader/i386/linux.c: Include `<grub/normal.h>'.
30319 (grub_cmd_linux): Improve the error message about `ask' mode, by
30320 waiting for user input so it's not missed (we can do this, since
30321 user requested interaction).
30322
d9dc87b0 303232009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30324
30325 Added missing lst to grub-mkrescue
30326
30327 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
30328 and ${input_dir}/parttool.lst
30329
ac8a2baa 303302009-04-30 David S. Miller <davem@davemloft.net>
30331
ad22a610 30332 * util/hostdisk.c (device_is_wholedisk): New function.
30333 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
30334 zero only if device_is_wholedisk() returns true.
30335
6966215d 30336 * util/hostdisk.c (convert_system_partition_to_system_disk):
30337 Handle virtual disk devices named /dev/vdiskX as found on sparc
30338 and powerpc.
30339
ac8a2baa 30340 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
30341 lettered partition specifier is found, convert to numbered.
30342
979b4fb4 303432009-04-29 David S. Miller <davem@davemloft.net>
30344
e2bf39b2 30345 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
30346 * include/grub/sparc64/ieee1275/memory.h: Likewise.
30347
3c64e104 30348 * normal/command.c: Add missing newline at end of file.
30349
979b4fb4 30350 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
30351 warnings.
30352 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
30353 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
30354 grub_ofdisk_read): Likewise, and deal similarly with the fact that
30355 ihandles have a 32-bit type but need to be stored in a "void *".
30356
136d9f82 303572009-04-28 Pavel Roskin <proski@gnu.org>
30358
9459c306 30359 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
30360 not disk. Adjust all dependencies.
2e08a26a 30361 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 30362 grub_disk_close().
30363
136d9f82 30364 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
30365 parent's partition, don't copy it by reference, as it gets freed
30366 on close.
30367
7dd4a573 303682009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 30369
30370 Preboot hooks support
30371
30372 * commands/boot.c (struct grub_preboot_t): new declaration
30373 (preboots_head): new variable
30374 (preboots_tail): likewise
30375 (grub_loader_register_preboot_hook): new function
30376 (grub_loader_unregister_preboot_hook): likewise
30377 (grub_loader_set): launch preboot hooks
30378 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
30379 (grub_loader_register_preboot_hook): new declaration
30380 (grub_loader_unregister_preboot_hook): likewise
30381
5af922b5 303822009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
30383
30384 Warning fix
30385
7dd4a573 30386 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 30387 calling grub_dprintf
30388
a5562c30 303892009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
30390
30391 Bug and warning fixes
30392
7dd4a573 30393 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 30394 declaration
30395 * commands/test.c (test_parse): fixed bug with file tests and corrected
30396 declaration of find_file
30397
4006f85c 303982009-04-26 Pavel Roskin <proski@gnu.org>
30399
30400 * Makefile.in: Don't install empty manual pages if help2man is
30401 missing. Use help2man option for output, not shell redirection.
30402
5c77c3de 304032009-04-26 David S. Miller <davem@davemloft.net>
30404
30405 * util/grub-mkdevicemap.c (make_device_map): Add missing
30406 NESTED_FUNC_ATTR to process_device().
30407
033b10a8 304082009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
30409
30410 Test command
30411
30412 * commands/test.c: rewritten to use bash-like test
30413
e4343593 304142009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
30415
30416 Parttool autoloading and improvements
30417
7dd4a573 30418 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 30419 (parttool.lst): new target
30420 * genmk.rb: generate parttool-*
30421 (CLEANFILES): add #{parttool}
30422 (PARTTOOLFILES): new variable
30423 * genparttoollist.sh: new file
7dd4a573 30424 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 30425 (grub_pcpart_type): likewise
30426 * commands/parttool.c (helpmsg): new variable
30427 (grub_cmd_parttool): output help if not enough arguments are supplied
30428 autoload modules
30429 (GRUB_MOD_INIT(parttool)): use helpmsg
30430
0d312500 304312009-04-24 David S. Miller <davem@davemloft.net>
30432
7dd4a573 30433 Avoiding opening same device multiple times in device iterator.
0d312500 30434
30435 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 30436 and use it to build a list of partitions in iterate_disk() and
0d312500 30437 iterate_partition().
30438
ac20caff 30439 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
30440 on disk->data.
30441
0dcf7495 30442 * disk/ieee1275/nand.c (grub_nand_iterate): Return
30443 grub_devalias_iterate() result instead of unconditional 0.
30444 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
30445 Also, capture hook return value, either directly or via
30446 grub_children_iterate(), and propagate to caller.
30447 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
30448 grub_children_iterate): Return value is now 'int' instead of
30449 'grub_err_t'.
30450 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
30451 like a proper iterator, stopping when hooks return non-zero.
30452 (grub_devalias_iterate): Likewise.
30453
c8c08833 304542009-04-23 David S. Miller <davem@davemloft.net>
30455
30456 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
30457
f01005a8 304582009-04-22 David S. Miller <davem@davemloft.net>
30459
30460 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
30461 is larger than address_cells, use that value for address_cells too.
30462
4e8269da 30463 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
30464 IEEE1275_MAX_PATH_LEN): Define.
30465 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
30466 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
30467 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
30468 'devtype'. Explicitly NULL terminate devalias expansion.
30469
a1447506 30470 * util/sparc64/ieee1275/misc.c: New file.
30471 * util/sparc64/ieee1275/grub-setup.c: New file.
30472 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
30473 * util/sparc64/ieee1275/grub-mkimage.c: New file.
30474 * util/sparc64/ieee1275/grub-install.in: New file.
30475 * util/ieee1275/ofpath.c: New file.
30476 * util/ieee1275/devicemap.c: New file.
30477 * util/devicemap.c: New file.
30478 * util/deviceiter.c: New file.
30479 * kern/sparc64/ieee1275/init.c: New file.
30480 * include/grub/util/ofpath.h: New file.
30481 * include/grub/util/deviceiter.h: New file.
30482 * util/grub-mkdevicemap.c: Include deviceiter.h.
30483 Implement using grub_util_emit_devicemap_entry and
30484 grub_util_iterate_devices.
30485 * conf/i386-corebook.rmk: Build util/deviceiter.c and
30486 util/devicemap.c into grub-mkdevicemap
30487 * conf/i386-efi.rmk: Likewise.
30488 * conf/i386-ieee1275.rmk: Likewise.
30489 * conf/i386-pc.rmk: Likewise.
30490 * conf/powerpc-ieee1275.rmk: Likewise.
30491 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
30492 images and installation utilities. Build kernel as image
30493 instead of as elf binary. Use common rules as much as possible.
30494
7dd4a573 304952009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 30496
30497 Correct GPT definition
30498
7dd4a573 30499 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 30500 of "attrib" member
30501
c6c5219f 305022009-04-19 Felix Zielcke <fzielcke@z-51.de>
30503
30504 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
30505
0552ff9f 305062009-04-19 David S. Miller <davem@davemloft.net>
30507
30508 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
30509 (grub_rescue_cmd_linux): Rename to...
30510 (grub_cmd_linux): and fix prototype.
30511 (grub_rescue_cmd_initrd): Rename to...
30512 (grub_cmd_initrd): and fix prototype.
30513 (cmd_linux, cmd_initrd): New.
30514 (GRUB_MOD_INIT(linux)): Use grub_register_command().
30515 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
30516
d1a282fc 305172009-04-17 Pavel Roskin <proski@gnu.org>
30518
07c5039f 30519 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
30520 format.
30521 (grub_ohci_transfer): Likewise.
30522
b012002d 30523 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
30524
1bc09c35 30525 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
30526 return without a value. Fix inconsistent indentation.
30527
e0ff9126 30528 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
30529 match struct grub_fs.
30530
d1a282fc 30531 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
30532 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
30533 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
30534 * commands/lspci.c (grub_lspci_iter): Likewise.
30535
a96df3f2 305362009-04-16 Bean <bean123ch@gmail.com>
30537
30538 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
30539 value.
30540
41bb0fe9 305412009-04-15 Pavel Roskin <proski@gnu.org>
30542
30543 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
30544 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
30545 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
30546 definitions.
30547
596c6970 305482009-04-15 Felix Zielcke <fzielcke@z-51.de>
30549
30550 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 30551 that no multiple data or metadata areas are supported and `Unknown
596c6970 30552 metadata header'.
30553
7dd4a573 305542009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 30555
30556 Move loader out of the kernel
30557
30558 * kern/loader.c: moved to ...
30559 * commands/boot.c: ... moved here
30560 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
30561 * commands/boot.c (grub_cmd_boot): moved here. All users updated
30562 * include/grub/kernel.h (grub_machine_fini): export
30563 * include/grub/loader.h (grub_loader_is_loaded): update declaration
30564 (grub_loader_set): likewise
30565 (grub_loader_unset): likewise
30566 (grub_loader_boot): likewise
30567 * conf/common.rmk: new module boot.mod
30568 (pkglib_MODULES): add boot.mod
30569 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
30570 (grub_emu_SOURCES): likewise
30571 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
30572 (grub_emu_SOURCES): likewise
30573 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
30574 (grub_emu_SOURCES): likewise
30575 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
30576 (grub_emu_SOURCES): likewise
30577 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
30578 (grub_emu_SOURCES): likewise
7dd4a573 30579 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
30580 (grub_emu_SOURCES): likewise
0d5d5653 30581 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 30582 (grub_emu_SOURCES): likewise
0d5d5653 30583
7dd4a573 305842009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 30585
30586 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 30587
5999d619 30588 * kern/misc.c (grub_itoa): Removed function
30589 (grub_ltoa): likewise
30590 (grub_vsprintf): use grub_lltoa
30591
7dd4a573 305922009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 30593
30594 Restore grub-emu
30595
30596 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
30597 * conf/i386-coreboot.rmk: likewise
30598 * conf/i386-ieee1275.rmk: likewise
30599 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 30600
20318222 306012009-04-15 Felix Zielcke <fzielcke@z-51.de>
30602
30603 * INSTALL: Add that `./autogen.sh' needs to be run before
30604 `./configure.'.
30605
d05f0df3 306062009-04-14 Bean <bean123ch@gmail.com>
30607
30608 * Makefile.in (pkglib_DATA): Add handler.lst.
30609 (handler.lst): New rule.
30610
30611 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
30612 * conf/i386-coreboot.rmk: Likewise.
30613 * conf/i386-ieee1275.rmk: Likewise.
30614 * conf/i386-efi.rmk: Likewise.
30615 * conf/x86_64-efi.rmk: Likewise.
30616 * conf/powerpc-ieee1275.rmk: Likewise.
30617 * conf/sparc64-ieee1275.rmk: Likewise.
30618
30619 * genhandlerlist.sh: New file.
30620
30621 * genmk.rb: Add rules to generate handler.lst.
30622
30623 * include/grub/normal.h (grub_file_getline): New function definition.
30624 (read_handler_list): Likewise.
30625 (free_handler_list): Likewise.
30626
30627 * include/grub/term.h (grub_term_register_input): Add name parameter
30628 for auto generation of handler.lst.
30629 (grub_term_register_output): Likewise.
30630
30631 * normal/handler.c: New file.
30632
30633 * normal/main.c (get_line): Renamed to grub_file_getline.
30634 (read_config_file): Use the newly renamed grub_file_getline.
30635 (read_command_list): Likewise.
30636 (read_fs_list): Likewise.
30637 (grub_normal_execute): Call read_handler_list to parse handler.lst.
30638 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
30639
30640 * term/efi/console.c (grub_console_init): Add name parameter for auto
30641 generation of handler.lst.
30642 * term/gfxterm.c: Likewise.
30643 * term/i386/pc/at_keyboard.c: Likewise.
30644 * term/i386/pc/console.c: Likewise.
30645 * term/i386/pc/serial.c: Likewise.
30646 * term/i386/pc/vesafb.c: Likewise.
30647 * term/i386/pc/vga.c: Likewise.
30648 * term/i386/pc/vga_text.c: Likewise.
30649 * term/ieee1275/ofconsole.c: Likewise.
30650 * term/usb_keyboard.c: Likewise.
30651
33c846be 306522009-04-14 Bean <bean123ch@gmail.com>
30653
30654 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
30655 properly with null character.
30656
4484e01e 306572009-04-14 Felix Zielcke <fzielcke@z-51.de>
30658
30659 * configure: Remove.
30660 * config.h.in: Likewise.
f93d668e 30661 * stamp-h.in: Likewise.
4484e01e 30662 * DISTLIST: Likewise.
30663 * conf/common.mk: Likewise.
30664 * conf/i386-coreboot.mk: Likewise.
30665 * conf/i386-efi.mk: Likewise.
30666 * conf/i386-ieee1275.mk: Likewise.
30667 * conf/i386.mk: Likewise.
30668 * conf/i386-pc.mk: Likewise.
30669 * conf/powerpc-ieee1275.mk: Likewise.
30670 * conf/sparc64-ieee1275.mk: Likewise.
30671 * conf/x86_64-efi.mk: Likewise.
30672
30673 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
30674 develop on GRUB.
30675
7dd4a573 306762009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 30677 David S. Miller <davem@davemloft.net>
30678
30679 * util/hostdisk.c (make_device_name): Fix buffer length
30680 calculations.
30681
e25b5a8c 306822009-04-14 Felix Zielcke <fzielcke@z-51.de>
30683
30684 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
30685 <sys/param.h> and <sys/sysctl.h>.
30686 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
30687 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
30688 opening the device and reset them afterwards.
30689
1f1f580c 306902009-04-13 Pavel Roskin <proski@gnu.org>
30691
30692 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
30693 Reported by John Stanley <jpsinthemix@verizon.net>
30694
7ebc2d6b 306952009-04-13 Robert Millan <rmh@aybabtu.com>
30696
30697 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 30698 that name for menuentries when appropriate.
7ebc2d6b 30699
d8ba3667 307002009-04-13 Felix Zielcke <fzielcke@z-51.de>
30701
30702 * util/grub.d/10_freebsd.in: Add a missing `fi'.
30703
cba416eb 307042009-04-13 Robert Millan <rmh@aybabtu.com>
30705
30706 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
30707 to Linux, simply abort telling the user it's no longer supported.
30708
a547a745 307092009-04-13 Felix Zielcke <fzielcke@z-51.de>
30710
30711 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 30712 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 30713 `freebsd_loadenv' only when devices.hints exist.
30714
232a769c 307152009-04-13 Pavel Roskin <proski@gnu.org>
30716
30717 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
30718
c3012039 307192009-04-13 Felix Zielcke <fzielcke@z-51.de>
30720
30721 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
30722 partition number.
30723 (grub_drive): Likewise.
30724
234022fe 307252009-04-13 David S. Miller <davem@davemloft.net>
30726
30727 * kern/sparc64/ieee1275/ieee1275.c: New file.
30728 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
30729 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
30730 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
30731 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
30732 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
30733 grub_ieee1275_alloc_physmem): Declare new exported functions.
30734
d8e1836c 30735 * include/grub/sparc64/ieee1275/loader.h: New file.
30736 * include/grub/sparc64/ieee1275/memory.h: Likewise.
30737 * include/grub/sparc64/kernel.h: Likewise.
30738 * loader/sparc64/ieee1275/linux.c: Likewise.
30739
96bd81ec 30740 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
30741 (grub_fstest_SOURCES): Likewise.
30742
6a4737e5 30743 * util/hostdisk.c (make_device_name): Do not make any assumptions
30744 about the length of drive names.
30745
1d7a72fd 30746 * kern/dl.c (grub_dl_load_file): Close file immediately when
30747 we are done using it.
30748
56bc2471 307492009-04-12 David S. Miller <davem@davemloft.net>
30750
30751 * kern/misc.c (grub_ltoa): Fix cast when handling negative
30752 values. Noticed by Pavel Roskin.
30753
df38d0bb 30754 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
30755 target compiler.
7dd4a573 30756
e382e93a 30757 * genmk.rb: Add more flexible image type specification, also
30758 pass --strip-unneeded to objcopy.
30759 * conf/i386-pc.rmk: Use *_FORMAT.
30760 * conf/i386-pc.mk: Rebuilt.
30761
f5dbbca9 30762 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
30763 (OFDISK_HASH_SZ): Define.
30764 (ofdisk_hash): New hash table.
30765 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
30766 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
30767 instead of device phandle which is not unique.
30768
91c88b12 30769 * kern/sparc64/ieee1275/init.c: Delete, replace with...
30770 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
30771 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
30772 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
30773 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
30774 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
30775 GRUB_KERNEL_MACHINE_DATA_END): Define.
30776 (grub_kernel_image_size, grub_total_module_size): Declare.
30777
5b5d4aa5 307782009-04-12 Pavel Roskin <proski@gnu.org>
30779
7dd4a573 30780 * configure.ac: Change the logic when we check for target tools.
30781 Do it when the target is specified and it's different from the
30782 specified value of the host.
5b5d4aa5 30783
c91e1793 307842009-04-11 Felix Zielcke <fzielcke@z-51.de>
30785
30786 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
30787 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
30788 GNU/kFreeBSD. Check if a device is a character device. Use
30789 DIOCGMEDIASIZE to get the size.
30790 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
30791 support for GNU/kFreeBSD.
30792 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
30793 is a character device instead of a block device. Add support for
30794 FreeBSD device names.
30795
30796 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
30797 is a character device instead of a block device.
30798
30799 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
30800 is a character device instead of a block device.
30801
b1ac8644 308022009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
30803
30804 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
30805 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
30806 FreeBSD. Check if a device is a character device. Use
30807 DIOCGMEDIASIZE to get the size.
30808 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
30809 support for FreeBSD.
30810 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
30811 is a character device instead of a block device. Add support for
30812 FreeBSD device names.
30813
30814 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
30815 a character device instead of a block device.
30816 (grub_util_check_char_device): New function.
30817
30818 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
30819 a character device instead of a block device.
30820
30821 * include/grub/util/getroot.h (grub_util_check_char_device): New
30822 prototype.
30823
a3f7515a 308242009-04-11 David S. Miller <davem@davemloft.net>
30825
30826 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
30827 static libgcc.
30828 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
30829 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
30830 function, if present.
30831 (__bswapdi2): Likewise.
30832
0d44993d 30833 * include/grub/sparc64/ieee1275/boot.h: New file.
30834 * boot/sparc64/ieee1275/boot.S: Likewise.
30835 * boot/sparc64/ieee1275/diskboot.S: Likewise.
30836
ed3d2bc2 30837 * kern/misc.c (grub_ltoa): New function.
30838 (grub_vsprintf): Use it to format 'long' integers.
30839
d3bfb59c 308402009-04-10 David S. Miller <davem@davemloft.net>
30841
30842 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
30843 slots are of type grub_ieee1275_cell_t.
30844 (grub_nand_read): Likewise.
30845 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
30846 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
30847 macros are used to compare values in arg/ret block of the call.
30848 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
30849 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
30850 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
30851 grub_ieee1275_instance_to_path, grub_ieee1275_write,
30852 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
30853 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
30854 grub_ieee1275_close, grub_ieee1275_set_property,
30855 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
30856 grub_ieee1275_cell_t.
30857 * kern/ieee1275/openfw.c (grub_map): Likewise.
30858 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
30859 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
30860
450e2238 30861 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
30862 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
30863 (grub_devalias_iterate): Likewise.
30864
7dd4a573 308652009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 30866
30867 UFS improvements
30868
30869 * fs/ufs.c (INODE_NBLOCKS): new definition
30870 (struct grub_ufs_dirent): added fields for non-BSD dirents
30871 (grub_ufs_get_file_block): fixed double indirect handling
30872 (grub_ufs_lookup_symlink): use more robust way to determine whether
30873 symlink is inline
30874 (grub_ufs_find_file): support for non-BSD dirents
30875 (grub_ufs_dir): support for non-BSD dirents
30876
e7e6862a 308772009-04-10 Bean <bean123ch@gnail.com>
30878
30879 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
30880 attribute, otherwise the size would be wrong for i386 platform.
30881
30882 * include/grub/pci.h (grub_pci_read_word): New inline function.
30883 (grub_pci_read_byte): Likewise.
30884 (grub_pci_write): Likewise.
30885 (grub_pci_write_word): Likewise.
30886 (grub_pci_write_byte): Likewise.
30887
30888 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
30889
30890 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
30891 (find_framebuf): Scan pci to locate the frame buffer address.
30892
30893 * commands/efi/fixvideo.c: New file.
30894
30895 * commands/efi/loadbios.c: Likewise.
30896
30897 * commands/memrw.c: Likewise.
30898
30899 * util/grub-dumpbios.in: Likewise.
30900
30901 * conf/common.rmk (grub-dumpbios): New utility.
30902 (pkglib_MODULES): New module memrw.mod.
30903 (memrw_mod_SOURCE): New macro.
30904 (memrw_mod_CFLAGS): Likewise.
30905 (memrw_mod_LDFLAGS): Likewise.
30906
7dd4a573 30907 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 30908 fixvideo.mod.
30909 (loadbios_mod_SOURCE): New macro.
30910 (loadbios_mod_CFLAGS): Likewise.
30911 (loadbios_mod_LDFLAGS): Likewise.
30912 (fixvideo_mod_SOURCE): Likewise.
30913 (fixvideo_mod_CFLAGS): Likewise.
30914 (fixvideo_mod_LDFLAGS): Likewise.
30915
7dd4a573 30916 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 30917 fixvideo.mod.
30918 (loadbios_mod_SOURCE): New macro.
30919 (loadbios_mod_CFLAGS): Likewise.
30920 (loadbios_mod_LDFLAGS): Likewise.
30921 (fixvideo_mod_SOURCE): Likewise.
30922 (fixvideo_mod_CFLAGS): Likewise.
30923 (fixvideo_mod_LDFLAGS): Likewise.
30924
af63ada2 309252009-04-08 Felix Zielcke <fzielcke@z-51.de>
30926
30927 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
30928
c2cdde70 309292009-04-07 David S. Miller <davem@davemloft.net>
30930
30931 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
30932 support for R_SPARC_OLO10 relocations. Fix compile warning for
30933 R_SPARC_WDISP30 case.
ea3f72cf 30934 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 30935
761319cf 309362009-04-06 Pavel Roskin <proski@gnu.org>
30937
1007d1f5 30938 * include/grub/misc.h (ARRAY_SIZE): New macro.
30939 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
30940 New macro.
30941 * loader/i386/linux.c (allocate_pages): Use free_pages().
30942 (grub_linux_unload): Don't use free_pages().
30943 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
30944 wrong index. Treat all other modes as text modes.
30945 (grub_cmd_linux): Initialize vid_mode unconditionally to
30946 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
30947
761319cf 30948 * commands/help.c (print_command_help): Use cmd->prio, not
30949 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
30950
ea761d40 309512009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 30952
ea761d40 30953 Parttool
30954
30955 * parttool/pcpart.c: new file
30956 * commands/parttool.c: likewise
30957 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
30958 (parttool_mod_SOURCES): new variable
30959 (parttool_mod_CFLAGS): likewise
30960 (parttool_mod_LDFLAGS): likewise
30961 (pcpart_mod_SOURCES): likewise
30962 (pcpart_mod_CFLAGS): likewise
30963 (pcpart_mod_LDFLAGS): likewise
7dd4a573 30964 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 30965 and parttool/pcpart.c
30966 * conf/i386-efi.rmk: likewise
30967 * conf/i386-ieee1275.rmk: likewise
30968 * conf/i386-pc.rmk: likewise
30969 * conf/powerpc-ieee1275.rmk: likewise
30970 * conf/sparc64-ieee1275.rmk: likewise
30971 * conf/x86_64-ieee1275.rmk: likewise
30972
05aaebfb 309732009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
30974
30975 Support for mtime and further expandability of dir command
30976
30977 * include/grub/lib/datetime.h: moved to ...
7dd4a573 30978 * include/grub/datetime.h: ... moved here and added
05aaebfb 30979 declaration of grub_unixtime2datetime. All users updated
7dd4a573 30980 * include/grub/fs.h: new syntax for dir and mtime functions in
30981 struct grub_fs
05aaebfb 30982 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
30983 and GRUB_FSHELP_FLAGS_MASK
30984 * commands/ls.c (grub_ls_list_files): Write mtime in long format
30985 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
30986 (grub_ext2_mtime): new function
30987 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
30988 (grub_hfsplus_mtime): new function
30989 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
30990 (GRUB_UFS_ATTR_FILE): likewise
30991 (GRUB_UFS_ATTR_LNK): likewise
30992 (struct grub_ufs_sblock): new fields mtime
30993 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
30994 all users updated
30995 (grub_ufs_dir): mtime support
30996 (grub_ufs_mtime): new function
30997 * fs/affs.c (grub_affs_dir): use new dir syntax
30998 * fs/afs.c (grub_afs_dir): likewise
30999 * fs/cpio.c (grub_cpio_dir): likewise
31000 * fs/fat.c (grub_fat_find_dir): likewise
31001 * fs/hfs.c (grub_hfs_dir): likewise
31002 * fs/iso9660.c (grub_iso9660_dir): likewise
31003 * fs/jfs.c (grub_jfs_dir): likewise
31004 * fs/minix.c (grub_minix_dir): likewise
31005 * fs/ntfs.c (grub_ntfs_dir): likewise
31006 * fs/reiserfs.c (grub_reiserfs_dir): likewise
31007 * fs/sfs.c (grub_sfs_dir): likewise
31008 * fs/xfs.c (grub_xfs_dir): likewise
31009 * util/hostfs.c (grub_hostfs_dir): likewise
31010 * lib/datetime.c: moved to ...
31011 * normal/datetime.c: ... moved here
31012 (grub_unixtime2datetime): new function
31013 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 31014 * normal/completion.c (iterate_dir): use new dir syntax
31015 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 31016 last modification time of a volume
7dd4a573 31017 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 31018 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 31019 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 31020 (normal_mod_SOURCES): likewise
31021 (datetime_mod_SOURCES): Removed lib/datetime.c
31022 * conf/i386-efi.rmk: likewise
7dd4a573 31023 * conf/i386-ieee1275.rmk: likewise
05aaebfb 31024 * conf/i386-pc.rmk: likewise
31025 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 31026 * conf/sparc64-ieee1275.rmk: likewise
31027 * conf/x86_64-efi.rmk: likewise
05aaebfb 31028
8a7e1a14 310292009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
31030
31031 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 31032
31033 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 31034 on grub_fat_find_dir
31035 (grub_fat_find_dir): use grub_fat_iterate_dir
31036 (grub_fat_label): likewise
31037
04186a9c 310382009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
31039
7dd4a573 31040 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 31041 and command.h
31042 remove extraneous kernel_elf_HEADERS
31043
da4c0bb6 310442009-04-04 Bean <bean123ch@gnail.com>
31045
31046 * include/grub/util/misc.h: Add dummy function fsync for mingw.
31047
31048 * util/misc.c: Likewise.
31049
54ad9555 310502009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
31051
31052 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
31053 instead of grub_printf.
31054
7a6bf9f2 310552009-04-03 Robert Millan <rmh@aybabtu.com>
31056
31057 * loader/i386/linux.c (grub_linux_setup_video): Fill
31058 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
31059 values from `mode info' structure instead of hardcoded
31060 values.
31061
3fcc2083 310622009-04-01 Pavel Roskin <proski@gnu.org>
31063
31064 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
31065 unused now.
31066 * genmk.rb: Likewise.
31067 * configure.ac: Likewise.
31068
5ec9740b 310692009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
31070
31071 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
31072 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
31073
5270cec8 310742009-04-01 David S. Miller <davem@davemloft.net>
31075
31076 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 31077 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 31078 (grub_setjmp): Mark with 'returns_twice' attribute.
31079 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
31080 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
31081 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
31082
9c3dd854 310832009-04-01 Robert Millan <rmh@aybabtu.com>
31084
31085 Reapply fix from 2008-07-28 which was accidentally reverted; also
31086 perform the same fix to a similar check in same function.
31087
31088 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
31089 with the same number are found, just use issue a warning with
31090 grub_dprintf(), as this error has been reported to be non-fatal.
31091
0d818b7e 310922009-03-31 Pavel Roskin <proski@gnu.org>
31093
31094 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
31095 for cross-compilation.
31096
95646d92 310972009-03-30 Robert Millan <rmh@aybabtu.com>
31098
31099 Fix i386-ieee1275 build.
31100
31101 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
31102 Remove declaration.
31103
6a003ed1 311042009-03-30 Pavel Roskin <proski@gnu.org>
31105
31106 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
31107 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
31108 zero-terminated, rely only on the strlen value. Fix comparison
31109 of strings differing in length.
31110
92f33540 311112009-03-30 Robert Millan <rmh@aybabtu.com>
31112
31113 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
31114 checking for abi version. Improve error messages on BIOS to notify
31115 user about `linux16' command.
31116
a8c48fd5 311172009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
31118
f968172e 31119 Leak fixes
a8c48fd5 31120
f968172e 31121 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
31122 in case of collision
31123 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 31124
9c323f09 311252009-03-29 Robert Millan <rmh@aybabtu.com>
31126
31127 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
31128 set `vid_mode' accordingly.
31129 (grub_linux_boot): Process `vid_mode' and set video mode.
31130
ae68f423 311312009-03-29 Robert Millan <rmh@aybabtu.com>
31132
31133 * util/grub.d/10_linux.in (linux_entry): New function.
31134 Factorize generation of Linux boot entries.
31135
5709cfc4 311362009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
31137
31138 Make the format of Environment Block plain text. The boot loader
31139 part is not tested well yet.
7dd4a573 31140
5709cfc4 31141 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
31142 (buffer): Removed.
31143 (envblk): Likewise.
31144 (usage): Remove "info" and "clear". Add "unset". Update the
31145 description of "set", as this does not delete variables any
31146 longer.
31147 (create_envblk_file): Complete rewrite.
31148 (open_envblk_file): Likewise.
31149 (cmd_info): Removed.
31150 (cmd_list): Likewise.
31151 (cmd_set): Likewise.
31152 (cmd_clear): Likewise.
31153 (list_variables): New function.
31154 (write_envblk): Likewise.
31155 (set_variables): Likewise.
31156 (unset_variables): Likewise.
31157 (main): Complete rewrite.
31158
31159 * commands/loadenv.c (buffer): Removed.
31160 (envblk): Likewise.
31161 (open_envblk_file): New function.
31162 (read_envblk_file): Complete rewrite.
31163 (grub_cmd_load_env): Likewise.
31164 (grub_cmd_list_env): Likewise.
31165 (struct blocklist): New struct.
31166 (free_blocklists): New function.
31167 (check_blocklists): Likewise.
31168 (write_blocklists): Likewise.
31169 (grub_cmd_save_env): Complete rewrite.
31170
31171 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
31172 a plain text signature.
31173 (GRUB_ENVBLK_MAXLEN): Removed.
31174 (struct grub_envblk): Complete rewrite.
31175 (grub_envblk_find): Removed.
31176 (grub_envblk_insert): Likewise.
31177 (grub_envblk_open): New prototype.
31178 (grub_envblk_set): Likewise.
31179 (grub_envblk_delete): Put const to VALUE.
31180 (grub_envblk_iterate): Put const to NAME and VALUE.
31181 (grub_envblk_close): New prototype.
31182 (grub_envblk_buffer): New inline function.
31183 (grub_envblk_size): Likewise.
31184
31185 * lib/envblk.c: Include grub/mm.h.
31186 (grub_env_find): Removed.
31187 (grub_envblk_open): New function.
31188 (grub_envblk_close): Likewise.
31189 (escaped_value_len): Likewise.
31190 (find_next_line): Likewise.
31191 (grub_envblk_insert): Removed.
31192 (grub_envblk_set): New function.
31193 (grub_envblk_delete): Complete rewrite.
31194 (grub_envblk_iterate): Likewise.
31195
a9368fd3 311962009-03-28 Robert Millan <rmh@aybabtu.com>
31197
31198 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
31199 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
31200 variables. Use 16-bit loader.
31201 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
31202 loader.
31203 * kern/i386/loader.S (grub_linux_boot): Rename to ...
31204 (grub_linux16_boot): ... this. Update all users.
31205 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
31206 (grub_linux_boot): ... this. Update all users.
31207
31208 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
31209 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
31210 commands to `linux16' and `initrd16'.
31211 (GRUB_MOD_FINI(linux)): Rename to ...
31212 (GRUB_MOD_FINI(linux16)): ... this.
31213
e4dd5a7e 312142009-03-24 Pavel Roskin <proski@gnu.org>
31215
31216 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
31217 not just for compilation.
31218
c04d6e05 312192009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
31220
31221 Move multiboot helper out of kernel
31222
31223 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
31224 `loader/i386/multiboot_helper.S'.
31225 * conf/i386-coreboot.rmk: Likewise
31226 * conf/i386-ieee1275.rmk: Likewise
31227
31228 * kern/i386/loader.S: Move multiboot helpers from here...
31229 * loader/i386/multiboot_helper.S: ...moved here
31230 * include/grub/i386/loader.h: Move declarations of multiboot
31231 helpers from here...
31232 * include/grub/i386/multiboot.h: ...moved here
31233 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
31234
42a5b3fc 312352009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31236
31237 * kern/env.c (grub_env_context_open): Added an argument to specify
31238 whether a new context inherits exported variables from current
31239 one. This is useful when making a sandbox to interpret a config
31240 file.
31241 All callers updated.
31242
31243 * include/grub/env.h (grub_env_context_open): Updated the prototype.
31244
b28bbc4e 312452009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31246
31247 * kern/env.c (grub_env_context_close): Fix memory leaks.
31248
f04f02e4 312492009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31250
31251 * normal/main.c (grub_normal_execute): Added an argument
31252 BATCH to specify if an interactive interface should be provided
31253 after reading a config file.
31254 All callers updated.
31255 (read_command_list): Prevent being executed twice.
31256 (read_fs_list): Likewise.
31257
42a5b3fc 31258 * include/grub/normal.h (grub_normal_execute): Updated the
31259 prototype.
f04f02e4 31260
41473ac2 312612009-03-22 Pavel Roskin <proski@gno.org>
31262
fbc00b0c 31263 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
31264 _start.
31265 * kern/i386/pc/startup.S: Likewise.
31266 * kern/i386/efi/startup.S: Likewise.
31267 * kern/i386/ieee1275/startup.S: Likewise.
31268 * kern/i386/coreboot/startup.S: Likewise.
31269 * kern/x86_64/efi/startup.S: Likewise.
31270
41473ac2 31271 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
31272 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
31273 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
31274
2274cc8f 312752009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
31276
31277 Bugfixes in multiboot for bugs uncovered by solaris kernel.
31278
31279 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
31280 limit detection.
31281 Use vaddr of correct segment for entry_point.
31282
b1b797cb 312832009-03-21 Bean <bean123ch@gmail.com>
31284
31285 * commands/blocklist.c: Add include file <grub/command.h>, remove
31286 <grub/normal.h> and <grub/arg.h>.
31287 (grub_cmd_blocklist): Use the new command interface.
31288 (GRUB_MOD_INIT): Likewise.
31289 (GRUB_MOD_FINI): Likewise.
31290 * commands/boot.c: Likewise.
31291 * commands/cat.c: Likewise.
31292 * commands/cmp.c: Likewise.
31293 * commands/configfile.c: Likewise.
31294 * commands/crc.c: Likewise.
31295 * commands/echo.c: Likewise.
31296 * commands/halt.c: Likewise.
31297 * commands/handler.c: Likewise.
31298 * commands/hdparm.c: Likewise.
31299 * commands/help.c: Likewise.
31300 * commands/hexdump.c: Likewise.
31301 * commands/loadenv.c: Likewise.
31302 * commands/ls.c: Likewise.
31303 * commands/lsmmap.c: Likewise.
31304 * commands/lspci.c: Likewise.
31305 * commands/loadenv.c: Likewise.
31306 * commands/read.c: Likewise.
31307 * commands/reboot.c: Likewise.
31308 * commands/search.c: Likewise.
31309 * commands/sleep.c: Likewise.
31310 * commands/test.c: Likewise.
31311 * commands/usbtest.c: Likewise.
31312 * commands/videotest.c: Likewise.
31313 * commands/i386/cpuid.c: Likewise.
31314 * commands/i386/pc/halt.c: Likewise.
31315 * commands/i386/pc/play.c: Likewise.
31316 * commands/i386/pc/pxecmd.c: Likewise.
31317 * commands/i386/pc/vbeinfo.c: Likewise.
31318 * commands/i386/pc/vbetest.c: Likewise.
31319 * commands/ieee1275/suspend.c: Likewise.
31320 * disk/loopback.c: Likewise.
31321 * font/font_cmd.c: Likewise.
31322 * hello/hello.c: Likewise.
31323 * loader/efi/appleloader.c: Likewise.
31324 * loader/efi/chainloader.c: Likewise.
31325 * loader/i386/bsd.c: Likewise.
31326 * loader/i386/efi/linux.c: Likewise.
31327 * loader/i386/ieee1275/linux.c: Likewise.
31328 * loader/i386/linux.c: Likewise.
31329 * loader/i386/pc/chainloader.c: Likewise.
31330 * loader/i386/pc/linux.c: Likewise.
31331 * loader/powerpc/ieee1275/linux.c: Likewise.
31332 * loader/multiboot_loader.c: Likewise.
31333 * term/gfxterm.c: Likewise.
31334 * term/i386/pc/serial.c: Likewise.
31335 * term/terminfo.c: Likewise.
31336
31337 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
31338 * term/i386/pc/vga.c: Likewise.
31339 * video/readers/jpeg.c: Likewise.
31340 * video/readers/png.c: Likewise.
31341 * video/readers/tga.c: Likewise.
31342
31343 * util/grub-fstest (cmd_loopback): Removed.
31344 (cmd_blocklist): Likewise.
31345 (cmd_ls): Likewise.
31346 (grub_register_command): Likewise.
31347 (grub_unregister_command): Likewise.
31348 (execute_command): Use grub_command_find to locate command and execute
31349 it.
31350
31351 * include/grub/efi/chainloader.h: Removed.
31352 * loader/efi/chainloader_normal.c: Likewise.
31353 * loader/i386/bsd_normal.c: Likewise.
31354 * loader/i386/pc/chainloader_normal.c: Likewise.
31355 * loader/i386/pc/multiboot_normal.c: Likewise.
31356 * loader/linux_normal.c: Likewise.
31357 * loader/multiboot_loader_normal.c: Likewise.
31358 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
31359
31360 * gencmdlist.sh: Scan new registration command grub_register_extcmd
31361 and grub_register_command_p1.
31362
31363 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
31364 kern/command.c, lib/arg.c and commands/extcmd.c.
31365 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
31366 (minicmd_mod_SOURCES): New variable.
31367 (minicmd_mod_CFLAGS): Likewise.
31368 (minicmd_mod_LDFLAGS): Likewise.
31369 (extcmd_mod_SOURCES): Likewise.
31370 (extcmd_mod_CFLAGS): Likewise.
31371 (extcmd_mod_LDFLAGS): Likewise.
31372 (boot_mod_SOURCES): Removed.
31373 (boot_mod_CFLAGS): Likewise.
31374 (boot_mod_LDFLAGS): Likewise.
31375
31376 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
31377 kern/corecmd.c.
31378 (kernel_img_HEADERS): Add command.h.
31379 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
31380 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
31381 and lib/arg.c.
31382 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
31383 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
31384 remove the corresponding normal mode command.
31385 (normal_mod_SOURCES): Remove normal/arg.c.
31386 * conf/i386-coreboot.rmk: Likewise.
31387 * conf/i386-efi.rmk: Likewise.
31388 * conf/i386-ieee1275.rmk: Likewise.
31389 * conf/powerpc-ieee1275.rmk: Likewise.
31390 * conf/x86_64-efi.rmk: Likewise.
31391
31392 * include/grub/arg.h: Move from here ...
31393 * include/grub/lib/arg.h: ... to here.
31394
31395 * normal/arg.c: Move from here ...
31396 * lib/arg.c: ... to here.
31397
31398 * commands/extcmd.c: New file.
31399 * commands/minicmd.c: Likewise.
31400 * include/grub/command.h: Likewise.
31401 * include/grub/extcmd.h: Likewise.
31402 * kern/command.c: Likewise.
31403 * kern/corecmd.c: Likewise.
31404
31405 * kern/list.c (grub_list_iterate): Return int instead of void.
31406 (grub_list_insert): New function.
31407 (grub_prio_list_insert): Likewise.
31408
31409 * kern/rescue.c (grub_rescue_command): Removed.
31410 (grub_rescue_command_list): Likewise.
31411 (grub_rescue_register_command): Likewise.
31412 (grub_rescue_unregister_command): Likewise.
31413 (grub_rescue_cmd_boot): Move to minicmd.c
31414 (grub_rescue_cmd_help): Likewise.
31415 (grub_rescue_cmd_info): Likewise.
31416 (grub_rescue_cmd_boot): Likewise.
31417 (grub_rescue_cmd_testload): Likewise.
31418 (grub_rescue_cmd_dump): Likewise.
31419 (grub_rescue_cmd_rmmod): Likewise.
31420 (grub_rescue_cmd_lsmod): Likewise.
31421 (grub_rescue_cmd_exit): Likewise.
31422 (grub_rescue_print_devices): Moved to corecmd.c.
31423 (grub_rescue_print_files): Likewise.
31424 (grub_rescue_cmd_ls): Likewise.
31425 (grub_rescue_cmd_insmod): Likewise.
31426 (grub_rescue_cmd_set): Likewise.
31427 (grub_rescue_cmd_unset): Likewise.
7d074e3c 31428 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 31429 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 31430 commands, remove grub_rescue_register_command calls.
b1b797cb 31431
7d074e3c 31432 * normal/command.c (grub_register_command): Removed.
b1b797cb 31433 (grub_unregister_command): Likewise.
31434 (grub_command_find): Likewise.
31435 (grub_iterate_commands): Likewise.
31436 (rescue_command): Likewise.
31437 (export_command): Moved to corecmd.c.
31438 (set_command): Removed.
31439 (unset_command): Likewise.
31440 (insmod_command): Likewise.
31441 (rmmod_command): Likewise.
31442 (lsmod_command): Likewise.
31443 (grub_command_init): Likewise.
31444
31445 * normal/completion.c (iterate_command): Use cmd->prio to check for
31446 active command.
31447 (complete_arguments): Use grub_extcmd_t structure to find options.
31448 (grub_normal_do_completion): Change function grub_iterate_commands to
31449 grub_command_iterate.
31450
31451 * normal/execute.c (grub_script_execute_cmd): No need to parse
31452 argument here.
31453
31454 * normal/main.c (grub_dyncmd_dispatcher): New function.
31455 (read_command_list): Register unload commands as dyncmd.
31456 (grub_cmd_normal): Use new command interface, register rescue,
31457 unregister normal at entry, register normal, unregister rescue at exit.
31458
31459 * include/grub/list.h (grub_list_test_t): New type.
31460 (grub_list_iterate): Return int instead of void.
31461 (grub_list_insert): New function.
31462 (GRUB_AS_NAMED_LIST_P): New macro.
31463 (GRUB_AS_PRIO_LIST): Likewise.
31464 (GRUB_AS_PRIO_LIST_P): Likewise.
31465 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
31466 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
31467 (grub_prio_list): New structure.
31468 (grub_prio_list_insert): New function.
31469 (grub_prio_list_remove): New inline function.
31470
31471 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
31472 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
31473 (GRUB_COMMAND_FLAG_MENU): Likewise.
31474 (GRUB_COMMAND_FLAG_BOTH): Likewise.
31475 (GRUB_COMMAND_FLAG_TITLE): Likewise.
31476 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
31477 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
31478 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
31479 (grub_command): Likewise.
31480 (grub_register_command): Likewise.
31481 (grub_command_find): Likewise.
31482 (grub_iterate_commands): Likewise.
31483 (grub_command_init): Likewise.
31484 (grub_arg_parse): Likewise.
31485 (grub_arg_show_help): Likewise.
31486
31487 * include/grub/rescue.h (grub_rescue_register_command): Removed.
31488 (grub_rescue_unregister_command): Likewise.
31489
31490 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
31491 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
31492 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
31493
31494 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
31495 grub_rescue_cmd_initrd.
31496 * include/grub/i386/loader.h: Likewise.
31497 * include/grub/x86_64/loader.h: Likewise.
31498
31499 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
31500
1f4147aa 315012009-03-21 Bean <bean123ch@gmail.com>
31502
31503 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
31504 instead of stat in mingw environment.
31505
31506 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
31507
31508 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
31509
31510 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
31511 AC_CONFIG_LINKS.
31512
2156d5ba 315132009-03-21 Bean <bean123ch@gmail.com>
31514
31515 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
31516 out of range error.
31517
177b82ca 315182009-03-18 Michel Dänzer <michel@daenzer.net>
31519
31520 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
31521 checking inode flags for EXT4_EXTENTS_FLAG.
31522
14aad807 315232009-03-18 Robert Millan <rmh@aybabtu.com>
31524
31525 * loader/i386/linux.c: Include `<grub/video.h>' and
31526 `<grub/i386/pc/vbe.h>'..
31527 (grub_linux_setup_video): New function. Loosely based on the EFI one.
31528 (grub_linux32_boot): Attempt to configure video settings with
31529 grub_linux_setup_video().
31530 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
31531 to avoid grub_console_fini() which would step out of graphical mode
31532 unconditionally.
31533
8cf83a27 315342009-03-14 Robert Millan <rmh@aybabtu.com>
31535
31536 Fix build on powerpc.
31537 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
31538
40164e75 315392009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
31540
31541 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
31542 background image command.
31543
c58bc32a 315442009-03-12 Colin D Bennett <colin@gibibit.com>
31545
31546 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
31547 (grub_gfxterm_putchar): Extract pairs of identical calls to
31548 draw_cursor out of conditional blocks.
31549
5415144a 315502009-03-11 Pavel Roskin <proski@gnu.org>
31551
31552 * fs/hfs.c (grub_hfs_strncasecmp): New function.
31553 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
31554
6394042e 315552009-03-11 Robert Millan <rmh@aybabtu.com>
31556
31557 * loader/i386/multiboot_elfxx.c
31558 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
31559
b7b50e5f 315602009-03-11 Felix Zielcke <fzielcke@z-51.de>
31561
31562 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
31563 `kern/handler.c'.
31564
1ca7fc96 315652009-03-11 Robert Millan <rmh@aybabtu.com>
31566
31567 * loader/i386/multiboot.c (code_size): New variable.
31568 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 31569 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 31570 4-byte alignment to MBI and others by increasing
7d074e3c 31571 `boot_loader_name_length' appropriately.
1ca7fc96 31572
31573 * loader/i386/multiboot_elfxx.c
31574 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
31575
a83ea1d2 315762009-03-09 Felix Zielcke <fzielcke@z-51.de>
31577
31578 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
31579 `fs/ext2.c'.
31580
aa9f3bff 315812009-03-08 Robert Millan <rmh@aybabtu.com>
31582
31583 Make loader/i386/linux.c usable on i386-pc again.
31584
31585 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
31586 memory to heap.
31587 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
31588 `#error' stanza.
31589
d8b3b60e 315902009-03-07 Bean <bean123ch@gmail.com>
31591
31592 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
31593 allocation.
31594
b362c9e9 315952009-03-06 Robert Millan <rmh@aybabtu.com>
31596
31597 Fix display issue on terminals with screen size other than 80x25
31598 (e.g. gfxterm with resolution higher than 640x480).
31599
31600 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 31601 position relative to the center of the terminal instead of relying
b362c9e9 31602 on a hardcoded offset.
31603
9304eef1 316042009-03-04 Robert Millan <rmh@aybabtu.com>
31605
31606 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
31607 installed.
31608
31609 * Makefile.in (host_kernel): New variable.
31610 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
31611 scripts instead of just the windows one.
31612 * configure.ac: Initialize and AC_SUBST `host_kernel'.
31613
eabc95fb 316142009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 31615
31616 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
31617 `kern/handler.c'.
31618 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31619 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31620 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31621 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31622 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31623 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31624
ceb1223c 316252009-03-04 Felix Zielcke <fzielcke@z-51.de>
31626
31627 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
31628 or if there's no space for the disk label and print the partition number on a
31629 invalid magic.
31630
4910684a 316312009-03-04 Felix Zielcke <fzielcke@z-51.de>
31632
31633 * util/misc.c: Include <time.h>.
31634 (grub_millisleep): New function.
31635
7e9ca17a 316362009-03-04 Bean <bean123ch@gmail.com>
31637
31638 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
31639 another option -mno-red-zone.
31640
31641 * commands/handler.c: Change module description.
31642
31643 * kern/handler.c: Add missing space at the end of description line.
31644
31645 * kern/list.c: Likewise.
31646
f501677c 316472009-03-03 Robert Millan <rmh@aybabtu.com>
31648
31649 Move more components to the relocation area, and fix mbi pointer
31650 handling to use the destination rather than the origin (thanks to
31651 Vladimir Serbinenko for spotting).
31652
31653 * loader/i386/multiboot.c (mbi_dest): New variable.
31654 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
31655 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
31656 relocation area.
31657
9902d047 316582009-03-01 Bean <bean123ch@gmail.com>
31659
50fb7002 31660 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 31661 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
31662 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
31663 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
31664
31665 * loader/i386/efi/linux.c (acpi_guid): New variable.
31666 (acpi_guid): Likewise.
31667 (EBDA_SEG_ADDR): New constant.
31668 (LOW_MEM_ADDR): Likewise.
31669 (FAKE_EBDA_SEG): Likewise.
31670 (fake_bios_data): New function.
31671 (grub_linux_boot): Call fake_bios_data.
31672
71b9f361 316732009-03-01 Bean <bean123ch@gmail.com>
31674
31675 * commands/terminal.c: Removed.
31676
31677 * commands/handler.c: New file.
31678
31679 * include/grub/list.h: Likewise.
31680
31681 * include/grub/handler.h: Likewise.
31682
31683 * kern/list.c: Likewise.
31684
31685 * kern/handler.c: Likewise.
31686
31687 * kern/term.h: Include header file <grub/handler.h>.
31688 (grub_term_input): Move next field to the beginning.
31689 (grub_term_output): Likewise.
31690 (grub_term_input_class): New variable.
31691 (grub_term_output_class): Likewise.
31692 (grub_term_register_input): Changed to inline function.
31693 (grub_term_register_output): Likewise.
31694 (grub_term_unregister_input): Likewise.
31695 (grub_term_unregister_output): Likewise.
31696 (grub_term_set_current_input): Likewise.
31697 (grub_term_set_current_output): Likewise.
31698 (grub_term_get_current_input): Likewise.
31699 (grub_term_get_current_output): Likewise.
31700 (grub_term_iterate_input): Removed.
31701 (grub_term_iterate_output): Likewise.
31702
31703 * kern/term.c (grub_term_list_input): Removed.
31704 (grub_term_list_output): Likewise.
31705 (grub_term_input_class): New variable.
31706 (grub_term_output_class): Likewise.
50fb7002 31707 (grub_cur_term_input): Change variable as macro.
71b9f361 31708 (grub_cur_term_output): Likewise.
31709 (grub_term_register_input): Removed.
31710 (grub_term_register_output): Likewise.
31711 (grub_term_unregister_input): Likewise.
31712 (grub_term_unregister_output): Likewise.
31713 (grub_term_set_current_input): Likewise.
31714 (grub_term_set_current_output): Likewise.
31715 (grub_term_iterate_input): Likewise.
31716 (grub_term_iterate_output): Likewise.
31717 (grub_term_get_current_input): Likewise.
31718 (grub_term_get_current_output): Likewise.
31719
31720 * util/grub-editenv.c: Include header file <grub/handler.h>.
31721 (grub_term_get_current_input): Removed.
31722 (grub_term_get_current_output): Likewise.
31723 (grub_term_input_class): New variable.
50fb7002 31724 (grub_term_output_class): Likewise.
71b9f361 31725
31726 * util/grub-fstest.c (grub_term_get_current_input): Removed.
31727 (grub_term_get_current_output): Likewise.
31728 (grub_term_input_class): New variable.
50fb7002 31729 (grub_term_output_class): Likewise.
71b9f361 31730
31731 * util/grub-probe.c (grub_term_get_current_input): Removed.
31732 (grub_term_get_current_output): Likewise.
31733 (grub_term_input_class): New variable.
50fb7002 31734 (grub_term_output_class): Likewise.
71b9f361 31735
31736 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
31737 (grub_term_get_current_output): Likewise.
31738 (grub_term_input_class): New variable.
50fb7002 31739 (grub_term_output_class): Likewise.
71b9f361 31740
31741 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
31742 (terminal_mod_SOURCES): Likewise.
31743 (terminal_mod_CFLAGS): Likewise.
31744 (terminal_mod_LDFLAGS): Likewise.
31745
31746 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
31747 handler.c.
31748 (kernel_img_SOURCES): Add list.c and handler.c.
31749 (kernel_img_HEADERS): Add list.h and handler.h.
31750
31751 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
31752 handler.c.
31753 (kernel_mod_SOURCES): Add list.c and handler.c.
31754 (kernel_mod_HEADERS): Add list.h and handler.h.
31755
31756 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
31757 handler.c.
31758 (kernel_elf_SOURCES): Add list.c and handler.c.
31759 (kernel_elf_HEADERS): Add list.h and handler.h.
31760
31761 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
31762 handler.c.
31763 (kernel_elf_SOURCES): Add list.c and handler.c.
31764 (kernel_elf_HEADERS): Add list.h and handler.h.
31765
31766 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
31767 handler.c.
31768 (kernel_mod_SOURCES): Add list.c and handler.c.
31769 (kernel_mod_HEADERS): Add list.h and handler.h.
31770
31771 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
31772 handler.c.
31773 (kernel_elf_SOURCES): Add list.c and handler.c.
31774 (kernel_elf_HEADERS): Add list.h and handler.h.
31775
8a31787f 317762009-02-27 Robert Millan <rmh@aybabtu.com>
31777
31778 Factorize elf32 / elf64 code in Multiboot loader. This will
31779 prevent it from getting out of sync again.
31780
31781 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
31782 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
31783 grub_multiboot_load_elf64): Move from here ...
31784 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
31785 grub_multiboot_load_elf): ... to here (new file).
31786
51cd3dfc 317872009-02-27 Robert Millan <rmh@aybabtu.com>
31788
31789 * util/grub.d/10_linux.in: Rename "single-user mode" to
31790 "recovery mode".
31791
6e8c9c3a 317922009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
31793
31794 Don't leak in SCSI code.
31795 * disk/scsi.c (grub_scsi_close): free `scsi'.
31796
4b6bf4f9 317972009-02-27 Robert Millan <rmh@aybabtu.com>
31798
31799 * loader/i386/pc/multiboot.c: Move from here ...
31800 * loader/i386/multiboot.c: ... to here. Update all users.
31801
b9413424 318022009-02-27 Robert Millan <rmh@aybabtu.com>
31803
31804 Patch from Alexandre Bique <bique.alexandre@gmail.com>
31805 * util/i386/pc/grub-setup.c (setup): Fix directory path.
31806
50fb7002 318072009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 31808
31809 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
31810 b-tree.
31811
8cc50345 318122009-02-27 Robert Millan <rmh@aybabtu.com>
31813
31814 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
31815 `0x' qualifier as 0 when base is specified as parameter).
31816
6e09b8b7 318172009-02-24 Bean <bean123ch@gmail.com>
31818
31819 * configure.ac: Check for -mcmodel=large in x86_64 target.
31820
31821 * include/grub/efi/api.h (efi_call_10): New macro.
31822 (efi_wrap_10): New function.
31823
31824 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
31825 (GRUB_PE32_REL_BASED_HIGH): Likewise.
31826 (GRUB_PE32_REL_BASED_LOW): Likewise.
31827 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
31828 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
31829 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
31830 (GRUB_PE32_REL_BASED_SECTION): Likewise.
31831 (GRUB_PE32_REL_BASED_REL): Likewise.
31832 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
31833 (GRUB_PE32_REL_BASED_DIR64): Likewise.
31834 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
31835
31836 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
31837 issue.
31838
31839 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
31840 (efi_wrap_10): New function.
31841
31842 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
31843
31844 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
31845 MB/MBP model (NV chipset).
31846 (devdata_devs): Add devpath_5 to the list.
31847
31848 * load/i386/efi/linux.c (video_base): Remove variable.
31849 (RGB_MASK): New macro.
31850 (RGB_MAGIC): Likewise.
31851 (LINE_MIN): Likewise.
31852 (LINE_MAX): Likewise.
31853 (FBTEST_STEP): Likewise.
31854 (FBTEST_COUNT): Likewise.
31855 (fb_list): New variable.
31856 (grub_find_video_card): Remove function.
31857 (find_framebuf): New function.
31858 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
31859 line length.
31860
31861 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
31862 problem for x86_64.
31863
74b21bee 318642009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
31865
31866 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
31867
31868 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
31869 coding tool name.
31870
a455f472 318712009-02-22 Robert Millan <rmh@aybabtu.com>
31872
31873 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
31874 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
31875 in our relocation, instead of using it directly from heap. Also
31876 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
31877
6374daf3 318782009-02-21 Robert Millan <rmh@aybabtu.com>
31879
31880 Implement USB keyboard support (based on patch by Marco Gerards)
31881
31882 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
31883 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
31884 (usb_keyboard_mod_LDFLAGS): New variables.
31885
31886 * term/usb_keyboard.c: New file.
31887
8fa4ea70 318882009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
31889
31890 Corrected wrong declaration
31891
31892 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
31893
353976ac 318942009-02-14 Christian Franke <franke@computer.org>
31895
31896 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
31897 (grub_lspci_iter): Print class code and programming interface byte.
31898
6aa1169b 318992009-02-14 Christian Franke <franke@computer.org>
31900
31901 * gendistlist.sh: Ignore `.svn' directories.
31902
265372ca 319032009-02-14 Felix Zielcke <fzielcke@z-51.de>
31904
31905 * fs/fat.c: Add 2009 to Copyright line.
31906
9ff516f3 319072009-02-14 Christian Franke <franke@computer.org>
31908
31909 * commands/hdparm.c: New file. Provides `hdparm' command
31910 which sends ATA commands via grub_disk_ata_pass_through ().
31911
31912 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
31913
31914 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
31915 and <grub/cpu/io.h> to include/grub/ata.h.
31916 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
31917 (GRUB_CDROM_SECTOR_SIZE): Remove.
31918 (GRUB_ATA_*): Move to include/grub/ata.h.
31919 (GRUB_ATAPI_*): Likewise.
31920 (enum grub_ata_commands): Likewise.
31921 (enum grub_ata_timeout_milliseconds): Likewise.
31922 (struct grub_ata_device): Likewise.
31923 (grub_ata_regset): Likewise.
31924 (grub_ata_regget): Likewise.
31925 (grub_ata_regset2): Likewise.
31926 (grub_ata_regget2): Likewise.
31927 (grub_ata_check_ready): Likewise.
31928 (grub_ata_wait_not_busy): Remove static, exported in
31929 include/grub/ata.h.
31930 (grub_ata_wait_drq): Likewise.
31931 (grub_ata_pio_read): Likewise.
31932
31933 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
31934 function for hdparm.mod.
31935
31936 * include/grub/ata.h: New file, contains declarations from
31937 disk/ata.c.
31938 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
31939
31940 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
31941 (grub_disk_ata_pass_through): New exported variable.
31942
31943 * kern/disk.c (grub_disk_ata_pass_through): New variable.
31944
772e23da 319452009-02-13 Colin D Bennett <colin@gibibit.com>
31946
31947 Support multiple fallback entries, and provide an API to support
31948 executing default+fallback menu entries. Renamed the `terminal' menu
31949 viewer to `text'.
31950
31951 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
31952 variable declaration.
31953 (grub_menu_execute_callback): New structure declaration.
31954 (grub_menu_execute_callback_t): New typedef.
31955 (grub_menu_execute_with_fallback): New function declaration.
31956 (grub_menu_get_entry): Likewise.
31957 (grub_menu_get_timeout): Likewise.
31958 (grub_menu_set_timeout): Likewise.
31959
31960 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
31961
31962 * normal/menu.c (grub_wait_after_message): Moved to
31963 `normal/menu_text.c'.
31964 (draw_border): Likewise.
31965 (print_message): Likewise.
31966 (print_entry): Likewise.
31967 (print_entries): Likewise.
31968 (grub_menu_init_page): Likewise.
31969 (get_entry_number): Likewise.
31970 (print_timeout): Likewise.
31971 (run_menu): Likewise.
31972 (grub_menu_execute_entry): Likewise.
31973 (show_text_menu): Likewise.
31974 (get_and_remove_first_entry_number): New function.
31975 (grub_menu_execute_with_fallback): Likewise.
31976 (get_entry): Renamed to ...
31977 (grub_menu_get_entry): .. this and made it global.
31978 (get_timeout): Renamed to ...
31979 (grub_menu_get_timeout): ... this and made it global.
31980 (set_timeout): Renamed to ...
31981 (grub_menu_set_timeout): ... this and made it global.
31982 (grub_normal_terminal_menu_viewer): Renamed to ...
31983 (grub_normal_text_menu_viewer): ... this.
31984
31985 * normal/menu_text.c: New file. Extracted text-menu-specific code
31986 from normal/menu.c.
31987
31988 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
31989 (normal_mod_SOURCES): Likewise.
31990
31991 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31992 (normal_mod_SOURCES): Likewise.
31993
31994 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31995 (normal_mod_SOURCES): Likewise.
31996
31997 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
31998 (normal_mod_SOURCES): Likewise.
31999
32000 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32001 (normal_mod_SOURCES): Likewise.
32002
32003 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32004 (normal_mod_SOURCES): Likewise.
32005
32006 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32007 (normal_mod_SOURCES): Likewise.
32008
16ac430e 320092009-02-11 Robert Millan <rmh@aybabtu.com>
32010
32011 * util/grub.d/00_header.in: Update old reference to `font' command.
32012
06ff20fc 320132009-02-10 Felix Zielcke <fzielcke@z-51.de>
32014
32015 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
32016
32017 Based on patch from Javier Martín.
32018
96da9407 320192009-02-09 Felix Zielcke <fzielcke@z-51.de>
32020
32021 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 32022 to avoid false positives with FAT.
96da9407 32023 (grub_fstest_SOURCES): Likewise.
32024 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32025 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32026 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32027 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32028 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32029 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32030
6dca6fe4 320312009-02-09 Felix Zielcke <fzielcke@z-51.de>
32032
06ff20fc 32033 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 32034 bpb.version_specific.fat12_or_fat16.fstype and
32035 bpb.version_specific.fat32.fstype.
32036
2550c62f 320372009-02-08 Robert Millan <rmh@aybabtu.com>
32038
be110b30 32039 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 32040
56978920 320412009-02-08 Robert Millan <rmh@aybabtu.com>
32042
32043 * Makefile.in (host_os, host_cpu): New variables.
32044 (target_os): Remove. Update all users.
32045
d64399b5 320462009-02-08 Marco Gerards <marco@gnu.org>
32047
32048 * Makefile.in (enable_grub_emu_usb): New variable.
32049 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
32050 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
32051 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
32052 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
32053 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
32054 `usbtest.mod' and `usbms.mod'.
32055 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
32056 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
32057 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
32058 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
32059 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
32060 variables.
32061
32062 * disk/usbms.c: New file.
32063
32064 * include/grub/usb.h: Likewise.
32065
32066 * include/grub/usbtrans.h: Likewise.
32067
32068 * include/grub/usbdesc.h: Likewise.
32069
32070 * bus/usb/usbtrans.c: Likewise.
32071
32072 * bus/usb/ohci.c: Likewise.
32073
32074 * bus/usb/uhci.c: Likewise.
32075
32076 * bus/usb/usbhub.c: Likewise.
32077
32078 * bus/usb/usb.c: Likewise.
32079
32080 * commands/usbtest.c: Likewise.
32081
32082 * util/usb.c: Likewise.
50fb7002 32083
d64399b5 32084 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
32085
32086 * configure.ac: Test for libusb presence.
50fb7002 32087
d64399b5 32088 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
32089
2b40d6bb 320902009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
32091
32092 * kern/mm.c: Add more comments.
32093
73a4ce81 320942009-02-08 Robert Millan <rmh@aybabtu.com>
32095
32096 Patch from Javier Martín.
32097 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
32098 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
32099
f821ce59 321002009-02-08 Robert Millan <rmh@aybabtu.com>
32101
32102 * fs/cpio.c: Split tar functionality to ...
32103 * fs/tar.c: ... here (new file). Update all users.
32104
aebfc4b0 321052009-02-07 Robert Millan <rmh@aybabtu.com>
32106
32107 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
32108 backward-incompatible features.
32109
32110 Based on patch from Javier Martín, with some adjustments.
32111
50fb7002 321122009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 32113
32114 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
32115
0bb5115e 321162009-02-07 Robert Millan <rmh@aybabtu.com>
32117
32118 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
32119 position of `disk/lvm.c' to ensure grub_init_all() always picks it
32120 after the RAID stuff.
32121
38a0f8e7 321222009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
32123
50fb7002 32124 Fixes problem when running vbetest command as reported by
38a0f8e7 32125 Vladimir Serbinenko <phcoder@gmail.com>.
32126
32127 * (grub_vbe_set_video_mode): Fixed problem with text modes.
32128
3143cc1c 321292009-02-04 Felix Zielcke <fzielcke@z-51.de>
32130
32131 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
32132 /dev/md/NpN style mdraid devices.
32133
9cba6fce 321342009-02-03 Felix Zielcke <fzielcke@z-51.de>
32135
32136 * util/unifont2pff.rb: Remove.
32137
e507a2c1 321382009-02-03 Felix Zielcke <fzielcke@z-51.de>
32139
32140 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
32141 `#'.
32142
d2c2b4cd 321432009-02-03 Felix Zielcke <fzielcke@z-51.de>
32144
32145 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
32146 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32147 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32148 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32149 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32150 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32151 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32152
b4315fb0 321532009-02-02 Christian Franke <franke@computer.org>
32154
32155 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
32156
de3aa260 321572009-02-01 Felix Zielcke <fzielcke@z-51.de>
32158
7c3ff286 32159 * INSTALL: Note that we now require at least autoconf 2.59 and
32160 that LZO is optional.
de3aa260 32161
825a182b 321622009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
32163
32164 Base on patch on bug #24154 created by Tomas Tintera
32165 <trosos@seznam.cz>.
32166
32167 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
32168
a69ef770 321692009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
32170
7c3ff286 32171 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 32172 <bero@arklinux.org>.
32173
32174 * normal/parser.y (script_init): Add missing semicolon.
32175
6fa42fa6 321762009-01-31 Colin D Bennett <colin@gibibit.com>
32177
7c3ff286 32178 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 32179 (free_menu_entry_classes): Added.
32180 (grub_normal_menu_addentry): Added class property handling.
32181 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
32182 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
32183
32184 * normal/menu_viewer.c: New file.
32185
32186 * normal/menu.c (run_menu_entry): Renamed to ...
32187 (grub_menu_execute_entry): ... this and made it as global.
32188 (grub_menu_run): Renamed to ...
32189 (show_text_menu): ... this and made it local.
32190 (show_text_menu): Adapt to new function names.
32191 (grub_normal_terminal_menu_viewer): New global variable.
32192
32193 * include/grub/menu.h: New file.
32194
32195 * include/grub/menu_viewer.h: New file.
32196
32197 * include/grub/normal.h: Added include to grub/menu.h.
32198 (grub_menu_entry): Moved to include/grub/menu.h.
32199 (grub_menu_entry_t): Likewise.
32200 (grub_menu): Likewise.
32201 (grub_menu_t): Likewise.
32202 (grub_normal_terminal_menu_viewer): Added.
32203 (grub_menu_execute_entry): Likewise.
32204 (grub_menu_run): Removed.
32205
32206 * DISTLIST: Added include/grub/menu.h.
32207 Added include/grub/menu_viewer.h.
32208 Added normal/menu_viewer.c.
32209
322102009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
32211
32212 * normal/execute.c (grub_script_execute_menuentry): Changed to use
32213 arglist for menutitle arguments.
32214
32215 * normal/main.c (grub_normal_menu_addentry): Likewise.
32216
32217 * normal/parser.y (menuentry): Likewise.
32218
32219 * normal/script.c (grub_script_create_cmdmenu): Likewise.
32220
32221 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
32222 (grub_script_create_cmdmenu): Likewise.
32223
32224 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
32225
32226 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
32227 changes.
32228
32229 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
32230
32231 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
32232
32233 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
32234
32235 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32236
32237 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32238
32239 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32240
56192c23 322412009-01-30 Christian Franke <franke@computer.org>
32242
32243 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
32244 in option help text.
32245
d72521b3 322462009-01-27 Pavel Roskin <proski@gnu.org>
32247
32248 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
32249
994b5e84 322502009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
32251
32252 * commands/lsmmap.c: Add include to grub/machine/memory.h.
32253
32254 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
32255
32256 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
32257 unregister function.
32258
6a7eab2c 322592009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
32260
32261 * disk/scsi.c (grub_scsi_read): Fix sign problem.
32262
32263 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
32264
32265 * util/grub-mkfont.c (usage): Fix typo.
32266
32267 * util/elf/grub-mkimage.c (load_modules): Fix warning.
32268
1806b56e 322692009-01-26 Daniel Mierswa <impulze@impulze.org>
32270
3fb18f09 32271 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
32272
336e1fb9 32273 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
32274
1806b56e 32275 * kern/misc.c (grub_strcasecmp): New function.
32276 (grub_strcasecmp): Use grub_size_t instead of int for length.
32277 Fix return value.
32278 * include/grub/misc.h: Update function prototypes.
32279
580b2a0f 322802009-01-26 Robert Millan <rmh@aybabtu.com>
32281
32282 * configure.ac: Fix cross-compilation check.
ef257b36 32283
d31c24f1 322842009-01-22 Christian Franke <franke@computer.org>
32285
32286 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
32287 (precision) digit string. Allow `.format2' without `format1' (width).
32288 Limit input chars for `%s' output to `format2' if specified. This is
32289 compatible with standard printf ().
32290
3138b44c 322912009-01-22 Christian Franke <franke@computer.org>
32292
32293 * disk/ata.c (grub_ata_wait_status): Replace by ...
32294 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
32295 other status bits may be invalid while BSY is asserted.
32296 (grub_ata_check_ready): New function.
32297 (grub_ata_cmd): Removed.
32298 (grub_ata_wait_drq): New function.
32299 (grub_ata_strncpy): Remove inline.
32300 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
32301 and error check now done by grub_ata_wait_drq ().
32302 (grub_ata_pio_write): Likewise.
32303 (grub_atapi_identify): Set DEV before check for !BSY. Use
32304 grub_ata_wait_drq () to wait for data.
32305 (grub_ata_device_initialize): Add status register check to
32306 detect missing SATA slave devices. Add debug messages.
32307 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
32308 (grub_atapi_packet): Set DEV before check for !BSY. Replace
32309 transfer loop by grub_ata_pio_write ().
32310 (grub_ata_identify): Set DEV before check for !BSY. Use
32311 grub_ata_wait_drq () to wait for data.
ef257b36 32312 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 32313 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
32314 read/write in one loop. Fix invalid command on write. Fix incomplete
32315 command on (size % batch) == 0. Add missing error check after write of
32316 last block. Add debug messages.
32317 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
32318
59a64ef6 323192009-01-19 Christian Franke <franke@computer.org>
32320
32321 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
32322 (GRUB_ATAPI_IREASON_*): Likewise.
32323 (grub_ata_pio_write): Fix timeout error return.
32324 (grub_atapi_identify): Add grub_ata_wait () after cmd.
32325 (grub_atapi_wait_drq): New function.
32326 (grub_atapi_packet): New parameter `size'.
32327 Use grub_atapi_wait_drq () and direct write instead of
32328 grub_ata_pio_write ().
32329 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
32330 reads the number of bytes requested by the device for each DRQ
32331 assertion.
32332 (grub_atapi_write): Remove old implementation, return not
32333 implemented instead.
32334
1cfe20b3 323352009-01-19 Christian Franke <franke@computer.org>
32336
32337 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
32338 of 512 to calculate data size.
32339 (grub_scsi_read12): Likewise.
32340 (grub_scsi_write10): Likewise.
32341 (grub_scsi_write12): Likewise.
32342 (grub_scsi_read): Adjust size according to blocksize.
32343 Add checks for invalid blocksize and unaligned transfer.
32344
bee5fe5d 323452009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
32346
32347 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
32348
ef257b36 32349 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 32350 width glyphs.
32351
3e643f8c 323522009-01-19 Robert Millan <rmh@aybabtu.com>
32353
32354 * config.guess: Update to latest version from config git.
32355 * config.sub: Likewise.
32356
4fa80998 323572009-01-17 Felix Zielcke <fzielcke@z-51.de>
32358
32359 * Makefile.in: Change font compilation to use new grub-mkfont instead
32360 of java version.
32361
32362 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
32363 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
32364 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
32365 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
32366 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
32367 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
32368 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
32369 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
32370 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
32371
7086085b 323722009-01-16 Christian Franke <franke@computer.org>
32373
32374 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
32375 (enum grub_ata_timeout_milliseconds): New enum.
32376 (grub_ata_wait_status): Add parameter milliseconds.
32377 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
32378 recovery from timed-out commands.
32379 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
32380 return grub_errno instead of REG_ERROR.
32381 (grub_ata_pio_write): Add parameter milliseconds.
32382 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
32383 Pass milliseconds to grub_ata_wait_status () and
32384 grub_ata_pio_read ().
32385 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
32386 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
32387 grub_ata_wait_status (). Fix IDENTIFY timeout check.
32388 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
32389 It is not suitable for device detection, because DEV bit is ignored,
32390 the command may run too long, and not all devices set the signature
32391 properly.
32392 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
32393 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
32394 Fix device selection, DEV bit must be set first to address the registers
32395 of the correct device.
32396 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
32397 grub_ata_pio_read/write ().
32398 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
32399 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
32400
4a412913 324012009-01-13 Carles Pina i Estany <carles@pina.cat>
32402
32403 * util/grub-editenv.c (main): Use fseeko(), not fseek().
32404
7795c55e 324052009-01-13 Bean <bean123ch@gmail.com>
d913988c 32406
32407 * util/grub-mkfont.c (write_font): forget to remove some debug code.
32408
7795c55e 324092009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 32410
32411 * Makefile.in: (enable_grub_mkfont): New variable.
32412 (freetype_cflags): Likewise.
32413 (freetype_libs): Likewise.
32414
32415 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
32416 (grub_mkfont_SOURCES): New variable.
32417 (grub_mkfont_CFLAGS): Likewise.
32418 (grub_mkfont_LDFLAGS): Likewise.
32419
32420 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
32421 library if `--enable-grub-mkfont' is requested.
32422 (enable_grub_mkfont): New variable.
32423 (freetype_cflags): Likewise.
32424 (freetype_libs): Likewise.
32425
32426 * util/grub-mkfont.c: New file.
32427
093af1fe 324282009-01-12 Christian Franke <franke@computer.org>
32429
32430 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
32431 mode check. Fix setting of compat_use[].
32432
f36cc108 324332009-01-10 Robert Millan <rmh@aybabtu.com>
32434
32435 Update a few copyright years which we forgot to do in 2008 (only for
32436 files whose changes made in 2008 were copyright-significant)
32437
32438 * Makefile.in: Add 2008 to Copyright line.
32439 * disk/ieee1275/ofdisk.c: Likewise.
32440 * disk/efi/efidisk.c: Likewise.
32441 * kern/dl.c: Likewise.
32442 * kern/sparc64/ieee1275/init.c: Likewise.
32443 * kern/mm.c: Likewise.
32444 * kern/efi/mm.c: Likewise.
32445 * boot/i386/pc/boot.S: Likewise.
32446 * genfslist.sh: Likewise.
32447 * fs/iso9660.c: Likewise.
32448 * fs/hfs.c: Likewise.
32449 * fs/jfs.c: Likewise.
32450 * fs/minix.c: Likewise.
32451 * fs/ufs.c: Likewise.
32452 * gensymlist.sh.in: Likewise.
32453 * genkernsyms.sh.in: Likewise.
32454 * include/grub/misc.h: Likewise.
32455 * include/grub/types.h: Likewise.
32456 * include/grub/symbol.h: Likewise.
32457 * include/grub/elf.h: Likewise.
32458 * include/grub/kernel.h: Likewise.
32459 * include/grub/disk.h: Likewise.
32460 * include/grub/dl.h: Likewise.
32461 * include/grub/i386/linux.h: Likewise.
32462 * include/grub/i386/pc/biosdisk.h: Likewise.
32463 * include/grub/efi/api.h: Likewise.
32464 * include/grub/efi/pe32.h: Likewise.
32465 * include/grub/util/misc.h: Likewise.
32466 * normal/execute.c: Likewise.
32467 * normal/arg.c: Likewise.
32468 * normal/completion.c: Likewise.
32469 * normal/lexer.c: Likewise.
32470 * normal/parser.y: Likewise.
32471 * normal/misc.c: Likewise.
32472 * commands/i386/pc/vbeinfo.c: Likewise.
32473 * commands/hexdump.c: Likewise.
32474 * commands/terminal.c: Likewise.
32475 * commands/ls.c: Likewise.
32476 * commands/help.c: Likewise.
32477 * partmap/pc.c: Likewise.
32478 * loader/efi/chainloader.c: Likewise.
32479 * loader/multiboot_loader.c: Likewise.
32480 * loader/i386/pc/multiboot2.c: Likewise.
32481 * term/efi/console.c: Likewise.
32482 * term/i386/pc/serial.c: Likewise.
32483 * util/lvm.c: Likewise.
32484 * util/console.c: Likewise.
32485 * util/i386/efi/grub-mkimage.c: Likewise.
32486 * util/raid.c: Likewise.
32487
7f02114b 324882009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
32489
32490 * commands/videotest.c: Removed include to grub/machine/memory.h.
32491
32492 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
32493 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
32494 (video_mod_SOURCES): Removed.
32495 (video_mod_CFLAGS): Likewise.
32496 (video_mod_LDFLAGS): Likewise.
32497 (gfxterm_mod_SOURCES): Likewise.
32498 (gfxterm_mod_CFLAGS): Likewise.
32499 (gfxterm_mod_LDFLAGS): Likewise.
32500 (videotest_mod_SOURCES): Likewise.
32501 (videotest_mod_CFLAGS): Likewise.
32502 (videotest_mod_LDFLAGS): Likewise.
32503 (bitmap_mod_SOURCES): Likewise.
32504 (bitmap_mod_CFLAGS): Likewise.
32505 (bitmap_mod_LDFLAGS): Likewise.
32506 (tga_mod_SOURCES): Likewise.
32507 (tga_mod_CFLAGS): Likewise.
32508 (tga_mod_LDFLAGS): Likewise.
32509 (jpeg_mod_SOURCES): Likewise.
32510 (jpeg_mod_CFLAGS): Likewise.
32511 (jpeg_mod_LDFLAGS): Likewise.
32512 (png_mod_SOURCES): Likewise.
32513 (png_mod_CFLAGS): Likewise.
32514 (png_mod_LDFLAGS): Likewise.
32515
32516 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
32517 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
32518 (video_mod_SOURCES): Added.
32519 (video_mod_CFLAGS): Likewise.
32520 (video_mod_LDFLAGS): Likewise.
32521 (videotest_mod_SOURCES): Likewise.
32522 (videotest_mod_CFLAGS): Likewise.
32523 (videotest_mod_LDFLAGS): Likewise.
32524 (bitmap_mod_SOURCES): Likewise.
32525 (bitmap_mod_CFLAGS): Likewise.
32526 (bitmap_mod_LDFLAGS): Likewise.
32527 (tga_mod_SOURCES): Likewise.
32528 (tga_mod_CFLAGS): Likewise.
32529 (tga_mod_LDFLAGS): Likewise.
32530 (jpeg_mod_SOURCES): Likewise.
32531 (jpeg_mod_CFLAGS): Likewise.
32532 (jpeg_mod_LDFLAGS): Likewise.
32533 (png_mod_SOURCES): Likewise.
32534 (png_mod_CFLAGS): Likewise.
32535 (png_mod_LDFLAGS): Likewise.
32536 (gfxterm_mod_SOURCES): Likewise.
32537 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 32538 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 32539
32540 * term/gfxterm.c: Removed include to grub/machine/memory.h,
32541 grub/machine/console.h.
32542
644fff97 325432009-01-04 Jerone Young <jerone@gmail.com>
32544
32545 Make on screen instructions clearer
32546
32547 Based on patch created by Jidanni <jidanni@jidanni.org>
32548
32549 * normal/menu.c: print clearer instructions on the screen
32550
1e901a75 325512009-01-02 Colin D Bennett <colin@gibibit.com>
32552
32553 New font engine.
34c44600 32554
1e901a75 32555 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
32556 build system and fixed gfxterm.c to work with different sized fonts.
32557
32558 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 32559
1e901a75 32560 * configure: Re-generated.
34c44600 32561
1e901a75 32562 * DISTLIST: Removed font/manager.c.
32563 Added font/font.c.
32564 Added font/font_cmd.c.
34c44600 32565
1e901a75 32566 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
32567 compilation.
34c44600 32568
1e901a75 32569 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 32570
32571 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 32572
32573 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 32574
1e901a75 32575 * normal/menu.c: Likewise.
34c44600 32576
1e901a75 32577 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
32578 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 32579
1e901a75 32580 * include/grub/font.h: Replaced with new file.
34c44600 32581
1e901a75 32582 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
32583 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
32584 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
32585 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
32586 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 32587 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 32588 fg_red, fg_green, fg_blue, fg_alpha.
32589 (grub_video_adapter): Removed blit_glyph.
34c44600 32590 (grub_video_blit_glyph): Removed.
32591
1e901a75 32592 * font/manager.c: Removed file.
34c44600 32593
32594 * font/font.c: New file.
32595
1e901a75 32596 * font/font_cmd.c: Likewise.
34c44600 32597
1e901a75 32598 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 32599
1e901a75 32600 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
32601 (grub_video_vbe_map_rgba): Likewise.
32602 (grub_video_vbe_unmap_color_int): Likewise.
32603 (grub_video_vbe_blit_glyph): Removed.
32604 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 32605
1e901a75 32606 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
32607 (get_pixel): Likewise.
34c44600 32608 (set_pixel): Likewise.
32609
1e901a75 32610 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 32611
1e901a75 32612 * term/gfxterm.c: Adapted to new font engine.
34c44600 32613
1e901a75 32614 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 32615
1e901a75 32616 * term/i386/pc/vga.c: Likewise.
34c44600 32617
1e901a75 32618 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 32619
1e901a75 32620 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 32621
1e901a75 32622 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 32623
1e901a75 32624 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 32625
1e901a75 32626 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 32627
1e901a75 32628 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 32629
1e901a75 32630 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 32631
1e901a75 32632 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 32633
1e901a75 32634 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
32635
32636 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 32637
1e901a75 32638 * util/grub-mkconfig_lib.in: Changed font extension.
32639
278922e8 326402008-12-28 Felix Zielcke <fzielcke@z-51.de>
32641
32642 * util/getroot.c (grub_util_get_grub_dev): Add support for
32643 /dev/md/dNNpNN style partitionable mdraid devices.
32644
3ced05cf 326452008-12-12 Alex Smith <alex@alex-smith.me.uk>
32646
32647 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
32648 at a time limit of the PXE TFTP API correctly.
32649 (grub_pxefs_close): Likewise.
32650
7fd0ee30 326512008-11-29 Robert Millan <rmh@aybabtu.com>
32652
34c44600 32653 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 32654 grub_ata_device_initialize() calls.
32655
34c44600 326562008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 32657
32658 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
32659 iteration failed.
32660 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
32661
89313780 326622008-11-28 Robert Millan <rmh@aybabtu.com>
32663
32664 Fix build on powerpc-ieee1275. Based on patch created by
32665 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
32666 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
32667 `kern/ieee1275/mmap.c'.
32668 * include/grub/powerpc/ieee1275/memory.h: New file.
32669
15257703 32670 Provide grub-install on coreboot.
32671 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
32672 (grub_install_SOURCES): New variable.
32673 * util/i386/pc/grub-install.in: Add a few condition checks to make it
32674 usable on coreboot.
32675
9fc5388a 326762008-11-25 Felix Zielcke <fzielcke@z-51.de>
32677
32678 * util/grub-fstest.c (grub_term_get_current_input): Change return type
32679 to `grub_term_input_t'.
32680 (grub_term_get_current_output): Change return type to
32681 `grub_term_output_t'.
32682
bc3a2f31 326832008-11-22 Robert Millan <rmh@aybabtu.com>
32684
34c44600 32685 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 32686 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
32687 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
32688 grub_vga_text_cls().
32689
80fc88f2 32690 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 32691 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 32692
cbf36fd3 32693 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
32694 to 0x200000 (avoids trouble with some OFW implementations, and matches
32695 with the one in Yaboot).
32696 Reported by Manoel Abranches
32697
73e8e268 326982008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 32699
32700 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
32701 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
32702
73e8e268 32703 * util/grub-mkconfig_lib.in (grub_warn): New function.
32704 (convert_system_path_to_grub_path): Use grub_warn() when issuing
32705 warnings, to obtain consistent formatting.
32706 * util/grub.d/00_header.in: Likewise.
32707 * util/update-grub_lib.in: Likewise.
32708
e94045a1 32709 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 32710 Move comment text to `#error' stanza.
e94045a1 32711
79d29fd7 32712 Harmonize ieee1275's grub_available_iterate() with the generic
32713 grub_machine_mmap_iterate() interface (fixes a recently-introduced
32714 build problem on i386-ieee1275):
32715 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
32716 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
32717 parameter `type'. Update all users of this function.
32718 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
32719 `kern/ieee1275/mmap.c'.
32720 * kern/ieee1275/init.c
32721 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
32722 with ...
32723 (grub_machine_mmap_iterate): ... this.
32724 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
32725 return type to `grub_err_t'. Update all implementations of this
32726 function prototype.
32727 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
32728 Likewise.
32729
60d6b16e 32730 Add `lsmmap' command (lists firmware-provided memory map):
32731 * commands/lsmmap.c: New file.
32732 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
32733 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
32734 variables.
32735 * conf/powerpc-ieee1275.rmk: Likewise.
32736 * conf/i386-coreboot.rmk: Likewise.
32737 * conf/i386-ieee1275.rmk: Likewise.
32738
ebaaf49b 327392008-11-19 Robert Millan <rmh@aybabtu.com>
32740
32741 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 32742 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
32743 constraints to initrd allocation (based on code from
32744 loader/i386/pc/linux.c). Without them, initrd was allocated too high
32745 for Linux to find it.
ebaaf49b 32746
dfab719f 327472008-11-14 Robert Millan <rmh@aybabtu.com>
32748
32749 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
32750 order to cope with duplicate slashes.
32751
10fc3eb9 327522008-11-14 Robert Millan <rmh@aybabtu.com>
32753
32754 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
32755 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
32756 don't want to mess with lower memory, because it is used in the Linux
32757 loader.
32758
32759 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 32760 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 32761 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
32762 is in our heap (probably as a result of it being corrupted during
2f2a3442 32763 decompression). Add #error instance with comment to explain why this
32764 loader isn't currently usable on PC/BIOS.
10fc3eb9 32765
e2e07847 327662008-11-14 Robert Millan <rmh@aybabtu.com>
32767
32768 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 32769 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 32770
fe8e8d69 327712008-11-12 Robert Millan <rmh@aybabtu.com>
32772
32773 Make loader/i386/linux.c buildable on i386-pc (although disabled).
32774
32775 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
32776 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
32777 from here ...
32778 * include/grub/i386/pc/memory.h: ... to here.
32779
976b07d0 327802008-11-12 Robert Millan <rmh@aybabtu.com>
32781
32782 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
32783 split).
32784
32785 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
32786 (grub_console_cur_color, grub_console_real_putchar)
32787 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
32788 (grub_console_setcolorstate, grub_console_setcolor)
32789 (grub_console_getcolor): Move from here ...
32790 * include/grub/i386/vga_common.h: ... to here (new file).
32791
32792 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
32793 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
32794 `<grub/i386/io.h>'.
32795 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
32796 `<grub/i386/vga_common.h>'.
32797
76679cd3 327982008-11-12 Robert Millan <rmh@aybabtu.com>
32799
32800 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
32801 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
32802 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
32803 variables.
32804 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
32805 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
32806
32807 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
32808 grub_console_init() with call to grub_vga_text_init().
32809 (grub_machine_fini): Replace call to
32810 grub_console_fini() with call to grub_vga_text_fini() and
32811 grub_at_keyboard_fini().
32812
32813 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
32814 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
32815 (grub_console_setcolorstate, grub_console_setcolor)
32816 (grub_console_getcolor): New function prototypes.
32817
32818 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
32819 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
32820 (grub_vga_text_setcursor): Static-ize.
32821 (grub_vga_text_term): New structure.
32822 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
32823
32824 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
32825 (grub_console_cur_color, grub_console_standard_color)
32826 (grub_console_normal_color, grub_console_highlight_color)
32827 (map_char, grub_console_putchar, grub_console_getcharwidth)
32828 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
32829 (grub_console_getcolor): Move from here ...
32830 * term/i386/vga_common.c: ... to here (same function names).
32831
95b841d3 328322008-11-12 Robert Millan <rmh@aybabtu.com>
32833
32834 Use newly-added Multiboot support in coreboot.
32835
32836 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
32837 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
32838
32839 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
32840 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
32841 (codestart): Store the MBI in `startup_multiboot_info' when we're
32842 being loaded using Multiboot.
32843
32844 * kern/i386/coreboot/init.c (grub_machine_init): Move
32845 grub_at_keyboard_init() call to beginning of function (useful for
32846 debugging). Call grub_machine_mmap_init() before attempting to use
32847 grub_machine_mmap_iterate().
32848 (grub_lower_mem, grub_upper_mem): Move from here ...
32849 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
32850 here (new file).
32851
32852 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
32853 function prototype.
32854
761ca975 328552008-11-12 Robert Millan <rmh@aybabtu.com>
32856
32857 Fix a regression introduced by the at_keyboard.mod split. Because
32858 some terminals are default on some platforms and non-default on
32859 others, the first terminal being registered determines which is
32860 going to be default.
32861
32862 * kern/term.c (grub_term_register_input): If this is the first
32863 terminal being registered, set it as the current one.
32864 (grub_term_register_output): Likewise.
32865
32866 * term/efi/console.c (grub_console_init): Do not call
32867 grub_term_set_current_output() or grub_term_set_current_input().
32868 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
32869 * term/i386/pc/console.c (grub_console_init): Likewise.
32870 (grub_console_fini): Do not call grub_term_set_current_input()
32871 (but leave grub_term_set_current_output() to restore text mode).
32872
6c529df7 328732008-11-10 Robert Millan <rmh@aybabtu.com>
32874
32875 * util/grub.d/00_header.in: Add backward compatibility check for
32876 versions of terminal.mod that don't understand `terminal_input' or
32877 `terminal_output'.
32878
132e4113 328792008-11-09 Robert Millan <rmh@aybabtu.com>
32880
32881 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
32882 `terminal_input' / `terminal_output', not `terminal'.
32883
ac293d50 328842008-11-08 Robert Millan <rmh@aybabtu.com>
32885
32886 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 32887 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 32888
0025933a 328892008-11-08 Robert Millan <rmh@aybabtu.com>
32890
32891 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 32892 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 32893 members. Update all users.
32894 * util/console.c (grub_ncurses_term): Split in ...
32895 (grub_ncurses_term_input): ... this, and ...
32896 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 32897 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 32898
37c86336 328992008-11-08 Robert Millan <rmh@aybabtu.com>
32900
32901 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
32902 (PKGDATA): Add $(pkgdata_SRCDIR).
32903 (pkglib_BUILDDIR): New variable.
32904 (pkgdata_SRCDIR): New variable.
32905 (build_env.mk): New target.
32906 (include_DATA): New variable.
32907 (install-local): Install $(include_DATA) files in $(includedir).
32908
b6c15a2d 329092008-11-07 Pavel Roskin <proski@gnu.org>
32910
d99d46f1 32911 * gendistlist.sh: Use C locale for sorting to ensure consistent
32912 output on all systems.
32913
b6c15a2d 32914 * util/grub.d/00_header.in: Remove incorrect space before
32915 "serial".
32916
c32ee8c9 329172008-11-07 Robert Millan <rmh@aybabtu.com>
32918
32919 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
32920 per specification.
32921 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
32922 * loader/multiboot_loader.c (find_multi_boot2_header): New function
32923 (based on find_multi_boot1_header).
32924 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
32925 using find_multi_boot2_header(), and abort if neither Multiboot or
32926 Multiboot headers were found.
32927
651c29b7 329282008-11-07 Robert Millan <rmh@aybabtu.com>
32929
32930 Modularize at_keyboard.mod:
32931
32932 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
32933 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
32934 (at_keyboard_mod_LDFLAGS): New variables.
32935
32936 Actual terminal split:
32937
32938 * include/grub/term.h (struct grub_term): Split in ...
32939 (struct grub_term_input): ... this, and ...
32940 (struct grub_term_output): ... this. Update all users.
32941 (grub_term_set_current): Split in ...
32942 (grub_term_set_current_input): ... this, and ...
32943 (grub_term_set_current_output): ... this.
32944 (grub_term_get_current): Split in ...
32945 (grub_term_get_current_input): ... this, and ...
32946 (grub_term_get_current_output): ... this.
32947 (grub_term_register): Split in ...
32948 (grub_term_register_input): ... this, and ...
32949 (grub_term_register_output): ... this.
32950 (grub_term_unregister): Split in ...
32951 (grub_term_unregister_input): ... this, and ...
32952 (grub_term_unregister_output): ... this.
32953 (grub_term_iterate): Split in ...
32954 (grub_term_iterate_input): ... this, and ...
32955 (grub_term_iterate_output): ... this.
32956
32957 * kern/term.c (grub_term_list): Split in ...
32958 (grub_term_list_input): ... this, and ...
32959 (grub_term_list_output): ... this. Update all users.
32960 (grub_cur_term): Split in ...
32961 (grub_cur_term_input): ... this, and ...
32962 (grub_cur_term_output): ... this. Update all users.
32963 (grub_term_set_current): Split in ...
32964 (grub_term_set_current_input): ... this, and ...
32965 (grub_term_set_current_output): ... this.
32966 (grub_term_get_current): Split in ...
32967 (grub_term_get_current_input): ... this, and ...
32968 (grub_term_get_current_output): ... this.
32969 (grub_term_register): Split in ...
32970 (grub_term_register_input): ... this, and ...
32971 (grub_term_register_output): ... this.
32972 (grub_term_unregister): Split in ...
32973 (grub_term_unregister_input): ... this, and ...
32974 (grub_term_unregister_output): ... this.
32975 (grub_term_iterate): Split in ...
32976 (grub_term_iterate_input): ... this, and ...
32977 (grub_term_iterate_output): ... this.
32978
32979 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
32980 a check for input and one for output (and only attempt to get keys
32981 from user when input works).
32982
32983 * util/grub-probe.c (grub_term_get_current): Split in ...
32984 (grub_term_get_current_input): ... this, and ...
32985 (grub_term_get_current_output): ... this.
32986 * util/grub-fstest.c: Likewise.
32987 * util/i386/pc/grub-setup.c: Likewise.
32988 * util/grub-editenv.c: Likewise.
32989
32990 Portability adjustments:
32991
32992 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
32993 `term/i386/pc/at_keyboard.c'.
32994 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
32995 grub_keyboard_controller_init() (now handled by terminal .init).
32996 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
32997 grub_at_keyboard_init().
32998 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
32999 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
33000 at_keyboard.mod via input terminal interface).
33001 * include/grub/i386/coreboot/console.h: Convert into a stub for
33002 `<grub/i386/pc/console.h>'.
33003
33004 Migrate full terminals to new API:
33005
33006 * term/efi/console.c (grub_console_term): Split into ...
33007 (grub_console_term_input): ... this, and ...
33008 (grub_console_term_output): ... this. Update all users.
33009 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
33010 (grub_ofconsole_init): Split into ...
33011 (grub_ofconsole_init_input): ... this, and ...
33012 (grub_ofconsole_init_output): ... this.
33013 (grub_ofconsole_term): Split into ...
33014 (grub_ofconsole_term_input): ... this, and ...
33015 (grub_ofconsole_term_output): ... this. Update all users.
33016 * term/i386/pc/serial.c (grub_serial_term): Split into ...
33017 (grub_serial_term_input): ... this, and ...
33018 (grub_serial_term_output): ... this. Update all users.
33019 * term/i386/pc/console.c (grub_console_term): Split into ...
33020 (grub_console_term_input): ... this, and ...
33021 (grub_console_term_output): ... this. Update all users.
33022 (grub_console_term_input): Only enable it on PC/BIOS platform.
33023 (grub_console_init): Remove grub_keyboard_controller_init() call.
33024
33025 Migrate input terminals to new API:
33026
33027 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
33028 `i386' and `i386/pc' to enable build on x86_64 (this driver is
33029 i386-specific anyway).
33030 (grub_console_checkkey): Rename to ...
33031 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
33032 users.
33033 (grub_keyboard_controller_orig): New variable.
33034 (grub_console_getkey): Rename to ...
33035 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
33036 users.
33037 (grub_keyboard_controller_init): Static-ize. Save original
33038 controller value so that it can be restored ...
33039 (grub_keyboard_controller_fini): ... here (new function).
33040 (grub_at_keyboard_term): New structure.
33041 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
33042 functions.
33043
33044 Migrate output terminals to new API:
33045
33046 * term/i386/pc/vga.c (grub_vga_term): Change type to
33047 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33048 members. Update all users.
33049 * term/gfxterm.c (grub_video_term): Change type to
33050 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33051 members. Update all users.
33052 * include/grub/i386/pc/console.h (grub_console_checkkey)
33053 (grub_console_getkey): Do not export (no longer needed by gfxterm,
33054 etc).
33055
33056 Migrate `terminal' command and userland tools to new API:
33057
33058 * commands/terminal.c (grub_cmd_terminal): Split into ...
33059 (grub_cmd_terminal_input): ... this, and ...
33060 (grub_cmd_terminal_output): ... this.
33061 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
33062 `terminal_input' and `terminal_output'.
33063 * util/grub.d/00_header.in: Adjust `terminal' calls to new
33064 `terminal_input' / `terminal_output' API.
33065 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
33066 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
33067 provided ${GRUB_TERMINAL}, convert it).
33068
96e5d876 330692008-11-04 Robert Millan <rmh@aybabtu.com>
33070
33071 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
33072 for FreeBSD.
33073 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
33074
556f3775 330752008-11-03 Bean <bean123ch@gmail.com>
33076
33077 * kern/elf.c (grub_elf32_load): Revert to previous code.
33078 (grub_elf64_load): Likewise.
33079
33080 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
33081
926b9823 330822008-11-01 Robert Millan <rmh@aybabtu.com>
33083
33084 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
33085 (TARGET_CPPFLAGS): Likewise.
33086 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
33087
1432e958 330882008-11-01 Carles Pina i Estany <carles@pina.cat>
33089
33090 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
33091
dba3f844 330922008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 33093
33094 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
33095 addition of objects until the code is not going to be able to fail.
33096
dba3f844 330972008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 33098
33099 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
33100 (add a missing NULL check, and correct them by moving the pointer
33101 operations after the actual check).
33102
7ab28c21 331032008-10-29 Robert Millan <rmh@aybabtu.com>
33104
33105 * util/i386/pc/grub-install.in: Handle empty string as output from
33106 make_system_path_relative_to_its_root().
33107
1b7748eb 331082008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
33109
33110 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
33111 circular metadata worst case scenario. If the metadata is circular
33112 then copy the wrap in place.
33113 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
33114 project lib/format_text/layout.h
33115 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
33116
c9618ab2 331172008-10-03 Felix Zielcke <fzielcke@z-51.de>
33118
7a36edca 33119 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 33120
bf981c62 331212008-10-03 Felix Zielcke <fzielcke@z-51.de>
33122
33123 * util/update-grub_lib.in: Mention filename in warning message.
33124
6d994591 331252008-09-29 Felix Zielcke <fzielcke@z-51.de>
33126
33127 * NEWS: Update for rename of update-grub to grub-mkconfig.
33128
18ade780 331292008-09-29 Felix Zielcke <fzielcke@z-51.de>
33130
33131 * util/update-grub_lib.in: Copy to ...
33132 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 33133 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 33134 * util/update-grub.in: Rename to ...
33135 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
33136 option. Add `--output' option to allow users to specify the generated
33137 configuration file. Default to stdout.
33138 (update_grub_dir): Rename to ...
33139 (grub_mkconfig_dir): ... this.
33140 (grub_cfg): Default to an empty string.
33141 * conf/common.rmk (update-grub): Rename to ...
33142 (grub-mkconfig): ... this.
33143 (update-grub_lib): Copy to ...
33144 (grub-mkconfig_lib): ... this.
33145 (update-grub_SCRIPTS): Copy to ...
33146 (grub-mkconfig_SCRIPTS): ... this. Update all users.
33147 (update-grub_DATA): Rename to ...
33148 (grub-mkconfig_DATA): ... this.
33149
556ce6ac 331502008-09-28 Robert Millan <rmh@aybabtu.com>
33151
33152 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
33153 to `modified'. Add the real `created' field.
33154 (grub_iso9660_uuid): Use `modified' rather than `created' for
33155 constructing the UUID.
33156
331572008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 33158
33159 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
33160 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
33161
92274e85 331622008-09-28 Bean <bean123ch@gmail.com>
33163
33164 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
33165 Thanks to Christian Franke for finding this bug.
33166
add6f17a 331672008-09-25 Robert Millan <rmh@aybabtu.com>
33168
33169 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
33170 instances of grub_util_get_disk_name() (see previous commit).
33171
d2a367b8 331722008-09-25 Robert Millan <rmh@aybabtu.com>
33173
33174 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
33175 `util/i386/get_disk_name.c'.
33176 * conf/i386-efi.rmk: Likewise.
33177 * conf/x86_64-efi.rmk: Likewise.
33178 * conf/i386-coreboot.rmk: Likewise.
33179 * conf/i386-ieee1275.rmk: Likewise.
33180 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
33181 `util/ieee1275/get_disk_name.c'.
33182 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
33183 * util/ieee1275/get_disk_name.c: Remove file.
33184 * util/i386/get_disk_name.c: Remove file.
33185 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
33186 "hd%d" for device.map entries, rather than using
33187 grub_util_get_disk_name().
33188
81a06771 331892008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 33190
33191 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
33192 warning.
33193 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
33194
5a004279 331952008-09-24 Carles Pina i Estany <carles@pina.cat>
33196
33197 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
33198 Changed to 0x5100.
33199 (GRUB_TERM_PPAGE): Changed to 0x4900.
33200
397093d3 332012008-09-24 Robert Millan <rmh@aybabtu.com>
33202
33203 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
33204 macros (they were i386-pc specific).
33205 * include/grub/sparc64/ieee1275/console.h: Likewise.
33206 * include/grub/efi/console.h: Likewise.
33207
a91b6c7c 332082008-09-22 Bean <bean123ch@gmail.com>
33209
33210 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
33211 resident and in attribute list.
33212
33213 * include/grub/ntfs.h (BMP_LEN): Removed.
33214
c40fd116 332152008-09-22 Bean <bean123ch@gmail.com>
33216
81a06771 33217 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 33218 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
33219
33220 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
33221 error occurs, as grub_disk_open will call grub_disk_close, which will
33222 call p->close (scsi).
33223
81a06771 332242008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 33225
33226 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
33227 (AC_PREREQ): Bumped to 2.59.
33228 (AC_TRY_COMPILE): Replace obsolete macro with ...
33229 (AC_COMPILE_IFELSE): ... this.
33230 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
33231 (AC_LINK_IFELSE): ... this.
33232
5dc43410 332332008-09-21 Felix Zielcke <fzielcke@z-51.de>
33234
33235 * autogen.sh: Add a call to `gendistlist.sh'.
33236
9035dce4 332372008-09-19 Christian Franke <franke@computer.org>
33238
33239 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
33240 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
33241 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
33242 Export __enable_execute_stack() to modules.
33243 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
33244 New function.
33245
7fd75377 332462008-09-09 Felix Zielcke <fzielcke@z-51.de>
33247
040030b3 33248 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
33249 Sort the list.
33250
332512008-09-09 Felix Zielcke <fzielcke@z-51.de>
33252
33253 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 33254 #include <grub/util/hostdisk.h>.
33255
89d5ffcf 332562008-09-08 Robert Millan <rmh@aybabtu.com>
33257
33258 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
33259 segments when their filesz is zero (grub_file_read() interprets
81a06771 33260 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 33261 Use `lowest_segment' rather than 0 for calculating the current
33262 segment load address.
33263
40da438f 332642008-09-08 Robert Millan <rmh@aybabtu.com>
33265
33266 * util/hostdisk.c (open_device): Replace a grub_util_info() call
33267 with grub_dprintf("hostdisk", ...), as it was so verbose that it
33268 clobbered useful information.
33269
ddbf5556 332702008-09-08 Robert Millan <rmh@aybabtu.com>
33271
33272 * include/grub/util/biosdisk.h: Move to ...
33273 * include/grub/util/hostdisk.h: ... here. Update all users.
33274 * util/biosdisk.c: Move to ...
33275 * util/hostdisk.c: ... here. Update all users.
33276
783d0f48 332772008-09-07 Robert Millan <rmh@aybabtu.com>
33278
33279 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
33280 variables.
33281 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
33282 and length can be stored directly in the `mbi->mmap_addr' and
33283 `mbi->mmap_length' struct fields.
33284
548e2ea5 332852008-09-07 Robert Millan <rmh@aybabtu.com>
33286
33287 * conf/i386.rmk: New file. Provides declaration for building
33288 `cpuid.mod'.
33289 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
33290 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
33291 variables.
33292 Include `conf/i386.mk'.
33293 * conf/i386-efi.rmk: Likewise.
33294 * conf/x86_64-efi.rmk: Likewise.
33295 * conf/i386-coreboot.rmk: Likewise.
33296 * conf/i386-ieee1275.rmk: Likewise.
33297
0ea85a37 332982008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
33299
33300 Based on patch created by Colin D Bennett <colin@gibibit.com>.
33301 Adds optimization support for BGR based modes.
33302
33303 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
33304 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
33305 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
33306 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
33307 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
33308 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
33309 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
33310 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
33311 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
33312 (grub_video_i386_vbeblit_index_index): Likewise.
33313 (grub_video_i386_vbeblit_replace_directN): Added.
33314 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
33315 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
33316 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
33317 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
33318 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
33319 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 33320 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 33321 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
33322 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
33323 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
33324 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
33325 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
33326 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
33327
33328 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
33329 (grub_video_i386_vbefill_R8G8B8): Likewise.
33330 (grub_video_i386_vbefill_index): Likewise.
33331 (grub_video_i386_vbefill_direct32): Added.
33332 (grub_video_i386_vbefill_direct24): Likewise.
33333 (grub_video_i386_vbefill_direct16): Likewise.
33334 (grub_video_i386_vbefill_direct8): Likewise.
33335
81a06771 33336 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 33337 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
33338 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
33339 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
33340 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
33341 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 33342
0ea85a37 33343 * video/video.c (grub_video_get_blit_format): Updated to use new
33344 blit formats. Added handling for 16 bit color modes.
81a06771 33345
33346 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 33347 fillers.
33348 (common_blitter): Updated to use new blitters.
33349
33350 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
33351 Removed.
33352 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
33353 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
33354 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
33355 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
33356 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
33357 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
33358 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
33359 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
33360 (grub_video_i386_vbeblit_index_index): Likewise.
33361 (grub_video_i386_vbeblit_replace_directN): Added.
33362 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
33363 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
33364 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
33365 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
33366 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
33367 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
33368 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
33369 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
33370 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
33371 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
33372 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
33373 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
33374 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 33375
0ea85a37 33376 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
33377 (grub_video_i386_vbefill_R8G8B8): Likewise.
33378 (grub_video_i386_vbefill_index): Likewise.
33379 (grub_video_i386_vbefill_direct32): Added.
33380 (grub_video_i386_vbefill_direct24): Likewise.
33381 (grub_video_i386_vbefill_direct16): Likewise.
33382 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 33383
0ea85a37 33384 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
33385 types.
81a06771 33386
0ea85a37 33387 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
33388 types.
81a06771 33389
0ea85a37 33390 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
33391 blitter types.
81a06771 33392
0ea85a37 33393 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
33394 types.
33395
e8a83df6 333962008-09-06 Felix Zielcke <fzielcke@z-51.de>
33397
33398 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
33399 RAID level 1.
33400
6bcd8ee5 334012008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 33402
6bcd8ee5 33403 * fs/iso9660.c (grub_iso9660_date): New structure.
33404 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
33405 (grub_iso9660_uuid): New function.
c375ae58 33406
59261157 334072008-09-05 Bean <bean123ch@gmail.com>
33408
33409 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
33410
33411 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
33412 insensitive bit for names in Win32 and Win32 & DOS namespace.
33413
33414 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
33415
33416 * include/grub/types.h (LONG_MAX): Likewise.
33417
58b6645a 334182008-09-04 Felix Zielcke <fzielcke@z-51.de>
33419
4ee55921 33420 * util/getroot.c: Include <config.h>.
33421 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
33422 add support for /dev/md/N devices and handle LVM double dash escaping.
33423
334242008-09-04 Felix Zielcke <fzielcke@z-51.de>
33425
33426 * config.guess: Update to latest version from config git.
33427 * config.sub: Likewise.
58b6645a 33428
9124f65d 334292008-09-03 Robert Millan <rmh@aybabtu.com>
33430
33431 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
33432 `disk->total_sectors'.
33433
81a06771 334342008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 33435
33436 * include/grub/normal.h: Fixed incorrect comment for
33437 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
33438
81a06771 334392008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 33440
33441 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
33442 values with defines.
33443
33444 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
33445 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
33446 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
33447 (GRUB_VBE_MODEATTR_COLOR): Likewise.
33448 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
33449 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
33450 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
33451 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
33452 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
33453 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
33454 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
33455 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
33456 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
33457 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
33458 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
33459 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
33460 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
33461 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
33462 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
33463
93d5cbf8 334642008-08-31 Robert Millan <rmh@aybabtu.com>
33465
33466 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
33467 declaration.
33468 (grub_multiboot): Fix a few warnings.
33469
21751d50 334702008-08-31 Robert Millan <rmh@aybabtu.com>
33471
33472 * loader/i386/pc/multiboot.c: Update comment not to say that
33473 boot_device support is unimplemented.
33474
e27a75c5 334752008-08-31 Robert Millan <rmh@aybabtu.com>
33476
33477 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
33478 or memory map support are unimplemented.
33479
81a06771 334802008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 33481
33482 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
33483
81a06771 334842008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 33485
33486 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
33487 total video memory in 'vbeinfo' output; show color format details for
33488 each video mode.
33489
7c5d8d95 334902008-08-30 Pavel Roskin <proski@gnu.org>
33491
33492 * util/genmoddep.c: Remove for real this time.
33493 * DISTLIST: Remove util/genmoddep.c.
33494
4cebd25a 334952008-08-30 Robert Millan <rmh@aybabtu.com>
33496
33497 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
33498 as required by Multiboot spec (it was already 4-byte aligned, but
33499 only by chance).
33500
b497a269 335012008-08-29 Pavel Roskin <proski@gnu.org>
33502
e3925185 33503 * kern/powerpc/ieee1275/crt0.S: Rename to ...
33504 * kern/powerpc/ieee1275/startup.S: ... this.
33505 * conf/powerpc-ieee1275.rmk: Adjust for the above.
33506 * DISTLIST: Likewise.
33507
b497a269 33508 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
33509 grub/cpu/kernel.h. Add start label for consistency with other
33510 platforms. Add grub_prefix immediately after start. Add jump
33511 to the code after grub_prefix.
33512 * include/grub/powerpc/kernel.h: Provide valid values for
33513 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
33514
6e5a42fe 335152008-08-29 Bean <bean123ch@gmail.com>
33516
33517 * configure.ac: Change host_os to cygwin for mingw.
33518 (asprintf): New check for function.
33519
33520 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
33521 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
33522
33523 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 33524 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 33525 sync, sleep and grub_util_get_disk_size for mingw.
33526
33527 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
33528 to get size in mingw.
33529 (open_device): Use flag O_BINARY if it's defined.
33530 (find_root_device): Add dummy code for mingw.
33531
33532 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
33533 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
33534 (get_scsi_disk_name): Return 0 for mingw.
33535
33536 * util/hostfs.c: #include <grub/util/misc.h>.
33537 (grub_hostfs_open): Use "rb" flag to open file, use
33538 grub_util_get_disk_size to get disk size for mingw.
33539
33540 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
33541 (asprintf): New function if HAVE_ASPRINTF is not set.
33542 (sync): New function for mingw.
33543 (sleep): Likewise.
33544 (grub_util_get_disk_size): Likewise.
33545
ab3f2673 335462008-08-28 Pavel Roskin <proski@gnu.org>
33547
33548 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
33549 kern/time.c.
33550
1c282483 335512008-08-28 Robert Millan <rmh@aybabtu.com>
33552
33553 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
33554
678e849c 335552008-08-28 Robert Millan <rmh@aybabtu.com>
33556
33557 Change find_grub_drive() syntax so it doesn't prevent it from
33558 detecting NULL names as errors.
33559
33560 * util/biosdisk.c (find_grub_drive): Move free slot search code
33561 from here ...
33562 (find_free_slot): ... to here.
33563 (read_device_map): Use find_free_slot() to search for free slots.
33564
965c75ca 335652008-08-27 Marco Gerards <marco@gnu.org>
33566
33567 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
33568 (scsi_mod_SOURCES): New variable.
33569 (scsi_mod_CFLAGS): Likewise
33570 (scsi_mod_LDFLAGS): Likewise.
33571
33572 * disk/scsi.c: New file.
33573
33574 * include/grub/scsi.h: Likewise.
33575
33576 * include/grub/scsicmd.h: Likewise.
33577
33578 * disk/ata.c: Include <grub/scsi.h>.
33579 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
33580 instead.
33581 (grub_ata_iterate): Skip ATAPI devices.
33582 (grub_ata_open): Only handle ATAPI devices.
33583 (struct grub_atapi_read): Removed.
33584 (grub_atapi_readsector): Likewise.
33585 (grub_ata_read): No longer handle ATAPI devices.
33586 (grub_ata_write): Likewise.
33587 (grub_atapi_iterate): New function.
33588 (grub_atapi_read): Likewise.
33589 (grub_atapi_write): Likewise.
33590 (grub_atapi_open): Likewise.
33591 (grub_atapi_close): Likewise.
33592 (grub_atapi_dev): New variable.
33593 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
33594 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
33595
33596 * include/grub/disk.h (enum grub_disk_dev_id): Add
33597 `GRUB_DISK_DEVICE_SCSI_ID'.
33598
c07ae501 335992008-08-26 Robert Millan <rmh@aybabtu.com>
33600
33601 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
33602 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
33603 descriptive.
33604
5ed20adc 336052008-08-23 Bean <bean123ch@gmail.com>
33606
33607 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
33608 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
33609 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
33610 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
33611 dm_nv.mod.
33612 (raid5rec_mod_SOURCES): New macro.
33613 (raid5rec_mod_CFLAGS): Likewise.
33614 (raid5rec_mod_LDFLAGS): Likewise.
33615 (raid6rec_mod_SOURCES): Likewise.
33616 (raid6rec_mod_CFLAGS): Likewise.
33617 (raid6rec_mod_LDFLAGS): Likewise.
33618 (mdraid_mod_SOURCES): Likewise.
33619 (mdraid_mod_CFLAGS): Likewise.
33620 (mdraid_mod_LDFLAGS): Likewise.
33621 (dm_nv_mod_SOURCES): Likewise.
33622 (dm_nv_mod_CFLAGS): Likewise.
33623 (dm_nv_mod_LDFLAGS): Likewise.
33624
33625 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
33626 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
33627 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
33628
33629 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
33630 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
33631
33632 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33633
33634 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33635
33636 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33637
33638 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33639
33640 * disk/raid5_recover.c: New file.
33641
33642 * disk/raid6_recover.c: Likewise.
33643
33644 * disk/mdraid_linux.c: Likewise.
33645
33646 * disk/dmraid_nvidia.c: Likewise.
33647
33648 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
33649 ULONG_MAX.
33650
33651 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
33652 calculate the size of raid device.
33653 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
33654 different layout of raid5.
33655 (grub_raid_scan_device): Remove code specific to mdraid.
33656 (grub_raid_list): New variable.
33657 (free_array): New function.
33658 (grub_raid_register): Likewise.
33659 (grub_raid_unregister): Likewise.
33660 (grub_raid_rescan): Likewise.
33661 (GRUB_MOD_INIT): Don't iterate device here.
33662 (GRUB_MOD_FINI): Use free_array to release resource.
33663
33664 * include/grub/raid.h: Remove macro and structure specific to mdraid.
33665 (grub_raid5_recover_func_t): New function variable type.
33666 (grub_raid6_recover_func_t): Likewise.
33667 (grub_raid5_recover_func): New variable.
33668 (grub_raid6_recover_func): Likewise.
33669 (grub_raid_register): New function.
33670 (grub_raid_unregister): Likewise.
33671 (grub_raid_rescan): Likewise.
33672 (grub_raid_block_xor): Likewise.
33673
33674 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
33675 (CMD_CRC): New macro.
33676 (part): Removed.
33677 (read_file): Handle device as well as file.
33678 (cmd_crc): New function.
33679 (fstest): Handle multiple disks.
33680 (options): Remove part, raw and long, add root and diskcount.
33681 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 33682 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 33683 add handling for the new options, support multiple disks.
33684
33685 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
33686
29c18915 336872008-08-23 Bean <bean123ch@gmail.com>
33688
33689 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
33690
33691 * genfslist.sh: Ignore kernel.mod.
33692
33693 * genpartmaplist.sh: Likewise.
33694
8415f261 336952008-08-23 Robert Millan <rmh@aybabtu.com>
33696
33697 * util/getroot.c (find_root_device): Skip anything that starts with
33698 a dot, not just directories. This avoids things like /dev/.tmp.md0.
33699
d5a7dc5b 337002008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 33701
d5a7dc5b 33702 * util/update-grub.in (GRUB_GFXMODE): Export variable.
33703 * util/grub.d/00_header.in: Allow the administrator to change default
33704 gfxmode via ${GRUB_GFXMODE}.
33705
380cfbb4 337062008-08-21 Felix Zielcke <fzielcke@z-51.de>
33707
33708 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
33709
c9baafe7 337102008-08-21 Robert Millan <rmh@aybabtu.com>
33711
33712 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
33713 loader.
33714 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
33715 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
33716
e290bef2 337172008-08-20 Carles Pina i Estany <carles@pina.cat>
33718
33719 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
33720 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
33721
f9dbfc96 337222008-08-19 Robert Millan <rmh@aybabtu.com>
33723
33724 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
33725 (struct grub_virtual_screen): Remove `cursor_color'.
33726 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
33727 initialization.
33728 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
33729
dd6bd6ab 337302008-08-18 Robert Millan <rmh@aybabtu.com>
33731
33732 Unify (identical) linux_normal.c files.
33733 * loader/i386/efi/linux_normal.c: Move from here ...
33734 * loader/linux_normal.c: ... to here. Update all users.
33735 * loader/i386/pc/linux_normal.c: Delete. Update all users.
33736 * loader/i386/ieee1275/linux_normal.c: Likewise.
33737
7f42f83e 337382008-08-18 Robert Millan <rmh@aybabtu.com>
33739
33740 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
33741 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
33742 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
33743 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
33744 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
33745 New macros.
33746 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
33747 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
33748 (GRUB_LINUX_CL_END_OFFSET): ... to here.
33749 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
33750 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
33751 (GRUB_EFI_CL_END_OFFSET): Rename to ...
33752 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
33753 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
33754 Initialize `params->video_cursor_x' and `params->video_cursor_y'
33755 portably using grub_getxy().
33756 Replace `-EFI' with `-bzImage' in boot message.
33757
38487ddb 337582008-08-17 Robert Millan <rmh@aybabtu.com>
33759
33760 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
33761
deceb3ec 337622008-08-17 Robert Millan <rmh@aybabtu.com>
33763
33764 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
33765
33766 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
33767 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
33768 (grub_machine_mmap_iterate): New function declaration.
33769 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
33770 structure.
33771 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
33772 macros.
33773
33774 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
33775 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
33776 Move e820 parsing from here ...
33777 * kern/i386/pc/mmap.c: New file.
33778 (grub_machine_mmap_iterate): ... to here.
33779
33780 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
33781 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
33782 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
33783 (grub_available_iterate): Redeclare to return `void', and redeclare
33784 its hook to use grub_uint64_t as addr and size parameters, and rename
33785 to ...
33786 (grub_machine_mmap_iterate): ... this. Update all users.
33787
33788 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
33789 to make it more readable. Rename to ...
33790 (grub_machine_mmap_iterate): ... this.
33791
33792 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
33793 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
33794 (grub_multiboot): Allocate an extra region after the payload, and fill
33795 it with a Multiboot memory map. Adjust a.out loader to calculate size
33796 with the extra space.
33797 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
33798 with the extra space.
33799
f8aa0f43 338002008-08-17 Carles Pina i Estany <carles@pina.cat>
33801
9807deb9 33802 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 33803
605f5bb6 338042008-08-17 Felix Zielcke <fzielcke@z-51.de>
33805
33806 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
33807 mdate-sh to the list `find' searches for.
33808 * DISTLIST: Regenerated.
33809
210db6c6 338102008-08-16 Felix Zielcke <fzielcke@z-51.de>
33811
33812 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
33813 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 33814 genmoddep.awk, gensymlist.sh.in.
33815 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 33816 * DISTLIST: Regenerated.
48cdbfd4 33817 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 33818
1082b929 338192008-08-16 Robert Millan <rmh@aybabtu.com>
33820
33821 * disk/raid.c (grub_raid_init): Handle/report errors set by
33822 grub_device_iterate().
33823 * disk/lvm.c (grub_lvm_init): Likewise.
33824
42ce5170 338252008-08-15 Bean <bean123ch@gmail.com>
33826
33827 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33828 and datehook.mod.
33829 (datetime_mod_SOURCES): New macro.
33830 (datetime_mod_CFLAGS): Likewise.
33831 (datetime_mod_LDFLAGS): Likewise.
33832 (date_mod_SOURCES): Likewise.
33833 (date_mod_CFLAGS): Likewise.
33834 (date_mod_LDFLAGS): Likewise.
33835 (datehook_mod_SOURCES): Likewise.
33836 (datehook_mod_CFLAGS): Likewise.
33837 (datehook_mod_LDFLAGS): Likewise.
33838
33839 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33840 and datehook.mod.
33841 (datetime_mod_SOURCES): New macro.
33842 (datetime_mod_CFLAGS): Likewise.
33843 (datetime_mod_LDFLAGS): Likewise.
33844 (date_mod_SOURCES): Likewise.
33845 (date_mod_CFLAGS): Likewise.
33846 (date_mod_LDFLAGS): Likewise.
33847 (datehook_mod_SOURCES): Likewise.
33848 (datehook_mod_CFLAGS): Likewise.
33849 (datehook_mod_LDFLAGS): Likewise.
33850
33851 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33852 and datehook.mod.
33853 (datetime_mod_SOURCES): New macro.
33854 (datetime_mod_CFLAGS): Likewise.
33855 (datetime_mod_LDFLAGS): Likewise.
33856 (date_mod_SOURCES): Likewise.
33857 (date_mod_CFLAGS): Likewise.
33858 (date_mod_LDFLAGS): Likewise.
33859 (datehook_mod_SOURCES): Likewise.
33860 (datehook_mod_CFLAGS): Likewise.
33861 (datehook_mod_LDFLAGS): Likewise.
33862
33863 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33864 and datehook.mod.
33865 (datetime_mod_SOURCES): New macro.
33866 (datetime_mod_CFLAGS): Likewise.
33867 (datetime_mod_LDFLAGS): Likewise.
33868 (date_mod_SOURCES): Likewise.
33869 (date_mod_CFLAGS): Likewise.
33870 (date_mod_LDFLAGS): Likewise.
33871 (datehook_mod_SOURCES): Likewise.
33872 (datehook_mod_CFLAGS): Likewise.
33873 (datehook_mod_LDFLAGS): Likewise.
33874
33875 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33876 and datehook.mod.
33877 (datetime_mod_SOURCES): New macro.
33878 (datetime_mod_CFLAGS): Likewise.
33879 (datetime_mod_LDFLAGS): Likewise.
33880 (date_mod_SOURCES): Likewise.
33881 (date_mod_CFLAGS): Likewise.
33882 (date_mod_LDFLAGS): Likewise.
33883 (datehook_mod_SOURCES): Likewise.
33884 (datehook_mod_CFLAGS): Likewise.
33885 (datehook_mod_LDFLAGS): Likewise.
33886
33887 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
33888
33889 * commands/date.c: New file.
33890
33891 * hook/datehook.c: Likewise.
33892
33893 * include/grub/lib/datetime.h: Likewise.
33894
33895 * include/grub/i386/cmos.h: Likewise.
33896
33897 * lib/datetime.c: Likewise.
33898
33899 * lib/i386/datetime.c: Likewise.
33900
33901 * lib/efi/datetime.c: Likewise.
33902
0e9242da 339032008-08-14 Robert Millan <rmh@aybabtu.com>
33904
33905 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
33906 (grub_mkelfimage_SOURCES): New variable.
33907 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
33908
33909 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
33910 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
33911 * conf/powerpc-ieee1275.rmk: Likewise.
33912 * conf/i386-ieee1275.rmk: Likewise.
33913
33914 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
33915 * kern/i386/coreboot/init.c: Likewise.
33916
33917 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
33918 with `<grub/cpu/kernel.h>'.
33919 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
33920 to ...
33921 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
33922 * kern/i386/coreboot/startup.S: Likewise.
33923
33924 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
33925 (GRUB_MOD_GAP): Remove.
33926 * include/grub/powerpc/kernel.h: New file.
33927 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
33928 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
33929 * include/grub/i386/kernel.h: New file.
33930 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
33931 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
33932 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
33933
33934 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
33935 `grub-mkelfimage'.
33936 Use --directory when invoking grub_mkimage.
33937
33938 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
33939 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
33940 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
33941 and GRUB_KERNEL_CPU_PREFIX.
33942
b86408f8 339432008-08-14 Felix Zielcke <fzielcke@z-51.de>
33944
d5e619ca 33945 * include/grub/err.h (grub_err_printf): New function prototype.
33946 * util/misc.c (grub_err_printf): New function.
33947 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
33948 grub_printf.
33949 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 33950
7161f0e0 339512008-08-13 Robert Millan <rmh@aybabtu.com>
33952
33953 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
33954
a1967522 339552008-08-13 Robert Millan <rmh@aybabtu.com>
33956
33957 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
33958 boot entry.
33959
371458b5 339602008-08-12 Robert Millan <rmh@aybabtu.com>
33961
33962 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
33963 of the relocation code from here ...
33964 (grub_multiboot): ... to here.
33965 (forward_relocator, backward_relocator): Move from here ...
33966 * kern/i386/loader.S (grub_multiboot_forward_relocator)
33967 (grub_multiboot_backward_relocator): ... to here.
33968 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
33969 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
33970 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
33971 (grub_multiboot_forward_relocator_end)
33972 (grub_multiboot_backward_relocator)
33973 (grub_multiboot_backward_relocator_end): New variables.
33974
05f9452b 339752008-08-12 Bean <bean123ch@gmail.com>
33976
33977 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
33978
20024ab0 339792008-08-11 Robert Millan <rmh@aybabtu.com>
33980
33981 * kern/i386/linuxbios/startup.S: Move from here ...
33982 * kern/i386/coreboot/startup.S: ... to here.
33983
33984 * kern/i386/linuxbios/init.c: Move from here ...
33985 * kern/i386/coreboot/init.c: ... to here.
33986
33987 * kern/i386/linuxbios/table.c: Move from here ...
33988 * kern/i386/coreboot/mmap.c: ... to here.
33989
33990 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
33991
e352e9cd 339922008-08-11 Robert Millan <rmh@aybabtu.com>
33993
33994 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
33995 errors. Leave it to the upper layer to handle them.
33996
2d05bc6a 339972008-08-09 Christian Franke <franke@computer.org>
33998
33999 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
34000 * conf/common.rmk: Install `grub-pe2elf' only if requested.
34001 Install `grub.d/10_windows' only on Cygwin.
34002 * configure.ac: Add subst of `target_os'.
34003 Check `target_os' also before setting TARGET_OBJ2ELF.
34004 Add `--enable-grub-pe2elf'.
34005
042bd419 340062008-08-08 Robert Millan <rmh@aybabtu.com>
34007
34008 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
34009 (grub_last_time): Change type to grub_uint64_t.
34010 (grub_disk_open): Migrate code from to using grub_get_time_ms().
34011 (grub_disk_close): Likewise.
34012
34013 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
34014 (run_menu): Migrate code from to using grub_get_time_ms().
34015
34016 * util/misc.c (grub_get_time_ms): New function.
34017
7f280db5 340182008-08-08 Marco Gerards <marco@gnu.org>
34019
34020 * disk/ata.c (grub_ata_regget): Change return type to
34021 `grub_uint8_t'.
34022 (grub_ata_regget2): Likewise.
34023 (grub_ata_wait_status): New function.
34024 (grub_ata_wait_busy): Removed function, updated all users to use
34025 `grub_ata_wait_status'.
34026 (grub_ata_wait_drq): Likewise.
34027 (grub_ata_cmd): New function.
34028 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
34029 error handling.
34030 (grub_ata_pio_write): Add error handling.
34031 (grub_atapi_identify): Likewise.
34032 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
34033 handling.
34034 (grub_ata_identify): Use `grub_ata_cmd' and improve error
34035 handling. Actually use the detected registers. Reorder the
34036 detection logic such that it is easier to read.
34037 (grub_ata_pciinit): Do not assign the same ID to each controller.
34038 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
34039 handling.
34040 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
34041
34042 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
34043
1fbc5e66 340442008-08-08 Marco Gerards <marco@gnu.org>
34045
34046 * NEWS: Update.
34047
819ce6c0 340482008-08-07 Bean <bean123ch@gmail.com>
34049
34050 * include/grub/x86_64/pci.h: New file.
34051
5c41d44d 340522008-08-07 Christian Franke <franke@computer.org>
34053
34054 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
34055 (TIMER2_GATE): Likewise.
34056 (grub_pit_wait): Add enable/disable of the timer2 gate
34057 bit of port 0x61. This fixes a possible infinite loop.
34058
5ebc275d 340592008-08-07 Bean <bean123ch@gmail.com>
34060
34061 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
34062 kern/i386/tsc.c and kern/i386/pit.c.
34063
34064 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
34065 x86_64 platform.
34066
34067 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
34068 <grub/i386/tsc.h>.
34069
34070 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
34071
e383b3d0 340722008-08-07 Bean <bean123ch@gmail.com>
34073
34074 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
34075
34076 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
34077
34078 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
34079 multiple inclusion. Add #include <grub/types.h>.
34080
1cbb58ac 340812008-08-06 Christian Franke <franke@computer.org>
34082
34083 * conf/common.rmk: Build and install `10_windows'.
34084 * util/grub.d/10_windows.in: New script.
34085
337f5a1e 340862008-08-06 Pavel Roskin <proski@gnu.org>
34087
34088 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
34089
057bc4ac 340902008-08-06 Robert Millan <rmh@aybabtu.com>
34091
34092 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
34093 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
34094
2b99f123 340952008-08-06 Bean <bean123ch@gmail.com>
34096
34097 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
34098 (grub_pxefs_fs_int): Remove dummy definition.
34099 (grub_pxefs_open): Use data->block_size to store the current block
34100 size setting.
34101 (grub_pxefs_read): Use block size stored in data->block_size. As the
34102 value of grub_pxe_blksize can be changed after the file is opened.
34103
9f0234cb 341042008-08-06 Bean <bean123ch@gmail.com>
34105
34106 * fs/i386/pc/pxe.c (curr_file): new variable.
34107 (grub_pxefs_open): Simply the handling of pxe file system. Don't
34108 require the dummy internal file system anymore.
34109 (grub_pxefs_read): Removed.
34110 (grub_pxefs_close): Likewise.
34111 (grub_pxefs_fs_int): Likewise.
34112 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
34113 connection when we switch file.
34114 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
34115
a55d42e0 341162008-08-06 Robert Millan <rmh@aybabtu.com>
34117
34118 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
34119 `halt.mod'.
34120 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
34121 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
34122
34123 * kern/i386/halt.c: New file.
34124 * kern/i386/reboot.c: Likewise.
34125 * include/grub/i386/reboot.h: Likewise.
34126 * include/grub/i386/halt.h: Likewise.
34127
34128 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
34129 Include `<grub/cpu/halt.h>'.
34130 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
34131 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
34132
34133 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
34134 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
34135 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
34136 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
34137 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
34138 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
34139 from here ...
34140 * include/grub/i386/at_keyboard.h: ... to here.
34141
24371d26 341422008-08-05 Robert Millan <rmh@aybabtu.com>
34143
34144 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
34145 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
34146 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
34147 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
34148 `kern/generic/millisleep.c'.
34149
34150 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
34151 instead of grub_get_rtc().
34152 (grub_tsc_init): Initialize `tsc_boot_time'.
34153
34154 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
34155 (grub_machine_init): Use grub_tsc_init() rather than
34156 installing an RTC-based handler via grub_install_get_time_ms().
34157
34158 * kern/i386/pit.c: New file.
34159 * include/grub/i386/pit.h: Likewise.
34160
9e7007b3 341612008-08-05 Bean <bean123ch@gmail.com>
34162
34163 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
34164
34165 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
34166 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
34167 (pxe_mod_SOURCES): New macro.
34168 (pxe_mod_CFLAGS): Likewise.
34169 (pxe_mod_LDFLAGS): Likewise.
34170 (pxecmd_mod_SOURCES): Likewise.
34171 (pxecmd_mod_CFLAGS): Likewise.
34172 (pxecmd_mod_LDFLAGS): Likewise.
34173
34174 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
34175 (grub_pxe_call): Likewise.
34176
34177 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
34178
34179 * commands/i386/pc/pxecmd.c: New file.
34180
9f0234cb 34181 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 34182
34183 * include/grub/i386/pc/pxe.h: Likewise.
34184
6977d49f 341852008-08-05 Bean <bean123ch@gmail.com>
34186
34187 * util/console.c (grub_console_cur_color): New variable.
34188 (grub_console_standard_color): Likewise.
34189 (grub_console_normal_color): Likewise.
34190 (grub_console_highlight_color): Likewise.
34191 (color_map): Likewise.
34192 (use_color): Likewise.
34193 (NUM_COLORS): New macro.
34194 (grub_ncurses_setcolorstate): Handle color properly.
34195 (grub_ncurses_setcolor): Don't change color here, just remember the
34196 settings, color will be set in grub_ncurses_setcolorstate.
34197 (grub_ncurses_getcolor): New function.
34198 (grub_ncurses_init): Initialize color pairs.
34199 (grub_ncurses_term): New member grub_ncurses_getcolor.
34200
9c2ff3ee 342012008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 34202
9c2ff3ee 34203 High resolution timer support. Implemented for x86 CPUs using TSC.
34204 Extracted generic grub_millisleep() so it's linked in only as needed.
34205 This requires a Pentium compatible CPU; if the RDTSC instruction is
34206 not supported, then it falls back on the generic grub_get_time_ms()
34207 implementation that uses the machine's RTC.
34208
34209 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
34210 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
34211 `kern/generic/millisleep.c'.
34212
34213 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
34214 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
34215
34216 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
34217 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
34218
34219 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
34220
34221 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
34222 `kern/generic/millisleep.c'.
34223
34224 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
34225
34226 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
34227
34228 * kern/generic/rtc_get_time_ms.c: New file.
34229
34230 * kern/generic/millisleep.c: New file.
337f5a1e 34231
9c2ff3ee 34232 * kern/misc.c: Don't include
34233 <kern/time.h> anymore.
34234 (grub_millisleep_generic): Removed.
34235
34236 * commands/sleep.c (grub_interruptible_millisleep): Uses
34237 grub_get_time_ms() instead of grub_get_rtc().
34238
34239 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
34240 function.
34241 (grub_cpu_is_cpuid_supported): New inline function.
34242 (grub_cpu_is_tsc_supported): New inline function.
34243 (grub_tsc_init): New function prototype.
34244 (grub_tsc_get_time_ms): New function prototype.
34245
34246 * kern/i386/tsc.c (grub_get_time_ms): New file.
34247
34248 * include/grub/time.h: Include <grub/types.h.
34249 (grub_millisleep_generic): Removed.
34250 (grub_get_time_ms): New prototype.
34251 (grub_install_get_time_ms): New prototype.
34252 (grub_rtc_get_time_ms): New prototype.
34253
34254 * kern/time.c (grub_get_time_ms): New function.
34255 (grub_install_get_time_ms): New function.
34256
34257 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
34258 <grub/time.h> anymore.
34259 (grub_millisleep): Removed.
34260 (grub_machine_init): Call grub_tsc_init.
34261
34262 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
34263 get_time_ms() implementation.
34264
34265 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
34266 (ieee1275_get_time_ms): New function.
34267 (grub_machine_init): Install get_time_ms() implementation.
34268
34269 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
34270 (grub_machine_init): Call grub_tsc_init().
34271 (grub_millisleep): Removed.
bf06a93f 34272
9c2ff3ee 34273 * kern/ieee1275/init.c (grub_millisleep): Removed.
34274 (grub_machine_init): Install ieee1275_get_time_ms()
34275 implementation.
34276 (ieee1275_get_time_ms): New function.
34277 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
34278 real work.
34279
9ec92aaf 342802008-08-05 Marco Gerards <marco@gnu.org>
34281
34282 * disk/ata.c: Include <grub/pci.h>.
34283 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
34284 (grub_ata_initialize): Rewritten.
34285 (grub_ata_device_initialize): New function.
34286
8d23f507 342872008-08-04 Pavel Roskin <proski@gnu.org>
34288
34289 * kern/main.c: Include grub/mm.h.
34290
5e15ee3d 342912008-08-04 Robert Millan <rmh@aybabtu.com>
34292
34293 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
34294 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
34295 corruption problem).
34296
a9053f8f 342972008-08-04 Robert Millan <rmh@aybabtu.com>
34298
34299 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
34300 warnings introduced in my last commit.
34301
dd19c7d7 343022008-08-03 Robert Millan <rmh@aybabtu.com>
34303
34304 Make PCI available on all i386 architectures.
34305
34306 * include/grub/i386/pc/pci.h: Move from here ...
34307 * include/grub/i386/pci.h: ... to here.
34308
34309 * include/grub/i386/pc/pci.h: Remove.
34310 * include/grub/i386/efi/pci.h: Remove.
34311 * include/grub/x86_64/efi/pci.h: Remove.
34312
34313 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
34314 `<grub/cpu/pci.h>'.
34315
34316 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
34317 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
34318 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
34319
34320 * conf/i386-ieee1275.rmk: Likewise.
34321
e14a6184 343222008-08-03 Robert Millan <rmh@aybabtu.com>
34323
34324 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
34325 (grub_console_setcursor): Make it possible to set cursor off.
34326
52768e37 343272008-08-03 Robert Millan <rmh@aybabtu.com>
34328
34329 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
34330 of modules instead of assuming which platform provides what.
34331 * util/update-grub.in: Likewise.
34332
2d52f57f 343332008-08-03 Robert Millan <rmh@aybabtu.com>
34334
34335 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
34336 instead of `grub_install_dos_part' to determine whether a drive needs
34337 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 34338 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 34339
2a5cd121 343402008-08-02 Robert Millan <rmh@aybabtu.com>
34341
34342 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
34343
93808428 343442008-08-02 Robert Millan <rmh@aybabtu.com>
34345
34346 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
34347 of informational grub_dprintf() calls.
34348
3bd0a12a 343492008-08-02 Robert Millan <rmh@aybabtu.com>
34350
34351 * disk/memdisk.c (memdisk_size): Don't initialize.
34352 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
34353
34354 * include/grub/i386/pc/kernel.h
34355 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
34356 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
34357 (grub_memdisk_image_size, grub_arch_memdisk_addr)
34358 (grub_arch_memdisk_size): Remove.
34359
34360 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
34361 field (was only used to transfer a constant). Add `type' field to
34362 support multiple module types.
34363 (grub_module_iterate): New function.
34364
34365 * kern/device.c (grub_device_open): Do not hide error messages
34366 when grub_disk_open() fails. Use grub_print_error() instead.
34367
34368 * kern/i386/pc/init.c (grub_arch_modules_addr)
34369 (grub_arch_memdisk_size): Remove functions.
34370 (grub_arch_modules_addr): Return the module address in high memory
34371 (now that it isn't copied anymore).
34372
34373 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
34374 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
34375 decompression routine (grub_total_module_size already includes that
34376 now). Don't copy modules back to low memory.
34377
34378 * kern/main.c: Include `<grub/mm.h>'.
34379 (grub_load_modules): Split out (and use) ...
34380 (grub_module_iterate): ... this function, which iterates through
34381 module objects and runs a hook.
34382 Comment out grub_mm_init_region() call, as it would cause non-ELF
34383 modules to be overwritten.
34384
34385 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
34386 the memdisk image in its own region, make it part of the module list.
34387 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
34388 (main): Parse --memdisk|-m option, and pass user-provided path as
34389 parameter to generate_image().
34390 (add_segments): Pass `memdisk_path' down to load_modules().
34391 (load_modules): Embed memdisk image in module section when requested.
34392 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
34393 `header.type' instead of `header.offset'.
34394
34395 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
34396 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
34397 (memdisk_mod_LDFLAGS): New variables.
34398 * conf/i386-coreboot.rmk: Likewise.
34399 * conf/i386-ieee1275.rmk: Likewise.
34400
a927cc73 344012008-08-02 Robert Millan <rmh@aybabtu.com>
34402
34403 * loader/i386/pc/multiboot.c (playground, forward_relocator)
34404 (backward_relocator): New variables. Used to allocate and relocate
34405 the payload, respectively.
34406 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 34407 address, install the appropriate relocator code in each bound of
a927cc73 34408 the payload, and set the entry point such that
34409 grub_multiboot_real_boot() will jump to one of them.
34410
34411 * kern/i386/loader.S (grub_multiboot_payload_size)
34412 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
34413 (grub_multiboot_payload_entry_offset): New variables.
34414 (grub_multiboot_real_boot): Set cpu context to what the relocator
34415 expects, and jump to the relocator instead of the payload.
34416
34417 * include/grub/i386/loader.h (grub_multiboot_payload_size)
34418 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
34419 (grub_multiboot_payload_entry_offset): Export.
34420
b15d8a0c 344212008-08-01 Bean <bean123ch@gmail.com>
34422
34423 * normal/menu_entry.c (editor_getline): Don't return the original
34424 string as result, as it will be released by lexer once it has done
34425 using it.
34426
cdfb3d22 344272008-08-01 Robert Millan <rmh@aybabtu.com>
34428
34429 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
34430 within menuentries, not before them.
34431 util/grub.d/10_hurd.in: Likewise.
34432
9175e93d 344332008-08-01 Bean <bean123ch@gmail.com>
34434
34435 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
34436 (bufio_mod_SOURCES): New macro.
34437 (bufio_mod_CFLAGS): Likewise.
34438 (bufio_mod_LDFLAGS): Likewise.
34439
34440 * include/grub/bufio.h: New file.
34441
34442 * io/bufio.c: Likewise.
34443
34444 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
34445 (grub_video_reader_png): Use grub_buffile_open to open file.
34446
34447 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
34448 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
34449
34450 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
34451 (grub_video_reader_tga): Use grub_buffile_open to open file.
34452
34453 * font/manager.c: Include <grub/bufio.h>.
34454 (add_font): Use grub_buffile_open to open file.
34455
3d8383e7 344562008-07-31 Robert Millan <rmh@aybabtu.com>
34457
34458 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
34459 ELF segments, use a macro for arbitrarily accessing any of them instead
34460 of preparing a pointer that allows access to one at a time.
34461 (grub_multiboot_load_elf64): Likewise.
34462
16e641b6 344632008-07-31 Bean <bean123ch@gmail.com>
34464
34465 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
34466 GRUB_KERNEL_MACHINE_DATA_END.
34467
59198b72 344682008-07-30 Robert Millan <rmh@aybabtu.com>
34469
34470 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
34471 Increase from 0x50 to 0x60.
34472 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
34473 use UUIDs to identify the root drive for them. If that's not
34474 possible, abort.
34475 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
34476 check, for cross-disk installs.
34477
ae88bca3 344782008-07-30 Robert Millan <rmh@aybabtu.com>
34479
34480 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
34481 is non-empty, use it to set the `prefix' environment variable instead
34482 of the usual approach.
34483 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
34484 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
34485 environment variable instead of dummy make_install_device().
34486
34487 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
34488 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 34489 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 34490
34491 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
34492 New variable reference.
34493 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
34494 New macro. Defines offset of `grub_prefix' within startup.S (relative
34495 to `start').
34496 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
34497 section within startup.S (relative to `start').
34498 * include/grub/i386/coreboot/kernel.h: Likewise.
34499
34500 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
34501 Overwrite grub_prefix with its contents, at the beginning of the
34502 first segment.
34503 (main): Understand -p|--prefix.
34504
14f41dd1 345052008-07-30 Robert Millan <rmh@aybabtu.com>
34506
34507 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
34508
4ca049a3 345092008-07-30 Robert Millan <rmh@aybabtu.com>
34510
34511 * term/i386/pc/vga_text.c (grub_console_cls): Use
34512 grub_console_gotoxy() to go back to beginning of the screen.
34513 Found by Patrick Georgi <patrick.georgi@coresystems.de>
34514
2921d337 345152008-07-29 Christian Franke <franke@computer.org>
34516
34517 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
34518 Add conversion of emulated mount points on Cygwin.
34519
b609876d 345202008-07-29 Christian Franke <franke@computer.org>
34521
34522 * util/update-grub.in: Add a check for admin
34523 group on Cygwin.
34524 Remove old `grub.cfg.new' before creation.
34525 Add `-f' to `mv' to handle the different filesystem
34526 semantics of Windows.
34527
e93e4679 345282008-07-29 Bean <bean123ch@gmail.com>
34529
34530 * normal/main.c (get_line): Fix buffer overflow bug.
34531
41694fd0 345322008-07-28 Robert Millan <rmh@aybabtu.com>
34533
34534 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
34535 (struct grub_apple_header): New struct. Describes the layout of
34536 the partmap header.
34537 (apple_partition_map_iterate): Check the header magic as well as the
34538 partition magic (which was already being checked).
34539
cfd0b4e6 345402008-07-28 Pavel Roskin <proski@gnu.org>
34541
34542 * genmk.rb: Add a warning to the beginning of the output that
34543 it's a generated file and should not be edited.
34544
93cce016 345452008-07-28 Robert Millan <rmh@aybabtu.com>
34546
34547 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
34548 with the same number are found, just use issue a warning with
34549 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 34550
cd1df915 345512008-07-27 Robert Millan <rmh@aybabtu.com>
34552
34553 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
34554 information.
34555
b70a8427 345562008-07-27 Bean <bean123ch@gmail.com>
34557
34558 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
34559 (grub_fat_find_dir): Ignore case when comparing filename.
34560
8f5e379f 345612008-07-27 Bean <bean123ch@gmail.com>
34562
34563 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
34564 smallino, as it's more descriptive, and i8count can be confused with
34565 the other field count.
34566 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
34567 inode type.
34568
a85cd5a0 345692008-07-27 Bean <bean123ch@gmail.com>
34570
34571 * commands/crc.c: New file.
34572
34573 * lib/crc.c: Likewise.
34574
34575 * include/grub/lib/crc.h: Likewise.
34576
34577 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
34578
34579 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
34580 (hexdump): Move this function to ...
34581
34582 * lib/hexdump.c: ... here.
34583
34584 * include/grub/hexdump.h: Renamed to ...
34585
34586 * include/grub/lib/hexdump.h: ... this.
34587
34588 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
34589
34590 * util/grub-editenv.c: Likewise.
34591
34592 * include/envblk.h: Renamed to ...
34593
34594 * include/lib/envblk.h: ... this.
34595
34596 * util/envblk.c: Renamed to ...
34597
34598 * lib/envblk.c: ... this.
34599
34600 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
34601 lib/hexdump.c.
34602 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
34603 (pkglib_MODULES): Add crc.mod.
34604 (hexdump_mod_SOURCES): Add lib/hexdump.c.
34605 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
34606 (crc_mod_SOURCES): New macro.
34607 (crc_mod_CFLAGS): Likewise.
34608 (crc_mod_LDFLAGS): Likewise.
34609
34610 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
34611
34612 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34613
34614 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34615
34616 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34617
34618 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34619
c298def0 346202008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 34621
34622 * commands/help.c: Include <grub/term.h>.
34623 (TERM_WIDTH): Removed. Updated all users.
34624
cc349fb3 346252008-07-27 Pavel Roskin <proski@gnu.org>
34626
34627 * util/getroot.c (find_root_device): Rephrase a comment to avoid
34628 spurious warnings about a comment within a comment.
34629
9051607e 346302008-07-25 Robert Millan <rmh@aybabtu.com>
34631
34632 * util/getroot.c (find_root_device): Skip devices that match
34633 /dev/dm-[0-9]. This lets the real device be found for any type of
34634 abstraction (LVM, EVMS, RAID..).
34635 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
34636 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
34637 device is found first, find_root_device() will now skip it.
34638
01453bfc 346392008-07-24 Pavel Roskin <proski@gnu.org>
34640
34641 * include/grub/types.h: Use __builtin_bswap32() and
34642 __builtin_bswap64() with gcc 4.3 and newer.
34643
6af9849f 346442008-07-24 Christian Franke <franke@computer.org>
34645
3a0fa256 34646 * util/i386/pc/grub-install.in: If `--debug' is specified,
34647 pass `--verbose' to grub-setup.
34648 Abort script if make_system_path_relative_to_its_root() fails.
34649
7810e747 346502008-07-24 Bean <bean123ch@gmail.com>
34651
34652 * configure.ac: Fixed a bug caused by the previous cygwin patch,
34653 variable `target_platform' should be `platform'.
34654
42290e17 346552008-07-24 Bean <bean123ch@gmail.com>
34656
51cc5193 34657 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 34658 (grub_png_init_fixed_block): New function.
34659 (grub_png_decode_image_data): Handle fixed huffman code compression.
34660
2a8a80e4 346612008-07-24 Bean <bean123ch@gmail.com>
34662
34663 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
34664 (grub_pe2elf_SOURCES): New macro.
34665 (CLEANFILES): Add grub-pe2elf.
34666
34667 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
34668 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
34669 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
34670 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
34671 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
34672 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
34673 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
34674 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
34675 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
34676 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
34677 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
34678 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
34679 (GRUB_PE32_DT_FUNCTION): Likewise.
34680 (GRUB_PE32_REL_I386_DIR32): Likewise.
34681 (GRUB_PE32_REL_I386_REL32): Likewise.
34682 (grub_pe32_symbol): New structure.
34683 (grub_pe32_reloc): Likewise.
34684
34685 * util/grub-pe2elf.c: New file.
34686
34687 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
34688 start symbol in non pc platform.
34689
34690 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
34691
34692 The following patches are from Christian Franke.
34693
34694 * include/grub/dl.h: Remove .previous, gas supports this only
34695 for ELF format.
34696
34697 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
34698 Remove .type, gas supports this only for ELF format.
34699
34700 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
34701 nullbytes in symbol table. This fixes an infinite loop if table is
34702 zero filled.
34703
34704 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
34705 TARGET_IMG_LDFLAGS and EXEEXT.
34706
34707 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
34708 TARGET_IMG_LDFLAGS_AC.
34709 (grub_CHECK_STACK_ARG_PROBE): New function.
34710
34711 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
34712
34713 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
34714
34715 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
34716 to set TARGET_IMG_LD* accordingly.
34717 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
34718 Add call to grub_CHECK_STACK_ARG_PROBE.
34719 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
34720
34721 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
34722
34723 * genmk.rb: Add EXEEXT to CLEANFILES.
34724
12ccdb75 347252008-07-23 Robert Millan <rmh@aybabtu.com>
34726
34727 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
34728 define the codes for arrows and lines used for the menu).
34729 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
34730 as well.
34731
34732 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
34733 fonts, because the latter are too slow.
34734
18eeaf04 347352008-07-21 Bean <bean123ch@gmail.com>
34736
34737 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
34738 a20. Run keyboard test last, as it will cause macbook to halt.
34739
b095e2ad 347402008-07-18 Pavel Roskin <proski@gnu.org>
34741
34742 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
34743 load foreign architecture modules correctly anyway. Keep
34744 support for loading host architecture modules, whether we
34745 compile them or not.
34746
737feb35 347472008-07-17 Pavel Roskin <proski@gnu.org>
34748
3f4ce737 34749 * configure.ac: Use -m32 or -m64 regardless of whether we had to
34750 change target_cpu. The compiler default can mismatch target_cpu
34751 in any case.
34752
4ad2d049 34753 * disk/efi/efidisk.c: Fix format warnings on x86_64.
34754 * kern/efi/efi.c: Likewise.
34755
f6130a12 34756 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
34757 target compiler is functional.
34758 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
34759 are set up.
34760
58393a2d 34761 * configure.ac: Default to efi platform for x86_64-apple. Allow
34762 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
34763 adjustments from the rest, only do them if target is not
34764 explicitly given. Merge other adjustments with the final sanity
34765 check. Remove an extraneous check for supported CPU. Be
34766 specific which CPU and which platform is not supported.
34767
737feb35 34768 * configure.ac: Default to pc platform for x86_64.
34769
546f966a 347702008-07-17 Robert Millan <rmh@aybabtu.com>
34771
34772 Partial LinuxBIOS -> Coreboot rename.
34773
34774 * conf/i386-linuxbios.rmk: Renamed to ...
34775 * conf/i386-coreboot.rmk: ... this.
34776 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
34777 * configure.ac: Accept "coreboot" as input platform (but maintain
34778 compatibility with "linuxbios").
34779 * include/grub/i386/linuxbios: Renamed to ...
34780 * include/grub/i386/coreboot: ... this.
34781
20011694 347822008-07-17 Bean <bean123ch@gmail.com>
34783
34784 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 34785 (appleldr_mod_SOURCE): New variable.
20011694 34786 (appleldr_mod_CFLAGS): Likewise.
34787 (appleldr_mod_LDFLAGS): Likewise.
34788 (pci_mod_SOURCES): Likewise.
34789 (pci_mod_CFLAGS): Likewise.
34790 (pci_mod_LDFLAGS): Likewise.
34791 (lspci_mod_SOURCES): Likewise.
34792 (lspci_mod_CFLAGS): Likewise.
34793 (lspci_mod_LDFLAGS): Likewise.
34794
34795 * conf/x86_64-efi.rmk: New file.
34796
34797 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
34798 macro.
34799 (grub_efidisk_write): Likewise.
34800
34801 * include/efi/api.h (efi_call_0): New macro.
34802 (efi_call_1): Likewise.
34803 (efi_call_2): Likewise.
34804 (efi_call_3): Likewise.
34805 (efi_call_4): Likewise.
34806 (efi_call_5): Likewise.
34807 (efi_call_6): Likewise.
34808
34809 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
34810 grub_rescue_cmd_chainloader.
34811
34812 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
34813 (grub_pe32_optional_header): Change some fields based on i386 or
34814 x86_64 platform.
34815 (GRUB_PE32_PE32_MAGIC): Likewise.
34816
34817 * include/grub/efi/uga_draw.h: New file.
34818
34819 * include/grub/elf.h (STN_ABS): New constant.
34820 (R_X86_64_NONE): Relocation constant for x86_64.
34821 (R_X86_64_64): Likewise.
34822 (R_X86_64_PC32): Likewise.
34823 (R_X86_64_GOT32): Likewise.
34824 (R_X86_64_PLT32): Likewise.
34825 (R_X86_64_COPY): Likewise.
34826 (R_X86_64_GLOB_DAT): Likewise.
34827 (R_X86_64_JUMP_SLOT): Likewise.
34828 (R_X86_64_RELATIVE): Likewise.
34829 (R_X86_64_GOTPCREL): Likewise.
34830 (R_X86_64_32): Likewise.
34831 (R_X86_64_32S): Likewise.
34832 (R_X86_64_16): Likewise.
34833 (R_X86_64_PC16): Likewise.
34834 (R_X86_64_8): Likewise.
34835 (R_X86_64_PC8): Likewise.
34836
34837 * include/grub/i386/efi/pci.h: New file.
34838
34839 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
34840 Change it value based on platform.
34841 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
34842 (GRUB_E820_RAM): Likewise.
34843 (GRUB_E820_RESERVED): Likewise.
34844 (GRUB_E820_ACPI): Likewise.
34845 (GRUB_E820_NVS): Likewise.
34846 (GRUB_E820_EXEC_CODE): Likewise.
34847 (GRUB_E820_MAX_ENTRY): Likewise.
34848 (grub_e820_mmap): New structure.
34849 (linux_kernel_header): Change the efi field according to different
34850 kernel version, also field from linux_kernel_header.
34851
34852 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
34853
34854 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
34855 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
34856 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
34857 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
34858 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
34859 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
34860 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
34861 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
34862 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
34863 (GRUB_PCI_ADDR_IO_MASK): Likewise.
34864
34865 * include/grub/x86_64/efi/kernel.h: New file.
34866
34867 * include/grub/x86_64/efi/loader.h: Likewise.
34868
34869 * include/grub/x86_64/efi/machine.h: Likewise.
34870
34871 * include/grub/x86_64/efi/pci.h: Likewise.
34872
34873 * include/grub/x86_64/efi/time.h: Likewise.
34874
34875 * include/grub/x86_64/linux.h: Likewise.
34876
34877 * include/grub/x86_64/setjmp.h: Likewise.
34878
34879 * include/grub/x86_64/time.h: Likewise.
34880
34881 * include/grub/x86_64/types.h: Likewise.
34882
34883 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
34884 GRUB_TARGET_SIZEOF_VOID_P.
34885
34886 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
34887 (grub_efi_locate_handle): Likewise.
34888 (grub_efi_open_protocol): Likewise.
34889 (grub_efi_set_text_mode): Likewise.
34890 (grub_efi_stall): Likewise.
34891 (grub_exit): Likewise.
34892 (grub_reboot): Likewise.
34893 (grub_halt): Likewise.
34894 (grub_efi_exit_boot_services): Likewise.
34895 (grub_get_rtc): Likewise.
34896
34897 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
34898 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
34899 (grub_efi_allocate_pages): Wrap efi calls.
34900 (grub_efi_free_pages): Wrap efi calls.
34901 (grub_efi_get_memory_map): Wrap efi calls.
34902
34903 * kern/x86_64/dl.c: New file.
34904
34905 * kern/x86_64/efi/callwrap.S: Likewise.
34906
34907 * kern/x86_64/efi/startup.S: Likewise.
34908
34909 * loader/efi/appleloader.c: Likewise.
34910
34911 * loader/efi/chainloader.c (cmdline): New variable.
34912 (grub_chainloader_unload): Wrap efi calls.
34913 (grub_chainloader_boot): Likewise.
34914 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
34915 command line.
34916
34917 * loader/efi/chainloader_normal.c (chainloader_command):
34918 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
34919 command line.
34920
34921 * loader/i386/efi/linux.c (allocate_pages): Change allocation
34922 method.
34923 (grub_e820_add_region): New function.
34924 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
34925 booting.
34926 (grub_find_video_card): New function.
34927 (grub_linux_setup_video): New function.
34928 (grub_rescue_cmd_linux): Probe for video information.
34929
34930 * normal/x86_64/setjmp.S: New file.
34931
34932 * term/efi/console.c (map_char): New function.
34933 (grub_console_putchar): Map unicode char.
34934 (grub_console_checkkey): Wrap efi calls.
34935 (grub_console_getkey): Likewise.
34936 (grub_console_getwh): Likewise.
34937 (grub_console_gotoxy): Likewise.
34938 (grub_console_cls): Likewise.
34939 (grub_console_setcolorstate): Likewise.
34940 (grub_console_setcursor): Likewise.
34941
34942 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
34943
59652a20 349442008-07-16 Pavel Roskin <proski@gnu.org>
34945
ef294055 34946 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
34947 format strings.
34948
59652a20 34949 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
34950 pointer, not an integer. This fixes a warning and prevents
34951 precision loss on 64-bit systems.
34952 (relocate_addresses): Remove unneeded cast.
34953
afc3b5d7 349542008-07-15 Pavel Roskin <proski@gnu.org>
34955
506b2b3e 34956 * kern/i386/ieee1275/init.c: Include grub/cache.h.
34957
62ead89c 34958 * term/ieee1275/ofconsole.c: Disable code unused on i386.
34959
c4cd51d7 34960 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
34961 Fix comparison between signed and unsigned.
34962
0d3d8f28 34963 * include/grub/i386/ieee1275/console.h: Declare
34964 grub_console_init() and grub_console_fini().
34965
8804b286 34966 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
34967 It's empty and unused.
34968
ee01cf35 34969 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
34970 beginning to avoid warnings with some compilers.
34971
afc3b5d7 34972 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
34973 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
34974
e4e8eaa5 349752008-07-14 Pavel Roskin <proski@gnu.org>
34976
407aceb4 34977 * kern/env.c (grub_register_variable_hook): Don't copy empty
34978 string, it leaks memory. Pass "" to grub_env_set(), it should
34979 handle constant strings.
34980
e4e8eaa5 34981 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
34982 * commands/cmp.c (grub_cmd_cmp): Likewise.
34983 * kern/dl.c (grub_dl_flush_cache): Likewise.
34984 (grub_dl_load_core): Likewise.
34985 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
34986 (grub_elf64_load_phdrs): Likewise.
34987
d4e2dad3 349882008-07-13 Pavel Roskin <proski@gnu.org>
34989
34990 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
34991 between signed and unsigned.
34992 (LzmaEnc_Finish): Fix warning about an unused parameter.
34993
aa24b516 349942008-07-13 Bean <bean123ch@gmail.com>
34995
34996 * Makefile.in (enable_lzo): New rule.
34997
34998 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
34999
35000 * configure.ac (ENABLE_LZO): New option --enable-lzo.
35001
35002 * boot/i386/pc/lnxboot.S: #include <config.h>.
35003
35004 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 35005 its value according to the compression algorithm used, lzo or lzma.
aa24b516 35006
35007 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
35008 compression algorithm according to configure macro.
35009
35010 * kern/i386/pc/startup.S (codestart): Likewise.
35011
35012 * kern/i386/pc/lzma_decode.S: New file.
35013
35014 * include/grub/lib/LzFind.h: Likewise.
35015
35016 * include/grub/lib/LzHash.h: Likewise.
35017
35018 * include/grub/lib/LzmaDec.h: Likewise.
35019
35020 * include/grub/lib/LzmaEnc.h: Likewise.
35021
35022 * include/grub/lib/LzmaTypes.h: Likewise.
35023
35024 * lib/LzFind.c: Likewise.
35025
35026 * lib/LzmaDec.c: Likewise.
35027
35028 * lib/LzmaEnc.c: Likewise.
35029
4ae821ac 350302008-07-13 Bean <bean123ch@gmail.com>
35031
35032 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
35033 (grub_ext4_extent_header): New structure.
35034 (grub_ext4_extent): Likewise.
35035 (grub_ext4_extent_idx): Likewise.
35036 (grub_ext4_find_leaf): New function.
35037 (grub_ext2_read_block): Handle extents.
35038
9a745147 350392008-07-12 Robert Millan <rmh@aybabtu.com>
35040
35041 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
35042
d49a4cf6 350432008-07-11 Robert Millan <rmh@aybabtu.com>
35044
35045 * util/grub.d/40_custom.in: New file. Example on how to add custom
35046 entries to /etc/grub.d.
35047 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
35048 40_custom (implicitly, by merging all the grub.d rules).
35049
947414b4 350502008-07-11 Pavel Roskin <proski@gnu.org>
35051
0059cf6f 35052 * commands/read.c (grub_getline): Fix invalid memory access.
35053 Don't add newline to the variable value.
35054
947414b4 35055 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
35056 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
35057 (serial_hw_get_port): Check validity of the port number.
35058 (grub_cmd_serial): Check return value of serial_hw_get_port().
35059
62a02d00 350602008-07-07 Pavel Roskin <proski@gnu.org>
35061
35062 * boot/i386/pc/diskboot.S (notification_string): Replace
35063 "Loading kernel" with just "loading". This is shorter, less
35064 confusing and saves a few bytes for possible future changes.
35065
3e5581b0 350662008-07-05 Pavel Roskin <proski@gnu.org>
35067
ea387a48 35068 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
35069 size for ATAPI devices, they are undefined. Output sector
35070 number in decimal form.
35071
3e5581b0 35072 * disk/ata.c: Use named constants for status bits.
35073
fdecb8fd 350742008-07-04 Pavel Roskin <proski@gnu.org>
35075
bcd35b90 35076 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
35077 grub_addr_t before casting it to the void pointer to fix a
35078 warning. Non-addressable regions are discarded earlier.
35079 (grub_arch_modules_addr): Cast _end to grub_addr_t.
35080 * kern/i386/linuxbios/table.c: Include grub/misc.h.
35081 (check_signature): Don't shadow table_header.
35082 (grub_linuxbios_table_iterate): Cast numeric constants to
35083 grub_linuxbios_table_header_t.
35084 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
35085 grub_stop().
35086
af58ab3d 35087 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
35088 prevent warnings.
35089
1759aa57 35090 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
35091 pointer, which can cause warnings. Support 64-bit addresses.
35092
fdecb8fd 35093 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
35094 of sizeof(long). This fixes PowerPC image generation on x86_64.
35095
8516d2a8 350962008-07-04 Robert Millan <rmh@aybabtu.com>
35097
35098 This fixes a performance issue when pc & gpt partmap iterators
35099 didn't abort iteration even after our hook found what it was
fe987087 35100 looking for (often causing expensive probes of non-existent drives).
8516d2a8 35101
35102 Some callers relied on previous buggy behaviour, since they would
34c44600 35103 raise an error when their own hooks caused early abortion of its
8516d2a8 35104 iteration.
35105
35106 * kern/device.c (grub_device_open): Improve error message.
35107 * disk/lvm.c (grub_lvm_open): Likewise.
35108 * disk/raid.c (grub_raid_open): Likewise.
35109
35110 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
35111 when hook requests it, independently of grub_errno.
35112 (pc_partition_map_probe): Do not fail when find_func() caused
35113 early abortion of pc_partition_map_iterate().
35114
35115 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
35116 when hook requests it, independently of grub_errno.
35117 (gpt_partition_map_probe): Do not fail when find_func() caused
35118 early abortion of gpt_partition_map_iterate().
35119
35120 * kern/partition.c (grub_partition_iterate): Abort parent iteration
35121 when hook requests it, independently of grub_errno. Do not fail when
35122 part_map_iterate_hook() caused early abortion of p->iterate().
35123
35124 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
35125 when grub_partition_iterate() returned with non-zero.
35126
277d0de9 351272008-07-03 Pavel Roskin <proski@gnu.org>
35128
35129 * disk/ata.c (grub_ata_pio_write): Check status before writing,
35130 like we do in grub_ata_pio_read().
35131 (grub_ata_readwrite): Always write individual sectors. Fix the
35132 sector count for the remainder.
35133 (grub_ata_write): Enable writing to ATA devices. Correctly
35134 report error for ATAPI devices.
35135
d4c9b428 351362008-07-02 Pavel Roskin <proski@gnu.org>
35137
e43fc690 35138 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
35139 warning.
35140
f707af42 35141 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
35142 for every read sector, we already increment it for the whole
35143 batch. This fixes reading more than 256 sectors at once.
35144
11e16b15 35145 * util/grub-editenv.c (cmd_info): Cast argument to long
35146 explicitly. ptrdiff_t reduces to int on i386.
35147
cbabfdd4 35148 * util/grub-editenv.c (main): Be specific which parameter is
35149 missing.
35150
b8fbce0a 35151 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
35152 (memdisk): Make memdisk_orig_addr a pointer.
35153
c9c8e606 35154 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
35155 for file offsets, use grub_off_t instead. Fix printf format
35156 warnings.
35157
ca62e598 35158 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
35159 there. Real unexpected warnings should not drown in the noise
35160 about known problems.
35161
ce8d1766 35162 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
35163 grub_disk_addr_t for memory addresses.
35164
00c7a56a 35165 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
35166 explicitly to fix a warning.
35167
08d3ef09 35168 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
35169
cb71ba20 35170 * Makefile.in (MODULE_LDFLAGS): New variable.
35171 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
35172 the linker accepts --build-id=none.
35173 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
35174 MODULE_LDFLAGS.
35175 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
35176
d4c9b428 35177 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
35178 those in Linux XFS code. Provide a way to access 64-bit parent
35179 inode.
35180 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
35181 the end of struct grub_xfs_dir_header.
35182
d4156eee 351832008-07-02 Bean <bean123ch@gmail.com>
35184
35185 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
35186 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
35187 and GRUB_IEEE1275_FLAG_NO_ANSI.
35188
35189 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
35190 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
35191 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
35192
35193 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
35194 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
35195
35196 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
35197 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
35198
35199 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
35200 esc sequence on non ANSI terminal.
35201 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
35202
35203 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
35204 beginning of file.
35205
2270f77b 352062008-07-02 Bean <bean123ch@gmail.com>
35207
35208 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
35209 (grub_editenv_SOURCES): New variable.
35210 (pkglib_MODULES): Add loadenv.mod.
35211 (loadenv_mod_SOURCES): New variable.
35212 (loadenv_mod_CFLAGS): Likewise.
35213 (loadenv_mod_LDFLAGS): Likewise.
35214
35215 * include/grub/envblk.h: New file.
35216
35217 * util/envblk.c: New file.
35218
35219 * util/grub-editenv.c: New file.
35220
35221 * commands/loadenv.c: New file.
35222
0e9e51ec 352232008-07-01 Pavel Roskin <proski@gnu.org>
35224
d89b7634 35225 * include/multiboot2.h (struct multiboot_tag_module): Use char,
35226 not unsigned char. This fixes warnings and is consistent with
35227 other tags.
35228
bf1835b1 35229 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
35230
8222a04b 35231 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
35232
6a42d99d 35233 * term/tparm.c (analyze): Always set *popcount.
35234
10b159d1 35235 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
35236 cast to fix a warning.
35237
b8789f6c 35238 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
35239 cast to suppress a warning.
35240
29d7e38a 35241 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
35242 grub_fshelp_read_file() expects.
35243
f341f669 35244 * fs/fat.c: Fix UUID calculation on big-endian systems. We
35245 write uuid as a 32-bit value in CPU byte order, so declare and
35246 use it as such.
35247
0e9e51ec 35248 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
35249 long if the format specifier expects it.
35250 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
35251 * partmap/pc.c (pc_partition_map_iterate): Likewise.
35252 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
35253 long to fix a warning.
35254 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
35255 grub_dprintf() arguments to fix warnings.
35256
3aefa857 352572008-06-30 Pavel Roskin <proski@gnu.org>
35258
56c7668b 35259 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
35260 install_bsd_part immediately before core.img is embedded or
35261 modified on disk. This fixes core.img verification if core.img
35262 cannot be embedded.
35263
3aefa857 35264 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
35265 core_path to calculate the blocklist.
35266 Patch from Javier Martín <lordhabbit@gmail.com>
35267
5444088d 352682008-06-29 Robert Millan <rmh@aybabtu.com>
35269
35270 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
35271 block to disk block.
35272 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
35273 Patch from Niels Böhm <bitbucket@arcor.de>
35274
674835c8 352752008-06-29 Robert Millan <rmh@aybabtu.com>
35276
35277 * util/update-grub_lib.in (font_path): Search for fonts in
35278 /boot/grub first, which is more likely to be readable (we aren't
35279 deciding where fonts live, just looking for them).
35280
f527dbc8 352812008-06-26 Pavel Roskin <proski@gnu.org>
35282
6c2d8df6 35283 * util/biosdisk.c (read_device_map): Don't leave dead map
35284 entries for devices failing stat() check.
35285
f527dbc8 35286 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
35287 core_path_dev for the core.img path on the target device.
35288
aebe3d13 352892008-06-26 Robert Millan <rmh@aybabtu.com>
35290
35291 * disk/fs_uuid.c: New file.
35292 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
35293 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
35294 (fs_uuid_mod_LDFLAGS): New variables.
35295 * include/grub/disk.h (grub_disk_dev_id): Add
35296 `GRUB_DISK_DEVICE_UUID_ID'.
35297 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
35298 implement iterate().
35299
37aaf354 353002008-06-26 Robert Millan <rmh@aybabtu.com>
35301
35302 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
35303 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
35304 Linux image includes no initrd.
35305
25ff262a 353062008-06-21 Javier Martín <lordhabbit@gmail.com>
35307
35308 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
35309 call to resolve the core image location that effectively appended the
35310 name twice.
35311
76a2bd44 353122008-06-21 Robert Millan <rmh@aybabtu.com>
35313
35314 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
35315 call from here ...
35316
35317 * util/grub.d/10_hurd.in: ... to here ...
35318 * util/grub.d/10_linux.in: ... and here.
35319
650e1c79 353202008-06-19 Robert Millan <rmh@aybabtu.com>
35321
fe987087 35322 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 35323 after it has been set by grub_machine_set_prefix().
35324
6ce63911 353252008-06-19 Robert Millan <rmh@aybabtu.com>
35326
35327 * commands/search.c (search_label, search_fs_uuid, search_file): Print
35328 search result when not saving to variable, not the other way around.
35329 When saving to variable, abort iteration as soon as a match is found.
35330
73940cec 353312008-06-19 Robert Millan <rmh@aybabtu.com>
35332
35333 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
35334 check for partition that provides /boot/grub. Its logic is flawed,
35335 as it prevents prepare_grub_to_access_device() from being called
35336 multiple times.
35337
3c62a39d 353382008-06-19 Robert Millan <rmh@aybabtu.com>
35339
35340 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
35341 "insmod" command directly when abstraction modules are needed,
fe987087 35342 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 35343 since it had already been processed).
35344
47395a42 353452008-06-19 Pavel Roskin <proski@gnu.org>
35346
35347 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
35348 changed. This is needed in case GRUB_LIBDIR changes.
35349 * conf/i386-ieee1275.rmk: Likewise.
35350 * conf/i386-linuxbios.rmk: Likewise.
35351 * conf/i386-pc.rmk: Likewise.
35352 * conf/powerpc-ieee1275.rmk: Likewise.
35353
a145ac2d 353542008-06-18 Pavel Roskin <proski@gnu.org>
35355
35356 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
35357 kernel_elf_symlist.c to symlist.c for consistency with other
35358 architectures. Update all users.
35359 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
35360
7847c51e 353612008-06-18 Robert Millan <rmh@aybabtu.com>
35362
35363 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
35364 it in prefix.
35365
35366 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
35367 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
35368 a RAID device, run setup() for all members independently on whether
35369 LVM abstraction is being used.
35370 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
35371 If grub-mkimage has set `*install_dos_part == -2', don't override this
35372 value.
35373 Perform *install_dos_part adjustments independently on whether
35374 we're embedding or not.
35375 Clarify error message when image is too big for embedding.
35376 Remove duplicate *install_dos_part stanza.
35377
b23e5644 353782008-06-17 Robert Millan <rmh@aybabtu.com>
35379
35380 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
35381 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
35382 variables.
35383 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
35384 values in grub_ofconsole_normal_color and
35385 grub_ofconsole_highlight_color (they're not directly related to
35386 background and foreground).
35387 (grub_ofconsole_setcolorstate): Extract background and foreground
35388 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
35389
0aac2f79 353902008-06-17 Robert Millan <rmh@aybabtu.com>
35391
35392 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
35393 /boot/grub for the check in last commit, not /boot (they could be
35394 different partitions).
35395
3cca7ef3 353962008-06-16 Robert Millan <rmh@aybabtu.com>
35397
35398 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
35399 asked to setup access for the same partition that provides /boot,
35400 don't bother using UUIDs since our root already has the value we
35401 want.
35402
347396d8 354032008-06-16 Robert Millan <rmh@aybabtu.com>
35404
35405 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
35406 I2O devices.
35407 Patch from Sven Mueller <sven@debian.org>.
35408
991477f8 354092008-06-16 Robert Millan <rmh@aybabtu.com>
35410
35411 * util/update-grub.in: Check for $EUID instead of $UID.
35412 Reported by Vincent Zweije.
35413
d31a32a1 354142008-06-16 Bean <bean123ch@gmail.com>
35415
fe987087 35416 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 35417 (grub_ext2_read_block): Likewise.
35418 (grub_ext2_read_inode): Likewise.
35419 (grub_ext2_mount): Likewise.
35420 (grub_ext2_close): Likewise.
35421 (grub_ext3_get_journal): Removed.
35422
fe987087 35423 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 35424 (grub_reiserfs_read_symlink): Likewise.
35425 (grub_reiserfs_mount): Likewise.
35426 (grub_reiserfs_open): Likewise.
35427 (grub_reiserfs_read): Likewise.
35428 (grub_reiserfs_close): Likewise.
35429 (grub_reiserfs_get_journal): Removed.
35430
35431 * fs/fshelp.c (grub_fshelp_read): Removed.
35432 (grub_fshelp_map_block): Likewise.
35433
35434 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
35435 (grub_fshelp_journal): Likewise.
35436 (grub_fshelp_read): Likewise.
35437 (grub_fshelp_map_block): Likewise.
35438
3540a760 354392008-06-16 Pavel Roskin <proski@gnu.org>
35440
35441 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
35442 floating point anymore.
35443 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
35444
95614c84 354452008-06-15 Pavel Roskin <proski@gnu.org>
35446
35447 * commands/ls.c (grub_ls_list_files): Use integer calculations
35448 for human readable format, avoid floating point use.
35449 * kern/misc.c (grub_ftoa): Remove.
35450 (grub_vsprintf): Remove floating point support.
35451
50465dd6 354522008-06-15 Robert Millan <rmh@aybabtu.com>
35453
fe6b695a 35454 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 35455 devices.
35456 Reported by Max Vozeler.
35457
a9207284 354582008-06-15 Robert Millan <rmh@aybabtu.com>
35459
35460 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
35461 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
35462 skipped later.
35463 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
35464 the beginning of the prefix.
35465
35466 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
35467 It is assumed that if we have a memdisk, grub-mkimage has set
35468 grub_prefix to include the "(memdisk)" drive in it.
35469
a7cbd45a 354702008-06-15 Robert Millan <rmh@aybabtu.com>
35471
35472 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
35473 Initialize keyboard controller after registering the terminal, so that
35474 grub_printf() can be called from grub_keyboard_controller_init().
35475
21cf716a 354762008-06-15 Robert Millan <rmh@aybabtu.com>
35477
35478 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
35479 extent-btree which is written as big endian on disk.
35480 Reported by Alain Greppin <al@chilibi.org>.
35481
23a64d8e 354822008-06-14 Robert Millan <rmh@aybabtu.com>
35483
35484 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
35485 * util/i386/pc/grub-install.in (modules): Likewise.
35486
d687651c 354872008-06-13 Pavel Roskin <proski@gnu.org>
35488
35489 * commands/ls.c (grub_ls_list_files): Fix format warnings.
35490
dfe9ddd4 354912008-06-13 Bean <bean123ch@gmail.com>
35492
35493 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
35494
35495 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
35496
35497 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
35498 to indicate sparse block.
35499
16ae7781 355002008-06-12 Pavel Roskin <proski@gnu.org>
35501
e6d1a308 35502 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
35503 number, grub_fshelp_read() does it for us.
35504
16ae7781 35505 * fs/fshelp.c (grub_fshelp_read): New function. Implement
35506 linear disk read with journal translation.
35507 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
35508 * include/grub/fshelp.h: Declare grub_fshelp_read().
35509
40fd3a2b 355102008-06-09 Pavel Roskin <proski@gnu.org>
35511
35512 * fs/minix.c (grub_minix_mount): Handle error reading
35513 superblock.
35514
f5679726 355152008-06-08 Robert Millan <rmh@aybabtu.com>
35516
35517 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
35518 don't append the RAID prefix afterwards.
35519 Reported by Clint Adams.
35520
ce525529 355212008-06-08 Robert Millan <rmh@aybabtu.com>
35522
35523 Based on description from Pavel:
35524 * kern/disk.c (grub_disk_check_range): Rename to ...
35525 (grub_disk_adjust_range): ... this. Add a comment explaining the
35526 tasks performed by this function.
35527
ad4936a0 355282008-06-08 Robert Millan <rmh@aybabtu.com>
35529
35530 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
35531 `num_serial' (for consistency with other variables).
35532 (struct grub_ntfs_data): Add `uuid' member.
35533 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
35534 (grub_ntfs_uuid): New function.
35535 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
35536
dc20b0f9 355372008-06-07 Pavel Roskin <proski@gnu.org>
35538
35539 * util/biosdisk.c (open_device): Revert last change to the
35540 function, it broke installation. The sector needs to be
35541 different dependent on which device is opened.
35542
c5e3cfba 355432008-06-06 Robert Millan <rmh@aybabtu.com>
35544
35545 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
35546 rest of GRUB, and breakage doesn't happen if its value were modified.
35547
35548 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
35549 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
35550 a constant (same value).
35551 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
35552 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
35553
26a1f8c4 355542008-06-06 Robert Millan <rmh@aybabtu.com>
35555
35556 * util/biosdisk.c (open_device): Do not modify sector offset when
35557 accessing a partition. kern/disk.c already handles this for us.
35558
25d6b327 355592008-06-06 Robert Millan <rmh@aybabtu.com>
35560
35561 * util/grub-emu.c (grub_machine_init): Move code in this function from
35562 here ...
35563 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
35564 segfault in case grub_printf() is called).
35565
35566 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
35567 grub_probe. Update all users not to explicitly add it again.
35568 (grub_device): New variable; contains corresponding device for grubdir.
35569 (fs_module, partmap_module, devabstraction_module): Pass
35570 `--device ${grub_device}' to grub_probe to avoid traversing /dev
35571 every time.
35572
9ece62fb 355732008-06-05 Robert Millan <rmh@aybabtu.com>
35574
35575 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
35576 is found, print it (same layout as with labels).
35577
1ad36d37 355782008-06-04 Robert Millan <rmh@aybabtu.com>
35579
35580 * util/biosdisk.c (get_drive): Rename to ...
35581 (find_grub_drive): ... this. Update all users.
35582
35583 (get_os_disk): Rename to ...
35584 (convert_system_partition_to_system_disk): ... this. Update all users.
35585
35586 (find_drive): Rename to ...
35587 (find_system_device): ... this. Update all users.
35588
e6a30859 355892008-06-04 Robert Millan <rmh@aybabtu.com>
35590
35591 * util/biosdisk.c (get_os_disk): Handle IDA devices.
35592 * util/grub-mkdevicemap.c (get_mmc_disk_name)
35593 (make_device_map): Likewise.
35594
00c108a4 355952008-06-01 Robert Millan <rmh@aybabtu.com>
35596
35597 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
35598 before dereferencing it.
35599
35600 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
35601 union with fat12/fat16-specific ones. Add some new fields, including
35602 `num_serial' for both versions.
35603 (struct grub_fat_data): Add `uuid' member.
35604 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
35605 names. Initialize `data->uuid' using `num_serial'.
35606 (grub_fat_uuid): New function.
35607 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
35608
35609 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
35610 (grub_reiserfs_uuid): New function.
35611 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
35612 member.
35613
35614 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
35615 (grub_xfs_uuid): New function.
35616 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
35617
1385c5bb 356182008-06-01 Robert Millan <rmh@aybabtu.com>
35619
35620 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
35621 code that is backward compatible with pre-uuid search command.
35622
c682dfd7 356232008-05-31 Robert Millan <rmh@aybabtu.com>
35624
35625 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
35626 floppies after everything else, to ensure floppy drive isn't accessed
35627 unnecessarily (patch from Bean).
35628
b7db5d47 356292008-05-31 Robert Millan <rmh@aybabtu.com>
35630
35631 * commands/search.c (search_label, search_fs_uuid, search_file): Do
35632 not print device names when we were asked to set a variable.
35633
6e037aa9 356342008-05-31 Robert Millan <rmh@aybabtu.com>
35635
35636 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
35637 using "cursor-on" and "cursor-off" commands (understood at least by
35638 the Open Firmware flavour on OLPC).
35639
41305bc8 356402008-05-31 Michael Gorven <michael@gorven.za.net>
35641
35642 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
35643 on and off sequences.
35644
69ba137e 356452008-05-31 Robert Millan <rmh@aybabtu.com>
35646
35647 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
35648 * util/update-grub.in: Likewise.
35649
520ae21b 356502008-05-30 Pavel Roskin <proski@gnu.org>
35651
35652 * util/biosdisk.c (linux_find_partition): Simplify logic and
35653 make the code more universal. Keep special processing for
35654 devfs, but use a simple rule for all other devices. If the
35655 device ends with a number, append 'p' and the partition number.
35656 Otherwise, append only the partition number.
35657
5786569b 356582008-05-30 Robert Millan <rmh@aybabtu.com>
35659
35660 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
35661 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
35662 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
35663 the `root' parameter to Linux.
35664
51500452 356652008-05-30 Robert Millan <rmh@aybabtu.com>
35666
35667 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
35668 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
35669 --fs_uuid with --fs-uuid.
35670 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
35671 all filesystems support them).
35672
811d3878 356732008-05-30 Robert Millan <rmh@aybabtu.com>
35674
35675 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 35676 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 35677
cab63c95 356782008-05-30 Robert Millan <rmh@aybabtu.com>
35679
35680 * util/grub.d/00_header.in: Remove obsolete comment referencing
35681 convert_system_path_to_grub_path().
35682 * util/update-grub.in: Likewise.
35683 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
35684 (convert_system_path_to_grub_path): Add a warning message explaining
35685 that this function is deprecated. Rely on is_path_readable_by_grub()
35686 for the readability checks.
35687 (font_path): Use is_path_readable_by_grub() for the readability
35688 check rather than convert_system_path_to_grub_path().
35689
972e2f7a 356902008-05-30 Robert Millan <rmh@aybabtu.com>
35691
35692 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
35693 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
35694 converting it first.
35695 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
35696 grub.cfg for access to font file, and afterwards call it again to set
35697 the root device.
35698
62191274 356992008-05-30 Robert Millan <rmh@aybabtu.com>
35700
35701 * commands/search.c (options): Add --fs_uuid option.
35702 (search_fs_uuid): New function.
35703 (grub_cmd_search): Fix --set argument passing.
35704 Use search_fs_uuid() when requested via --fs_uuid.
35705 (grub_search_init): Update help message.
35706 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
35707 and redeclare it as an array of 16-bit words.
35708 (grub_ext2_uuid): New function.
35709 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
35710 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
35711 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
35712 (GRUB_DEVICE_BOOT_UUID): New variables.
35713 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
35714 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
35715 whenever possible.
35716 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
35717 just assume `root' variable has the right value.
35718 * util/grub.d/10_linux.in: Likewise.
35719 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
35720 via PRINT_FS_UUID.
35721 (main): Recognise `-t fs_uuid' argument.
35722
01b73ec8 357232008-05-30 Robert Millan <rmh@aybabtu.com>
35724
35725 * util/biosdisk.c (map): Redefine structure to hold information
35726 about GRUB drive name.
fe6b695a 35727 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 35728 drive names.
35729 (call_hook): Remove.
35730 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
35731 member. Assume drive has partitions.
35732 (grub_util_biosdisk_open): Access device names via `.device' struct
35733 member.
35734 (open_device): Likewise.
35735 (find_drive): Likewise.
35736 (read_device_map): Adjust map[] usage to match the new struct
35737 definition. Don't check for duplicates (still possible, but not cheap
35738 anymore).
35739 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
35740 (make_device_name): Remove assumption of BIOS-like drive names.
35741
22f16596 357422008-05-30 Pavel Roskin <proski@gnu.org>
35743
35744 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
35745 compiling execute.c doesn't need grub_script.tab.h anymore.
35746 (normal/command.c_DEPENDENCIES): Likewise.
35747 (normal/function.c_DEPENDENCIES): Likewise.
35748 * conf/i386-ieee1275.rmk: Likewise.
35749 * conf/i386-linuxbios.rmk: Likewise.
35750 * conf/i386-pc.rmk: Likewise.
35751 * conf/powerpc-ieee1275.rmk: Likewise.
35752 * conf/sparc64-ieee1275.rmk: Likewise.
35753
528ad8f2 357542008-05-29 Pavel Roskin <proski@gnu.org>
35755
d1dff95d 35756 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
35757 when scanning metadata for volume group name.
35758
528ad8f2 35759 * include/grub/script.h: Don't include grub_script.tab.h. It's
35760 a generated file, which may only be included from the files with
35761 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
35762 use union YYSTYPE, as the later allows forward declaration.
35763 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
35764
47248e08 357652008-05-29 Robert Millan <rmh@aybabtu.com>
35766
35767 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
35768 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
35769 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
35770 (grub_console_checkkey): Add grub_dprintf() call to report unknown
35771 scan codes.
35772
ee632529 357732008-05-29 Robert Millan <rmh@aybabtu.com>
35774
35775 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
35776 control key combinations.
35777
eee96e08 357782008-05-29 Robert Millan <rmh@aybabtu.com>
35779
35780 * util/powerpc/ieee1275/grub-install.in: Move from here ...
35781 * util/ieee1275/grub-install.in: ... to here.
35782 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
35783 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
35784 (grub_install_SOURCES): Likewise.
35785
da9a6a94 357862008-05-29 Robert Millan <rmh@aybabtu.com>
35787
35788 * fs/affs.c: Update copyright year.
35789 * fs/ext2.c: Likewise.
35790 * fs/fshelp.c: Likewise.
35791 * fs/hfsplus.c: Likewise.
35792 * fs/ntfs.c: Likewise.
35793 * fs/xfs.c: Likewise.
35794 * include/grub/fshelp.h: Likewise.
35795 * util/grub-mkdevicemap.c: Likewise.
35796
12e65f3a 357972008-05-28 Robert Millan <rmh@aybabtu.com>
35798
35799 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
35800 might need to be fatfs to support some firmware implementations
35801 (e.g. OFW or EFI).
35802
23023641 358032008-05-28 Robert Millan <rmh@aybabtu.com>
35804
35805 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
35806 devices.
35807 * util/grub-mkdevicemap.c (get_mmc_disk_name)
35808 (make_device_map): Likewise.
35809
887d2619 358102008-05-20 Bean <bean123ch@gmail.com>
35811
35812 * fs/fshelp.c (grub_fshelp_map_block): New function.
35813 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
35814 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
35815
35816 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
35817 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
35818 (grub_fshelp_journal): New structure.
35819 (grub_fshelp_map_block): New function prototype.
35820 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
35821 (grub_fshelp_map_block): Likewise.
35822
35823 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
35824 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
35825 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
35826 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
35827 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
35828 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
35829 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
35830 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
35831 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
35832 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
35833 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
35834 (grub_ext2_sblock): New members for journal support.
35835 (grub_ext3_journal_header): New structure.
35836 (grub_ext3_journal_revoke_header): Likewise.
35837 (grub_ext3_journal_block_tag): Likewise.
35838 (grub_ext3_journal_sblock): Likewise.
35839 (grub_fshelp_node): New members logfile and journal.
35840 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
35841 grub_fshelp_map_block to get real block number.
35842 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
35843 number.
35844 (grub_ext2_read_inode): Likewise.
35845 (grub_ext3_get_journal): New function.
35846 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
35847 (grub_ext2_close): Release memory used by journal.
35848
35849 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
35850 (REISERFS_MAGIC_DESC_BLOCK): New macro.
35851 (grub_reiserfs_transaction_header): Renamed to
35852 grub_reiserfs_description_block, replace field data with real_blocks.
35853 (grub_reiserfs_commit_block): New structure.
35854 (grub_reiserfs_data): New member journal.
35855 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
35856 number.
35857 (grub_reiserfs_read_symlink): Likewise.
35858 (grub_reiserfs_iterate_dir): Likewise.
35859 (grub_reiserfs_open): Likewise.
35860 (grub_reiserfs_read): Likewise.
35861 (grub_reiserfs_get_journal): New function.
35862 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
35863 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
35864 using grub_reiserfs_get_journal.
35865 (grub_reiserfs_close): Release memory used by journal.
35866
35867 * fs/affs.c (grub_affs_read_block): Change block type to
35868 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
35869
35870 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
35871
35872 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
35873
35874 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
35875
35876 * fs/udf.c (grub_udf_read_block): Change block type to
35877 grub_disk_addr_t. Use type cast to avoid warning.
35878
35879 * fs/xfs.c (grub_xfs_read_block): Likewise.
35880
b7c6bed5 358812008-05-16 Christian Franke <franke@computer.org>
35882
35883 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
35884 to ensure that break with ESC will always work.
35885 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
35886 Remove ESC from keyboard queue.
35887
eedf167f 358882008-05-16 Christian Franke <franke@computer.org>
35889
35890 * util/biosdisk.c: [__CYGWIN__] Add includes.
35891 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
35892 (get_os_disk): Move variable declarations to OS specific
35893 parts to avoid warning.
35894 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
35895 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
35896 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
35897 Cygwin.
35898 * util/getroot.c: [__CYGWIN__] Add includes.
35899 (strip_extra_slashes): Fix "/" case.
35900 [__CYGWIN__] (get_win32_path): New function.
35901 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
35902 [__CYGWIN__] (find_root_device): Disable.
35903 [__CYGWIN__] (get_bootsec_serial): New function.
35904 [__CYGWIN__] (find_cygwin_root_device): Likewise.
35905 [__linux__] (grub_guess_root_device): Add early returns to simplify
35906 structure.
35907 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
35908 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
35909 check for Linux only.
35910
a079699e 359112008-05-15 Bean <bean123ch@gmail.com>
35912
35913 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
35914 keyboard hang problem in apple's intel mac.
35915
1cf4059a 359162008-05-09 Robert Millan <rmh@aybabtu.com>
35917
35918 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
35919 devices.
35920 * util/grub-mkdevicemap.c (get_virtio_disk_name)
35921 (make_device_map): Likewise.
35922 Reported by Aurelien Jarno <aurel32@debian.org>
35923
ed759390 359242008-05-07 Ian Campbell <ijc@hellion.org.uk>
35925
35926 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
35927 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
35928 (make_device_map): Output entries for xvd type disks.
35929
b56c4eaa 359302008-05-07 Robert Millan <rmh@aybabtu.com>
35931
35932 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
35933 devices.
35934 * util/grub-mkdevicemap.c (get_cciss_disk_name)
35935 (make_device_map): Likewise.
35936 Reported by Roland Dreier <rdreier@cisco.com>
35937
7f8866ed 359382008-05-07 Robert Millan <rmh@aybabtu.com>
35939
35940 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
35941 grub_strstr() call. Correct a few mistakes in failure path handling.
35942
b0346e0f 359432008-05-06 Robert Millan <rmh@aybabtu.com>
35944
35945 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
35946 Do not print a trailing slash (therefore, the root directory is an
35947 empty string).
35948 (convert_system_path_to_grub_path): Do not remove trailing slash
35949 from make_system_path_relative_to_its_root() output.
35950
35951 * util/i386/pc/grub-install.in: Add trailing slash to output from
35952 make_system_path_relative_to_its_root().
35953
6cf12cbd 359542008-05-06 Robert Millan <rmh@aybabtu.com>
35955
35956 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
35957 ensures that output lines aren't intermangled with those sent to
35958 stderr (via grub_util_info()).
35959 * util/grub-probe.c (grub_refresh): Likewise.
35960 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
35961
0fbb3117 359622008-05-05 Christian Franke <franke@computer.org>
35963
35964 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
35965 Add Cygwin device names.
35966 (get_ide_disk_name) [__CYGWIN__]: Likewise.
35967 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
35968 (check_device): Return error instead of success on empty name.
35969 (make_device_map): Move label inside linux specific code to
35970 prevent compiler warning.
35971
8124cdb7 359722008-04-30 Robert Millan <rmh@aybabtu.com>
35973
35974 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
35975 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
35976 first boot option.
35977 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
35978
094c01d0 359792008-04-29 Robert Millan <rmh@aybabtu.com>
35980
35981 * docs/grub.cfg: New file (example GRUB configuration).
35982
f4b1fc02 359832008-04-26 Robert Millan <rmh@aybabtu.com>
35984
329ce2a5 35985 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
35986 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
35987 and `disk/ieee1275/nand.c'.
f4b1fc02 35988
25f16ec1 359892008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 35990
25f16ec1 35991 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
35992 i386-linuxbios.
35993
35994 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
35995 change the buffer size to 4096 for cdrom device.
35996
35997 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
35998 and nand.mod.
35999 (_linux_mod_SOURCES): New variable.
36000 (_linux_mod_CFLAGS): Likewise.
36001 (_linux_mod_LDFLAGS): Likewise.
36002 (linux_mod_SOURCES): Likewise.
36003 (linux_mod_CFLAGS): Likewise.
36004 (linux_mod_LDFLAGS): Likewise.
36005 (nand_mod_SOURCES): Likewise.
36006 (nand_mod_CFLAGS): Likewise.
36007 (nand_mod_LDFLAGS): Likewise.
36008
36009 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
36010 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
36011 type property. (nand device in olpc don't have this property)
36012
36013 * include/grub/disk.h (grub_disk_dev_id): New macro
36014 GRUB_DISK_DEVICE_NAND_ID.
36015
36016 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
36017 function prototype.
36018 (grub_rescue_cmd_initrd): Likewise.
36019
36020 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
36021 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
36022 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 36023
25f16ec1 36024 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
36025 GRUB_MACHINE_IEEE1275 is defined.
36026
36027 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
36028 Use NESTED_FUNC_ATTR attribute on the hook parameter.
36029
36030 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
36031 on nested function heap_init.
36032 (grub_upper_mem): New variable for i386-ieee1275.
36033 (grub_get_extended_memory): New function for i386-ieee1275.
36034 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
36035
36036 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
36037 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
36038 property.
f19dbdb7 36039
25f16ec1 36040 * loader/i386/ieee1275/linux.c: New file.
36041
36042 * loader/i386/ieee1275/linux_normal.c: New file.
36043
36044 * disk/ieee1275/nand.c: New file.
36045
e89d61e9 360462008-04-18 Thomas Schwinge <tschwinge@gnu.org>
36047
36048 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
36049 value.
36050 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
36051
602566f6 360522008-04-18 Robert Millan <rmh@aybabtu.com>
36053
36054 Restructures early code path on ieee1275 to unify grub_main() as
36055 the first C function that is executed in every platform.
36056
36057 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
36058 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
36059 cmain().
36060 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
36061 * kern/ieee1275/cmain.c (cmain): Rename to ...
36062 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
36063 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
36064 at the beginning.
36065
57490c2b 360662008-04-18 Robert Millan <rmh@aybabtu.com>
36067
36068 * util/update-grub.in: Fix syntax error when setting
36069 `GRUB_PRELOAD_MODULES'.
36070 Reported by Stephane Chazelas <stephane@artesyncp.com>
36071
1977517d 360722008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
36073
36074 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
36075 section into account, newer toolchains generate unique build ids
36076 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 36077 we want build ids to be preserved
1977517d 36078 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
36079 far from other sections don't cause the raw binary images grow
36080 size
36081
bfb1f1a2 360822008-04-15 Robert Millan <rmh@aybabtu.com>
36083
36084 * disk/lvm.c: Update copyright year.
36085 * kern/misc.c: Likewise.
36086
01979850 360872008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
36088
36089 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 36090 there is no memory left for physical volume name.
01979850 36091
0a1150e2 360922008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
36093
36094 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
36095 volume name mapping to support bigger than 9 character names properly.
36096
82ead3fe 360972008-04-13 Robert Millan <rmh@aybabtu.com>
36098
36099 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
36100 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
36101
e54a72f5 361022008-04-13 Christian Franke <franke@computer.org>
36103
36104 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
36105 to create a floppy emulation boot CD when non emulation mode
36106 does not work.
36107 Enable Joliet CD filesystem extension.
36108
9fe86034 361092008-04-13 Robert Millan <rmh@aybabtu.com>
36110
36111 * kern/misc.c (grub_strncat): Fix off-by-one error.
36112 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
36113
36114 * kern/env.c (grub_env_context_close): Clear current context, not
36115 previous one.
36116 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
36117
36118 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
36119
7ceeee39 361202008-04-13 Robert Millan <rmh@aybabtu.com>
36121
36122 Improve robustness when handling LVM.
36123
36124 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 36125 (and leave `*p' unmodified).
7ceeee39 36126 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
36127 through it.
36128 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
36129 iterating through it.
36130 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
36131 through it.
fe6b695a 36132 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 36133 when due) on each grub_lvm_getvalue() or grub_strstr() call.
36134 Don't assume `vg->pvs != NULL' when iterating through it.
36135
58cd3d85 361362008-04-13 Robert Millan <rmh@aybabtu.com>
36137
36138 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
36139 * genmk.rb (partmap): New variable.
36140 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
36141 (#{partmap}): New target rule.
36142 * genpartmaplist.sh: New file.
36143 * Makefile.in (pkglib_DATA): Add partmap.lst.
36144 (partmap.lst): New target rule.
36145 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
36146 modules (including all partition maps), instead of preloading them.
36147
78b51059 361482007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
36149
36150 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
36151 `linux-boot-prober' (if installed) to detect other operating
36152 systems which are installed on the computer and add them to
36153 the boot menu.
36154 * conf/common.rmk: Build and install 30_os-prober.
36155
a91627b4 361562008-04-12 Robert Millan <rmh@aybabtu.com>
36157
36158 * kern/powerpc/ieee1275/init.c: Move from here ...
36159 * kern/ieee1275/init.c: ... to here. Update all users.
36160
36161 * kern/powerpc/ieee1275/cmain.c: Move from here ...
36162 * kern/ieee1275/cmain.c: ... to here. Update all users.
36163
36164 * kern/powerpc/ieee1275/openfw.c: Move from here ...
36165 * kern/ieee1275/openfw.c: ... to here. Update all users.
36166
36167 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
36168 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
36169
322562ea 361702008-04-10 Pavel Roskin <proski@gnu.org>
36171
36172 * configure.ac: Always use "_cv_" in cache variables for
36173 compatibility with Autoconf 2.62.
36174
a02a73c5 361752008-04-07 Robert Millan <rmh@aybabtu.com>
36176
36177 Revert grub/machine/init.h addition by Pavel (since it breaks on
36178 i386-ieee1275 and others):
36179 * util/i386/pc/misc.c: Remove grub/machine/init.h.
36180 * util/powerpc/ieee1275/misc.c: Likewise.
36181
25c024b1 361822008-04-07 Robert Millan <rmh@aybabtu.com>
36183
36184 * util/grub-probe.c (probe): Improve error message.
36185
3cbd2f98 361862008-04-07 Robert Millan <rmh@aybabtu.com>
36187
36188 * util/biosdisk.c (read_device_map): Skip devices that don't exist
36189 (this prevents the presence of a bogus entry from ruining the whole
36190 thing).
36191
87a297bf 361922008-04-06 Pavel Roskin <proski@gnu.org>
36193
36747a62 36194 * util/biosdisk.c: Include grub/util/biosdisk.h.
36195 * util/grub-fstest.c (execute_command): Make static.
36196 * util/grub-mkdevicemap.c (check_device): Likewise.
36197 * util/i386/pc/misc.c: Include grub/machine/init.h.
36198 * util/powerpc/ieee1275/misc.c: Likewise.
36199 * util/lvm.c: Include grub/util/lvm.h.
36200 * util/misc.c: Include grub/kernel.h, grub/misc.h and
36201 grub/cache.h.
36202 * util/raid.c: Include grub/util/raid.h.
36203 (grub_util_getdiskname): Make static.
36204
87a297bf 36205 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
36206 grub_hostfs_fini(), as they are called from grub_init_all() and
36207 grub_fini_all() respectively. This fixes an infinite loop in
36208 grub-fstest due to double registration of hostfs.
36209 Reported by Christian Franke <Christian.Franke@t-online.de>
36210
f6ce7629 362112008-04-05 Pavel Roskin <proski@gnu.org>
36212
36213 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
36214 all 8 functions. Otherwise, probe function 0 only.
36215
070e49e4 362162008-04-04 Pavel Roskin <proski@gnu.org>
36217
8b088a4c 36218 * commands/lspci.c (grub_lspci_iter): Print the bus number
36219 correctly.
36220
4f657021 36221 * commands/lspci.c (grub_pci_classes): Fix typos.
36222 (grub_lspci_iter): Don't print func twice. Print vendor ID
36223 before device ID, as it's normally done.
36224
070e49e4 36225 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
36226 Fix signedness warnings.
36227 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
36228 Likewise.
36229 * util/ieee1275/get_disk_name.c: Include config.h so that
36230 _GNU_SOURCE is defined and getline() is declared. Mark an
36231 unused argument as such. Fix a signedness warning.
36232
ba7328dc 362332008-04-02 Pavel Roskin <proski@gnu.org>
36234
26887f22 36235 * genkernsyms.sh.in: Use more robust assignments for CC and
36236 srcdir. Quote srcdir.
36237 * gensymlist.sh.in: Likewise. Assert at the compile time that
36238 the symbol table is not empty.
36239
ba7328dc 36240 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
36241 * fs/cpio.c (grub_cpio_read): Likewise.
36242
0f582c6b 362432008-04-01 Pavel Roskin <proski@gnu.org>
36244
4b6e1995 36245 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
36246 * disk/host.c (grub_host_open): Likewise.
36247 * disk/loopback.c (grub_loopback_open): Likewise.
36248 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
36249 disk->id as in disk/host.c, not a multi-character constant.
36250
828a2768 36251 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
36252 later is obsolete, potentially dangerous and sets a bad example.
36253 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
36254 * util/misc.c (grub_util_get_image_size): Likewise.
36255
2bb4fb47 36256 * disk/loopback.c (options): Improve help for "--partitions".
36257
0f582c6b 36258 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
36259 options to align them with the short options, e.g. "echo -e".
36260
a33224e0 362612008-03-31 Bean <bean123ch@gmail.com>
36262
36263 * video/reader/png.c (grub_png_data): New member is_16bit and
36264 image_data.
36265 (grub_png_decode_image_header): Detect 16 bit png image.
36266 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
36267 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
36268 (grub_video_reader_png): Release memory occupied by image_data.
36269
36270 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
36271 4096 bytes.
36272 (grub_nfs_mount): Skip the test for sector per cluster.
36273
36274 * include/grub/ntfs.h (MAX_SPC): Removed.
36275
86cb4f54 362762008-03-31 Bean <bean123ch@gmail.com>
36277
36278 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
36279 (grub_probe_SOURCES): Add fs/afs.c.
36280 (grub_fstest_SOURCES): Likewise.
36281 (afs_mod_SOURCES): New variable.
36282 (afs_mod_CFLAGS): Likewise.
36283 (afs_mod_LDFLAGS): Likewise.
36284
36285 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
36286 (grub_emu_SOURCES): Likewise.
36287
36288 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36289
36290 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36291
36292 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36293
36294 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36295
36296 * fs/afs.c: New file.
36297
17c74c21 362982008-03-30 Pavel Roskin <proski@gnu.org>
36299
4cb68e89 36300 * disk/host.c: Include grub/misc.h to fix a warning.
36301 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
36302 warnings about implicit declarations.
36303
8790bb04 36304 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
36305 variable.
36306 * include/grub/i386/loader.h: Change declaration of
36307 grub_linux_boot() to match what grub_loader_set() expects.
36308 * util/getroot.c (grub_guess_root_device): Return const char* to
36309 fix a warning.
36310 * util/grub-probe.c (probe): Fix a warning about uninitialized
36311 abstraction_name variable.
36312 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
36313 second argument as unused to fix a warning.
36314
9a3f3296 36315 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
36316 missing grub_error() call.
36317
0ecef90d 36318 * util/update-grub_lib.in: Define datarootdir, since Autoconf
36319 2.60 and newer uses it to define datadir.
36320
0bf6d401 36321 * commands/sleep.c: Fix warning about implicit declaration.
36322 * disk/memdisk.c: Likewise.
36323 * loader/aout.c: Likewise.
36324 * loader/i386/bsd_normal.c: Likewise.
36325 * util/grub-probe.c: Likewise.
36326
7cdacf97 36327 * commands/i386/cpuid.c (has_longmode): Make static.
36328 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
36329 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
36330
17c74c21 36331 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
36332 GDT. This is more robust, as %ds can change.
36333 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
36334 calling real_to_prot().
36335 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
36336
80a3e68b 363372008-03-28 Pavel Roskin <proski@gnu.org>
36338
36339 * kern/i386/pc/startup.S: Assert that uncompressed functions
36340 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
36341 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
36342 code, as they push parts of the code (error handlers) beyond
36343 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
36344 code as correctness and size.
36345
77bcd272 363462008-03-28 Pavel Roskin <proski@gnu.org>
36347
36348 * kern/i386/pc/startup.S
36349 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
36350 data block address to the real mode, keep offset minimal. This
36351 works around a bug in AWARD BIOS on old Athlon systems, which
36352 makes CD detection hang.
36353
c5dfd43b 363542008-03-26 Pavel Roskin <proski@gnu.org>
36355
36356 * normal/color.c (grub_parse_color_name_pair): Make `name' a
36357 const.
36358 * include/grub/normal.h: Add grub_parse_color_name_pair()
36359 declaration.
36360
bf962df2 363612008-03-24 Bean <bean123ch@gmail.com>
36362
36363 * disk/i386/pc/biosdisk.c (cd_start): Removed.
36364 (cd_count): Removed.
36365 (cd_drive): New variable.
36366 (grub_biosdisk_get_drive): Don't check for (cdN) device.
36367 (grub_biosdisk_call_hook): Likewise.
36368 (grub_biosdisk_iterate): Change cdrom detection method.
36369 (grub_biosdisk_open): Replace cd_start with cd_drive.
36370 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
36371 detect cdrom device.
36372
36373 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
36374 Removed.
36375 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
36376 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
36377 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
36378 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
36379 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
36380 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
36381 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
36382 (grub_biosdisk_cdrp): New structure.
36383 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
36384
36385 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
36386
36387 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
36388 device.
36389
36390 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
36391 New function.
36392
68e7fc7a 363932008-03-20 Robert Millan <rmh@aybabtu.com>
36394
36395 Remove 2 TiB limit in ata.mod.
36396 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
36397 (grub_ata_dumpinfo): Print sector count with 0x%llx.
36398 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
36399 grub_uint64_t instead of grub_uint32_t.
36400
38ad2cf5 364012008-03-05 Bean <bean123ch@gmail.com>
36402
36403 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
36404 (grub_multiboot): Set boot device.
36405
36406 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
36407
2b89344e 364082008-03-02 Bean <bean123ch@gmail.com>
36409
36410 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
36411 symlink_buffer.
36412
87a95d1f 364132008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
36414
36415 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
36416 texinfo.tex.
36417
36418 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
36419 modified.
36420
36421 * docs/fdl.texi: New file.
f19dbdb7 36422
87a95d1f 36423 * docs/mdate-sh: New file. Copied from gnulib.
36424 * docs/texinfo.tex: Likewise.
36425
36426 * config.guess: Updated from gnulib.
36427 * install-sh: Likewise.
36428
7dc15d8e 364292008-02-28 Robert Millan <rmh@aybabtu.com>
36430
36431 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
36432 (aout_mod_SOURCES): New variable.
36433 (aout_mod_CFLAGS): Likewise.
36434 (aout_mod_LDFLAGS): Likewise.
36435
36436 * conf/i386-ieee1275.rmk: Likewise.
36437
b00ab696 364382008-02-28 Robert Millan <rmh@aybabtu.com>
36439
36440 * util/update-grub.in: Reorganise terminal validity check. Accept
36441 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
36442 Based on suggestion by Franklin PIAT.
36443
79ca2d78 364442008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
36445
36446 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
36447 function.
36448 * util/getroot.c (grub_util_check_block_device): New function that
36449 returns the given argument if it is a block device and returns NULL else.
36450 * util/grub-probe.c (argument_is_device): New variable.
36451 (probe): Promote device_name from a variable to an argument. Receive
36452 device_name from grub_util_check_block_device() if path is NULL and from
36453 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 36454 (options): Introduce new parameter '-d, --device'.
79ca2d78 36455 (main): Add description of the new parameter to the help screen.
36456 Rename path variable to argument. Set argument_is_device if the '-d'
36457 option is given. Pass argument to probe() depending on
36458 argument_is_device.
36459
0d16e571 364602008-02-24 Bean <bean123ch@gmail.com>
36461
36462 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
36463 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
36464 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
36465 (GRUB_ISO9660_VOLDESC_PART): Likewise.
36466 (GRUB_ISO9660_VOLDESC_END): Likewise.
36467 (grub_iso9660_primary_voldesc): New member escape.
36468 (grub_iso9660_data): New member joliet.
36469 (grub_iso9660_convert_string): New function.
36470 (grub_iso9660_mount): Detect joliet extension.
36471 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
36472 (grub_iso9660_iso9660_label): Likewise.
36473
36474 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
36475 (grub_setup_SOURCES): Add fs/udf.c.
36476 (grub_fstest_SOURCES): Likewise.
36477 (udf_mod_SOURCES): New variable.
36478 (udf_mod_CFLAGS): Likewise.
36479 (udf_mod_LDFLAGS): Likewise.
36480
36481 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
36482 (grub_emu_SOURCES): Likewise.
36483
36484 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36485
36486 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36487
36488 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36489
36490 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36491
36492 * fs/udf.c: New file.
36493
8a594a17 364942008-02-24 Robert Millan <rmh@aybabtu.com>
36495
36496 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
36497 (normal/lexer.c_DEPENDENCIES): New variables.
36498 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
36499 (normal/lexer.c_DEPENDENCIES): Likewise.
36500 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
36501 (normal/lexer.c_DEPENDENCIES): Likewise.
36502 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
36503 (normal/lexer.c_DEPENDENCIES): Likewise.
36504 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
36505 (normal/lexer.c_DEPENDENCIES): Likewise.
36506 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
36507 (normal/lexer.c_DEPENDENCIES): Likewise.
36508
2dc33c03 365092008-02-23 Robert Millan <rmh@aybabtu.com>
36510
36511 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
36512 since they were intended to be in hex. This didn't break previously
36513 because of a bug in gpt_partition_map_iterate() (see below).
36514
36515 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
36516 when checking the validity of GPT header.
36517 Remove `partno', since it always provides the same information as `i'.
36518
f6f4cfb0 365192008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
36520
36521 * include/grub/efi/time.h: Fix a wrong comment.
36522
79ff665f 365232008-02-19 Pavel Roskin <proski@gnu.org>
36524
36525 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
36526 message.
36527
d38e24c2 365282008-02-19 Bean <bean123ch@gmail.com>
36529
36530 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
36531 (aout_mod_SOURCES): New variable.
36532 (aout_mod_CFLAGS): Likewise.
36533 (aout_mod_LDFLAGS): Likewise.
36534 (_bsd_mod_SOURCES): New variable.
36535 (_bsd_mod_CFLAGS): Likewise.
36536 (_bsd_mod_LDFLAGS): Likewise.
36537 (bsd_mod_SOURCES): New variable.
36538 (bsd_mod_CFLAGS): Likewise.
36539 (bsd_mod_LDFLAGS): Likewise.
36540
36541 * include/grub/aout.h: New file.
36542
36543 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
36544
36545 * include/grub/i386/bsd.h: New file.
36546
36547 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
36548 to make it public.
36549
36550 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
36551 function is called, so that it's possible to change it inside the hook.
36552 (grub_elf64_load): Likewise.
36553 (grub_elf_file): Don't close the file if elf header is not found.
36554 (grub_elf_close): Close the file if grub_elf_file fails (The new
36555 grub_elf_file won't close it).
36556 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
36557 (grub_elf64_size): Likewise.
36558
36559 * kern/i386/loader.S (grub_unix_real_boot): New function.
36560
36561 * loader/aout.c: New file.
36562
36563 * loader/i386/bsd.c: New file.
36564
36565 * loader/i386/bsd_normal.c: New file.
36566
36567 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
36568
36569 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 36570 can test other formats.
d38e24c2 36571
b93bdb0f 365722008-02-19 Robert Millan <rmh@aybabtu.com>
36573
36574 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
36575 (grub_gpt_partition_type_empty): Redefine with macro from
36576 `<grub/gpt_partition.h>'.
36577 (gpt_partition_map_iterate): Adjust partition type comparison.
36578
36579 Export `entry' as partmap-specific `part.data' struct.
36580 (grub_gpt_header, grub_gpt_partentry): Move from here ...
36581
36582 * include/grub/gpt_partition.h (grub_gpt_header)
36583 (grub_gpt_partentry): ... to here (new file).
36584
36585 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
36586
36587 (grub_gpt_partition_type_bios_boot): New const variable, defined
36588 with macro from `<grub/gpt_partition.h>'.
36589
36590 (setup): Replace `first_start' with `embed_region', which keeps
36591 track of the embed region (and is partmap-agnostic).
36592
36593 Replace find_first_partition_start() with find_usable_region(),
36594 which finds a usable region for embedding using partmap-specific
36595 knowledge (supports PC/MSDOS and GPT).
36596
36597 Fix all assumptions that the embed region start at sector 1, using
36598 `embed_region.start' from now on. Similarly, use `embed_region.end'
36599 rather than `first_start' to calculate available size.
36600
36601 In grub_util_info() message, replace "into after the MBR" with an
36602 indication of the specific sector our embed region starts at.
36603
66cb40f6 366042008-02-19 Robert Millan <rmh@aybabtu.com>
36605
36606 * DISTLIST: Replace `commands/ieee1275/halt.c' and
36607 `commands/ieee1275/reboot.c' with `commands/halt.c' and
36608 `commands/reboot.c'.
36609 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
36610 (halt_mod_SOURCES): Likewise.
36611 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
36612 (halt_mod_SOURCES): Likewise.
36613
b7202015 366142008-02-17 Christian Franke <franke@computer.org>
36615
36616 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
36617
32b0fc49 366182008-02-17 Robert Millan <rmh@aybabtu.com>
36619
36620 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
36621 set `first_start' to 0 for non-PC/MSDOS partition maps.
36622
aca63502 366232008-02-16 Robert Millan <rmh@aybabtu.com>
36624
36625 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
36626 do not assume partition map is PC/MSDOS before performing checks that
36627 are specific to that layout.
36628
0de8be86 366292008-02-13 Robert Millan <rmh@aybabtu.com>
36630
36631 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
36632 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
36633 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
36634
c3db8364 366352008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
36636
36637 * configure.ac: Only a cosmetic change on the handling of
36638 -fno-stack-protector.
36639
f714229e 366402008-02-12 Alexandre Boeglin <alex@boeglin.org>
36641
c3db8364 36642 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
36643 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
36644 reboot.c.
f714229e 36645 (grub_install_SOURCES): Add halt.mod and reboot.mod.
36646 (halt_mod_SOURCES): New variable.
36647 (halt_mod_CFLAGS): Likewise.
36648 (halt_mod_LDFLAGS): Likewise.
36649 (reboot_mod_SOURCES): Likewise.
36650 (reboot_mod_CFLAGS): Likewise.
36651 (reboot_mod_LDFLAGS): Likewise.
36652
c3db8364 36653 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
36654 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
36655 reboot.c.
f714229e 36656 (halt_mod_SOURCES): Likewise.
36657 (reboot_mod_SOURCES): Likewise.
36658
c3db8364 36659 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
36660 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 36661 (reboot_mod_SOURCES): Likewise.
36662
36663 * commands/i386/pc/reboot.c: merge this file ...
36664
36665 * commands/ieee1275/reboot.c: ... and this file ...
36666
36667 * commands/reboot.c: ... to this file.
c3db8364 36668 Add some precompiler directive to include the correct header for
36669 each machine.
f714229e 36670
36671 * commands/ieee1275/halt.c: move this file ...
36672
36673 * commands/halt.c: ... to here.
c3db8364 36674 Add some precompiler directive to include the correct header for
36675 each machine.
f714229e 36676
36677 * include/grub/efi/efi.h (grub_reboot): New function declaration.
36678 (grub_halt): Likewise.
36679
36680 * kern/efi/efi.c (grub_reboot): New function.
36681 (grub_halt): Likewise.
36682
c74493e0 366832008-02-12 Robert Millan <rmh@aybabtu.com>
36684
36685 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
36686 /dev (like it is done for /dev/mapper). This doesn't provide support
36687 for EVMS, but at least it is now easy to identify the problem when it
36688 arises.
36689
d0db4b04 366902008-02-11 Robert Millan <rmh@aybabtu.com>
36691
36692 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
36693 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
36694 comparing it with -1, not 0.
36695
bf748642 366962008-02-10 Robert Millan <rmh@aybabtu.com>
36697
36698 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
36699 `disk/lvm.c'.
36700 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36701 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
36702
36703 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
36704 `disk/lvm.c' to the end of the list.
36705 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36706 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36707
b5db202a 367082008-02-10 Robert Millan <rmh@aybabtu.com>
36709
36710 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
36711 grub_print_error() instead. This will let user know why we're entering
36712 rescue mode.
36713 Based on suggestions from Sam Morris.
36714
83abee31 367152008-02-10 Alexandre Boeglin <alex@boeglin.org>
36716
36717 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
36718 on remaining N args, instead of "--" arg N times.
36719
78d5a08b 367202008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
36721
36722 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
36723 (fill_with_default_glyph): Changed to use unknown_glyph for fill
36724 pattern for unknown glyphs.
36725
68807e5f 367262008-02-09 Robert Millan <rmh@aybabtu.com>
36727
36728 * configure.ac: Probe for `help2man'.
36729 * Makefile.in (builddir): New variable.
36730 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
36731 or otherwise add a few flags/options to it.
36732 (install-local): For every executable utility or script that is
36733 installed, invoke $(HELP2MAN) to install a manpage based on --help
36734 output.
36735
36736 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
36737 that it doesn't prevent --help from working in build tree.
36738
36739 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
36740 with `bug-grub@gnu.org'.
36741 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
36742 * util/update-grub.in (usage): New function.
36743 Implement proper argument check, with support for --help and --version
36744 (as well as existing -y).
36745
367462008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 36747
36748 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
36749 avoid overwriting previous output.
36750 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
36751
c1962162 367522008-02-09 Robert Millan <rmh@aybabtu.com>
36753
36754 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
36755 drawing the menu.
36756
3dac2e3f 367572008-02-09 Robert Millan <rmh@aybabtu.com>
36758
36759 * commands/sleep.c: New file.
36760 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
36761 (sleep_mod_SOURCES): New variable.
36762 (sleep_mod_CFLAGS): Likewise.
36763 (sleep_mod_LDFLAGS): Likewise.
36764
7a634e08 367652008-02-09 Robert Millan <rmh@aybabtu.com>
36766
36767 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
36768 situations in which we can deduce the RAID size and the superblock
36769 doesn't match it.
36770
b92f0c18 367712008-02-09 Robert Millan <rmh@aybabtu.com>
36772
36773 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
36774 and return a grub_diskmemberlist_t composed of LVM physical volumes.
36775 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
36776
36777 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
36778 and return a grub_diskmemberlist_t composed of physical array members.
36779 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
36780
36781 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
36782 prototype.
36783 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
36784 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
36785 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
36786
36787 * util/grub-probe.c (probe): Move partmap probing code from here ...
36788 (probe_partmap): ... to here.
36789 (probe): Use probe_partmap() once for the disk we're probing, and
36790 additionally, when such disk contains a memberlist() struct member,
36791 once for each disk that is contained in the structure returned by
36792 memberlist().
36793
91a4bf68 367942008-02-09 Robert Millan <rmh@aybabtu.com>
36795
36796 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
36797 environment variable to 'all' in order to obtain debug output from
36798 non-util/ code.
36799 * util/i386/pc/grub-setup.c (main): Likewise.
36800
a96f9caa 368012008-02-08 Robert Millan <rmh@aybabtu.com>
36802
36803 * disk/raid.c (grub_raid_scan_device): Check for
36804 `array->device[sb.this_disk.number]' rather than for
36805 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 36806 guaranteed to be accessible.
a96f9caa 36807
b37a9222 368082008-02-08 Robert Millan <rmh@aybabtu.com>
36809
36810 * disk/raid.c: Update copyright.
36811 * fs/cpio.c: Likewise.
36812 * include/grub/raid.h: Likewise.
36813 * loader/i386/pc/multiboot.c: Likewise.
36814 * util/hostfs.c: Likewise.
36815
5626aee1 368162008-02-08 Robert Millan <rmh@aybabtu.com>
36817
36818 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
36819 to a grub_disk_t array.
36820 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
36821 `device[x]'.
36822 (grub_raid_scan_device): Replace `device[x].name' accesses with
36823 `device[x]->name'. Simplify initialization of `array->device[x]'.
36824
554f0187 368252008-02-08 Robert Millan <rmh@aybabtu.com>
36826
36827 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
36828 grub_dprintf() calls.
36829 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
36830 error message.
36831
1ec8425d 368322008-02-07 Christian Franke <franke@computer.org>
36833
36834 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
36835 instead of fseek and ftell to support large files.
36836 (grub_hostfs_read): Likewise.
36837
f2156fda 368382008-02-07 Robert Millan <rmh@aybabtu.com>
36839
36840 Patch from Jeroen Dekkers.
36841 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 36842 failure, since successfully reading all array members might not be
f2156fda 36843 required.
36844
9216e0e7 368452008-02-06 Robert Millan <rmh@aybabtu.com>
36846
36847 * util/grub-probe.c (probe): Simplify partmap probing (with the
36848 assumption that the first word up to the underscore equals to
36849 the module name).
36850
b0dfd29a 368512008-02-06 Christian Franke <franke@computer.org>
36852
36853 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
36854 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
36855 last block of a cpio or tar stream.
36856 Check for "TRAILER!!!" instead of any empty data
36857 block to detect last block of a cpio stream.
36858 (grub_cpio_dir): Fix constness of variable np.
36859 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
36860 cpio or tar trailer is detected. This fixes a crash
36861 on open of a non existing file.
36862
c32865bf 368632008-02-05 Bean <bean123ch@gmail.com>
36864
36865 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
36866 address of entry.
36867 (grub_multiboot_load_elf64): Likewise.
36868 (grub_multiboot): Initialize mbi structure.
36869
36870 * util/grub-fstest.c: Don't include unused header file script.h.
36871
fe6b695a 36872 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 36873 of file.
36874 (grub_fstest_SOURCES): Likewise.
36875
409480b7 368762008-02-05 Robert Millan <rmh@aybabtu.com>
36877
36878 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
36879 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
36880 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
36881 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
36882
36883 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
36884 (translation_table): Replace hardcoded values with macros
36885 provided by `<grub/term.h>'.
36886
36887 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
36888 (keyboard_map): Correct/add a few values, with macros provided
36889 by `<grub/term.h>'.
36890 (keyboard_map_shift): Zero values that don't differ from their
36891 `keyboard_map' equivalents.
36892 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
36893 Discard the second scan code that is always sent by Caps lock.
36894 Only use `keyboard_map_shift' when it provides a non-zero value,
36895 otherwise fallback to `keyboard_map'.
36896
99fadbaa 368972008-02-04 Bean <bean123ch@gmail.com>
36898
36899 * Makefile.in (enable_grub_fstest): New variable.
36900
36901 * conf/common.rmk (grub_fstest_init.lst): New rule.
36902 (grub_fstest_init.h): Likewise.
36903 (grub_fstest_init.c): Likewise.
36904 (util/grub-fstest.c_DEPENDENCIES): New variable.
36905 (grub_fstest_SOURCES): Likewise.
36906
36907 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
36908
36909 * util/grub-fstest.c: New file.
36910
bf567c50 369112008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
36912
36913 Make grub-setup handle a separate root device.
f19dbdb7 36914
bf567c50 36915 * util/i386/pc/grub-setup.c (setup): Always open the root device,
36916 so that the root device can be compared with the destination
36917 device.
36918 When embedding the core image, if the root and destination devices
36919 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
36920 0xFF.
36921 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 36922
9be6b98b 369232008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
36924
36925 Add support for having a grub directory in a different drive. This
36926 is still only the data handling part.
f19dbdb7 36927
9be6b98b 36928 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
36929 (codestart): Save %dh in GRUB_ROOT_DRIVE.
36930 (grub_root_drive): New variable.
36931
36932 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
36933 instead of GRUB_BOOT_DRIVE to construct a device name. Set
36934 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
36935 as it was.
36936
36937 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
36938
36939 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
36940 macro.
36941 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
36942
36943 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
36944 is bogus, because PXE booting does not specify any drive
36945 correctly.
36946
36947 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
36948 am not sure if this is really correct.
36949
36950 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
36951 is always identical to the boot drive when booting from a CD.
36952
36953 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
36954 longer.
36955 (root_drive): New variable.
36956 (real_start): Unconditionally set %dh to ROOT_DRIVE.
36957 (setup_sectors): Push %dx right after popping it, because %dh will
36958 be modified later.
36959 (copy_buffer): Restore %dx.
36960
e0ca0677 369612008-02-03 Robert Millan <rmh@aybabtu.com>
36962
36963 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
36964 use `cdboot.img' for cdrom images.
36965
3b3f6629 369662008-02-03 Robert Millan <rmh@aybabtu.com>
36967
36968 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
36969 only setup gfxterm when `font' command has succeeded.
36970
d42b3672 369712008-02-03 Robert Millan <rmh@aybabtu.com>
36972
36973 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
36974 (grub_rescue_cmd_multiboot_loader)
36975 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
36976
fa370ea6 369772008-02-03 Pavel Roskin <proski@gnu.org>
36978
e0c5dacb 36979 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 36980 %edx and %esi from stack only after grub_gate_a20() is called.
36981 grub_gate_a20() clobbers %edx.
36982
f2a76e1d 369832008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
36984
36985 * configure.ac (AC_INIT): Bumped to 1.96.
36986
36987 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
36988 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
36989 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
36990 video/readers/png.c.
36991
90fd32d1 369922008-02-03 Bean <bean123ch@gmail.com>
9be665dd 36993
36994 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
36995 (cdboot_img_SOURCES): New variable.
36996 (cdboot_img_ASFLAGS): New variable.
36997 (cdboot_img_LDFLAGS): New variable.
36998
36999 * boot/i386/pc/cdboot.S: New file.
37000
37001 * disk/i386/pc/biosdisk.c (cd_start): New variable.
37002 (cd_count): Likewise.
37003 (grub_biosdisk_get_drive): Add support for cd device.
37004 (grub_biosdisk_call_hook): Likewise.
37005 (grub_biosdisk_iterate): Likewise.
37006 (grub_biosdisk_open): Likewise.
37007 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
37008 (grub_biosdisk_rw): Support reading from cd device.
37009 (GRUB_MOD_INIT): Iterate cd devices.
37010
37011 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
37012 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
37013 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
37014
37015 * kern/i386/pc/init.c (make_install_device): Check for cd device.
37016
4020aa53 370172008-02-02 Robert Millan <rmh@aybabtu.com>
37018
37019 * commands/read.c: New file.
37020 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
37021 (read_mod_SOURCES): New variable.
37022 (read_mod_CFLAGS): Likewise.
37023 (read_mod_LDFLAGS): Likewise.
37024
e03a1132 370252008-02-02 Robert Millan <rmh@aybabtu.com>
37026
37027 * normal/main.c (grub_normal_execute): Check for `menu->size' when
37028 determining whether menu has to be displayed.
37029
58c69220 370302008-02-02 Marco Gerards <marco@gnu.org>
37031
37032 * bus/pci.c: New file.
37033
37034 * include/grub/pci.h: Likewise.
37035
37036 * include/grub/i386/pc/pci.h: Likewise.
37037
37038 * commands/lspci.c: Likewise.
37039
37040 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
37041 `lspci.mod'.
37042 (pci_mod_SOURCES): New variable.
37043 (pci_mod_CFLAGS): Likewise.
37044 (pci_mod_LDFLAGS): Likewise.
37045 (lspci_mod_SOURCES): Likewise.
37046 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 37047 (lspci_mod_LDFLAGS): Likewise.
58c69220 37048
c004e1b4 370492008-02-02 Bean <bean123ch@gmail.com>
37050
37051 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
37052 (grub_ufs_get_file_block): Fix indirect block calculation problem.
37053
37054 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
37055 (grub_xfs_btree_node): New structure.
37056 (grub_xfs_btree_root): New structure.
37057 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
37058 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
37059 (GRUB_XFS_EXTENT_BLOCK): Likewise.
37060 (GRUB_XFS_EXTENT_SIZE): Likewise.
37061 (grub_xfs_read_block): Support btree format type.
37062 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
37063 Use directory block as basic unit.
37064
37065 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
37066
37067 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
37068 __attribute__ ((__regparm__ (1))).
37069
f95562bf 370702008-02-01 Robert Millan <rmh@aybabtu.com>
37071
37072 Correct a mistake in previous commit.
37073
37074 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
37075 top.
37076 (normal/command.c_DEPENDENCIES): New variable.
37077
7d31f41f 370782008-02-01 Robert Millan <rmh@aybabtu.com>
37079
37080 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
37081 top.
37082 (normal/command.c_DEPENDENCIES): New variable.
37083 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
37084 * conf/i386-ieee1275.rmk: Likewise.
37085 * conf/i386-linuxbios.rmk: Likewise.
37086 * conf/i386-pc.rmk: Likewise.
37087 * conf/sparc64-ieee1275.rmk: Likewise.
37088 * conf/powerpc-ieee1275.rmk: Likewise.
37089 (grub_emu_SOURCES): Add `fs/fshelp.c'.
37090
37091 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
37092
60b6be74 370932008-02-01 Robert Millan <rmh@aybabtu.com>
37094
37095 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
37096 call at beginning of function.
37097
078522ab 370982008-01-31 Pavel Roskin <proski@gnu.org>
37099
37100 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 37101 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
37102 (grub_mkrescue_SOURCES): Likewise.
078522ab 37103 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
37104
ccaa8a5f 371052008-01-30 Robert Millan <rmh@aybabtu.com>
37106
37107 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
37108 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
37109 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
37110 (grub_probe_SOURCES): ... to here.
37111
37112 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
37113 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
37114 * conf/i386-ieee1275.rmk: Likewise.
37115 * conf/i386-linuxbios.rmk: Likewise.
37116 * conf/powerpc-ieee1275.rmk: Likewise.
37117
ae5a9cd7 371182008-01-30 Tristan Gingold <gingold@free.fr>
37119
37120 * kern/rescue.c: Silently accept empty lines.
37121
70bc2ef2 371222008-01-29 Bean <bean123ch@gmail.com>
37123
37124 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
37125 (real_code_2): Code cleanup and change comment style.
37126 (move_memory): Avoid using 32-bit address mode.
37127
6a4d50ea 371282008-01-29 Bean <bean123ch@gmail.com>
37129
37130 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
37131 (png_mod_SOURCES): New variable.
37132 (png_mod_CFLAGS): Likewise.
37133 (png_mod_LDFLAGS): Likewise.
37134
37135 * video/readers/png.c: New file.
37136
11cc30ac 371372008-01-28 Robert Millan <rmh@aybabtu.com>
37138
37139 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
37140 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
37141 `ifndef GRUB_MOD_GAP' hack.
37142 * util/elf/grub-mkimage.c (add_segments): Likewise.
37143
3abc589f 371442008-01-27 Robert Millan <rmh@aybabtu.com>
37145
37146 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
37147 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 37148 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 37149
e1907778 371502008-01-27 Robert Millan <rmh@aybabtu.com>
37151
37152 Get grub-emu to build again (including parallel builds).
37153
37154 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
37155 Split into ...
37156 (util/grub-emu.c_DEPENDENCIES): ... this, ...
37157 (normal/execute.c_DEPENDENCIES): ... this, ...
37158 (grub-emu_DEPENDENCIES): ... and this.
37159
37160 * conf/i386-efi.rmk: Likewise.
37161 * conf/i386-linuxbios.rmk: Likewise.
37162 * conf/i386-ieee1275.rmk: Likewise.
37163 * conf/powerpc-ieee1275.rmk: Likewise.
37164 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
37165
2216b101 371662008-01-27 Robert Millan <rmh@aybabtu.com>
37167
37168 * NEWS: Add a few items.
37169
f75172d9 371702008-01-27 Robert Millan <rmh@aybabtu.com>
37171
37172 Fix parallel builds with grub-emu. Based on earlier commit for
37173 grub-probe and grub-setup.
37174
37175 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37176 (util/grub-emu.c_DEPENDENCIES): ... this.
37177 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37178 (util/grub-emu.c_DEPENDENCIES): ... this.
37179 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37180 (util/grub-emu.c_DEPENDENCIES): ... this.
37181 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37182 (util/grub-emu.c_DEPENDENCIES): ... this.
37183 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37184 (util/grub-emu.c_DEPENDENCIES): ... this.
37185
3f51de77 371862008-01-27 Pavel Roskin <proski@gnu.org>
37187
37188 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
37189 to create a gap between _end and the modules added to the image
37190 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
37191 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
37192 * util/elf/grub-mkimage.c (add_segments): Likewise.
37193
2033f53e 371942008-01-26 Pavel Roskin <proski@gnu.org>
37195
37196 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
37197 just return an error.
37198
22da1f6f 371992008-01-26 Bean <bean123ch@gmail.com>
37200
37201 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
37202 (grub_reiserfs_get_item): Save offset of the next item.
37203 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
37204
2a9525e6 372052008-01-25 Robert Millan <rmh@aybabtu.com>
37206
37207 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
37208 make all filesystem sources appear together (possibly fixing omissions
37209 while at it).
37210 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37211 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37212 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37213 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37214
37215 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
37216 add `kern/file.c'.
37217 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
37218 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
37219 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
37220 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
37221
37222 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
37223 (probe): Add a sanity check to make sure of our ability to read
37224 requested files when probing for filesystem type.
37225
37226 * genmk.rb: Update copyright year (2007).
37227
37228 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
37229 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
37230 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
37231 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
37232 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
37233 : Remove function prototypes.
37234
b95f71b5 372352008-01-25 Robert Millan <rmh@aybabtu.com>
37236
37237 Revert my previous commits (based on wrong assumption of how grub_errno
37238 works).
37239
fe6b695a 37240 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 37241 * kern/file.c (grub_file_open): Likewise.
37242
d08bbb49 372432008-01-24 Pavel Roskin <proski@gnu.org>
37244
37245 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
37246 that hang if GRUB tries to setup colors.
37247 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
37248 colors for firmwares that don't support it.
37249 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
37250 Recognize Open Hack'Ware, set flags to work around its
37251 limitations.
37252
605e36ed 372532008-01-24 Robert Millan <rmh@aybabtu.com>
37254
37255 * kern/file.c (grub_file_open): Do not account previous failures of
37256 unrelated functions when grub_errno is checked for.
37257 Reported by Oleg Strikov.
37258
bac332a1 372592008-01-24 Bean <bean123ch@gmail.com>
37260
37261 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
37262 (grub_ufs_sblock): New member volume name.
37263 (grub_ufs_find_file): Fix string copy bug.
37264 (grub_ufs_label): Implement this function properly.
37265
37266 * fs/hfs.c (grub_hfs_cnid_type): New enum.
37267 (grub_hfs_iterate_records): Use the correct file number for extents
37268 and catalog file. Fix problem in next index calculation.
37269 (grub_hfs_find_node): Replace recursive function call with loop.
37270 (grub_hfs_iterate_dir): Replace recursive function call with loop.
37271
15c80c09 372722008-01-23 Robert Millan <rmh@aybabtu.com>
37273
37274 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
37275 `<grub/symbol.h>' and `<grub/multiboot.h>'.
37276 (grub_multiboot2_real_boot): New function prototype.
37277
37278 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
37279 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
37280
37281 * kern/i386/ieee1275/init.c (grub_os_area_addr)
37282 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
37283
305338fd 372842008-01-23 Robert Millan <rmh@aybabtu.com>
37285
37286 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
37287 #ifdef'ed out grub_printf().
37288
3ea52685 372892008-01-23 Robert Millan <rmh@aybabtu.com>
37290
37291 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
37292 grub_dprintf calls, since they make "debug=all" mode unusable.
37293 (grub_console_checkkey): Likewise.
37294
5882ae4b 372952008-01-23 Robert Millan <rmh@aybabtu.com>
37296
37297 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
37298 `term/i386/pc/at_keyboard.c'.
37299 (pkglib_MODULES): Add `serial.mod'.
37300 (serial_mod_SOURCES): New variable.
37301 (serial_mod_CFLAGS): Likewise.
37302 (serial_mod_LDFLAGS): Likewise.
37303
37304 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
37305 `<grub/powerpc/ieee1275/console.h>'.
37306 (grub_keyboard_controller_init): New function prototype.
37307 (grub_console_checkkey): Likewise.
37308 (grub_console_getkey): Likewise.
37309
37310 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
37311 keyboard on i386.
37312
37313 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
37314 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
37315
06ab5303 373162008-01-23 Robert Millan <rmh@aybabtu.com>
37317
37318 * kern/i386/pc/init.c (make_install_device): When memdisk image is
37319 present, "(memdisk)/boot/grub" becomes the default prefix.
37320
37321 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
37322 a memdisk tarball with all the modules. Add --overlay=DIR option that
37323 allows users to overlay additional files into the image.
37324
dbb475a4 373252008-01-23 Robert Millan <rmh@aybabtu.com>
37326
37327 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
37328 and `machine/memory.h'.
37329 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
37330 (_multiboot_mod_SOURCES): New variable.
37331 (_multiboot_mod_CFLAGS): Likewise.
37332 (_multiboot_mod_LDFLAGS): Likewise.
37333 (multiboot_mod_SOURCES): Likewise.
37334 (multiboot_mod_CFLAGS): Likewise.
37335 (multiboot_mod_LDFLAGS): Likewise.
37336
37337 * include/grub/i386/ieee1275/loader.h: New file.
37338
37339 * include/grub/i386/ieee1275/machine.h: Likewise.
37340
37341 * include/grub/i386/ieee1275/memory.h: Likewise.
37342
37343 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
37344 variable declaration.
37345 (grub_os_area_size): Likewise.
37346
37347 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
37348 (grub_lower_mem, grub_upper_mem): New variables.
37349 (grub_stop_floppy): New function (just to make
37350 grub_multiboot2_real_boot() happy).
37351
37352 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
37353 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
37354 (grub_stop): New function.
37355 Include `"../realmode.S"' and `"../loader.S"'.
37356
37357 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
37358 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
37359
37360 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
37361 rely on grub_multiboot2_real_boot() for final boot.
37362
25638629 373632008-01-22 Robert Millan <rmh@aybabtu.com>
37364
37365 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
37366 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
37367 device that doesn't look like an SD card.
37368 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
37369 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
37370 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
37371 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
37372 found.
37373
9dad816d 373742008-01-22 Robert Millan <rmh@aybabtu.com>
37375
37376 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
37377 avoid claiming over our own code.
37378
34842f2d 373792008-01-22 Bean <bean123ch@gmail.com>
37380
37381 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
37382 (jpeg_mod_SOURCES): New variable.
37383 (jpeg_mod_CFLAGS): Likewise.
37384 (jpeg_mod_LDFLAGS): Likewise.
37385
37386 * video/readers/jpeg.c : New file.
37387
44023a28 373882008-01-22 Bean <bean123ch@gmail.com>
37389
37390 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
37391 there are no more items.
37392
bc2d8ac6 373932008-01-21 Robert Millan <rmh@aybabtu.com>
37394
37395 * kern/mm.c (grub_mm_init_region): Improve debug message.
37396
261bd4bc 373972008-01-21 Robert Millan <rmh@aybabtu.com>
37398
37399 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
37400 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
37401 address.
37402 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
37403 a C macro.
37404 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
37405 Indicates start of upper memory.
37406 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
37407 (generate_image): Abort when image size is big enough to corrupt
37408 upper memory.
37409
37410 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
37411 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
37412 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
37413 instead of hardcoding 0xA0000.
37414 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
37415 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
37416 instead of hardcoding 0xA0000.
37417
f970b55e 374182008-01-21 Robert Millan <rmh@aybabtu.com>
37419
37420 * disk/memdisk.c (memdisk_size): New variable.
37421 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
37422 `memdisk_size'.
37423 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
37424 image to dynamic memory.
37425 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
37426 `memdisk_size'. Free memdisk block.
37427
1a8b0526 374282008-01-21 Robert Millan <rmh@aybabtu.com>
37429
37430 Fix detection of very small filesystems (like tar).
37431
37432 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
37433 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
37434 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
37435 a problem with this disk).
37436
6e9b4aab 374372008-01-21 Robert Millan <rmh@aybabtu.com>
37438
37439 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
37440 on grub_biosdisk_rw_standard() error.
37441
0d8837b2 374422008-01-21 Robert Millan <rmh@aybabtu.com>
37443
37444 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
37445 recent changes.
37446 * kern/elf.c: Likewise.
37447 * kern/ieee1275/ieee1275.c: Likewise.
37448 * kern/powerpc/ieee1275/openfw.c: Likewise.
37449 * term/ieee1275/ofconsole.c: Likewise.
37450
ffd36e34 374512008-01-21 Robert Millan <rmh@aybabtu.com>
37452
37453 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
37454
3f0093d0 37455 * include/grub/kernel.h (grub_arch_memdisk_addr)
37456 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 37457
3f0093d0 37458 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
37459 (grub_arch_memdisk_size): ... to here.
ffd36e34 37460
6c391b21 374612008-01-21 Robert Millan <rmh@aybabtu.com>
37462
37463 Mostly based on bugfix from Bean.
37464
37465 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
37466 attribute with hook() parameter.
37467 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
37468 declaration.
37469 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
37470 attribute with hook() parameter.
37471 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
37472 declaration.
37473
55a581dc 374742008-01-21 Robert Millan <rmh@aybabtu.com>
37475
37476 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
37477 (pkglib_MODULES): Add `memdisk.mod'.
37478 (memdisk_mod_SOURCES): New variable.
37479 (memdisk_mod_CFLAGS): Likewise.
37480 (memdisk_mod_LDFLAGS): Likewise.
37481
37482 * disk/memdisk.c: New file.
37483
37484 * include/grub/disk.h (grub_disk_dev_id): Add
37485 `GRUB_DISK_DEVICE_MEMDISK_ID'.
37486
37487 * include/grub/i386/pc/kernel.h
37488 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
37489 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
37490 (grub_kernel_image_size): New variable declaration.
37491 (grub_total_module_size): Likewise.
37492 (grub_memdisk_image_size): Likewise.
37493
37494 * include/grub/i386/pc/memory.h
37495 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
37496
37497 * include/grub/kernel.h: Include `<grub/symbol.h>'.
37498 (grub_arch_memdisk_addr): New variable declaration.
37499 (grub_arch_memdisk_size): Likewise.
37500
37501 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
37502 (grub_arch_memdisk_size): Likewise.
37503
37504 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
37505 (codestart): Replace hardcoded `0x100000' with
37506 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
37507
37508 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
37509 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
37510 not NULL, append the contents of the file it refers to, at the end of
37511 the compressed kernel image. Initialize `grub_memdisk_image_size'
37512 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
37513 (options): Add "memdisk"|'m' option.
37514 (main): Parse --memdisk|-m option, and pass user-provided path as
37515 parameter to generate_image().
37516
3d7f54c9 375172008-01-20 Robert Millan <rmh@aybabtu.com>
37518
37519 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
37520 grub_dprintf() calls from here ...
37521 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
37522
0bf74728 375232008-01-20 Robert Millan <rmh@aybabtu.com>
37524
37525 Fix detection of "real mode" when /options/real-mode? doesn't exist.
37526
37527 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
37528 declaration.
37529 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
37530 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
37531 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 37532 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 37533 property).
37534 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
37535 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
37536
33bf70a7 375372008-01-19 Robert Millan <rmh@aybabtu.com>
37538
fe6b695a 37539 Get rid of confusing function (superseded by
33bf70a7 37540 `grub_ieee1275_get_integer_property')
37541 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
37542 prototype.
37543 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
37544 function.
37545 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
37546 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 37547 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 37548
e2da7d26 375492008-01-19 Robert Millan <rmh@aybabtu.com>
37550
37551 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
37552 command after "shut-down", since implementations differ on which
37553 the command for halt is.
37554
59f1fd8d 375552008-01-19 Robert Millan <rmh@aybabtu.com>
37556
37557 * include/grub/i386/linuxbios/console.h: Add header protection.
37558 (grub_keyboard_controller_init): New function prototype.
37559 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
37560 (KEYBOARD_COMMAND_READ): Likewise.
37561 (KEYBOARD_COMMAND_WRITE): Likewise.
37562 (KEYBOARD_SCANCODE_SET1): Likewise.
37563 (grub_keyboard_controller_write): New function.
37564 (grub_keyboard_controller_read): Likewise.
37565 (grub_keyboard_controller_init): Likewise.
37566
37567 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
37568 (grub_console_init): On coreboot/LinuxBIOS, call
37569 grub_keyboard_controller_init().
37570
5f5a7c15 375712008-01-19 Robert Millan <rmh@aybabtu.com>
37572
37573 PowerPC changes provided by Pavel Roskin.
37574
37575 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
37576 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
37577 don't rely on cmain() doing it.
37578 * kern/i386/ieee1275/startup.S (_start): Store %eax in
37579 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
37580
1210e168 375812008-01-16 Robert Millan <rmh@aybabtu.com>
37582
37583 * include/grub/i386/linuxbios/memory.h
37584 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
37585 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
37586 receive `table_header' as argument. Instead, probe for it in the
37587 known memory ranges where it can be present.
37588 (grub_available_iterate): Do not pass a fixed `table_header' address
37589 to grub_linuxbios_table_iterate().
37590
3d04eab8 375912008-01-15 Robert Millan <rmh@aybabtu.com>
37592
37593 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
37594 * conf/i386-ieee1275.rmk: New file.
37595 * include/grub/i386/ieee1275/console.h: Likewise.
37596 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
37597 * include/grub/i386/ieee1275/kernel.h: Likewise.
37598 * include/grub/i386/ieee1275/time.h: Likewise.
37599 * kern/i386/ieee1275/init.c: Likewise.
37600 * kern/i386/ieee1275/startup.S: Likewise.
37601
d1bc1b73 376022008-01-15 Robert Millan <rmh@aybabtu.com>
37603
37604 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
37605 when pointers are 32-bit (but still do set it to one when they are
37606 64-bit).
37607
66a65807 376082008-01-15 Robert Millan <rmh@aybabtu.com>
37609
37610 * include/grub/ieee1275/ieee1275.h
37611 (grub_ieee1275_get_integer_property): New function prototype.
37612
37613 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
37614 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 37615 grub_ieee1275_get_property() to handle endianness.
66a65807 37616
37617 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
37618 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 37619 where appropriate.
66a65807 37620 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
37621 (grub_map): Likewise.
37622 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
37623
a83ccafd 376242008-01-15 Bean <bean123ch@gmail.com>
37625
37626 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
37627 (grub_script_execute_cmdline): Reset grub_errno.
37628
37629 * normal/main.c (read_config_file): Reset grub_errno.
37630
37631 * normal/parse.y (script_init): New.
37632 (script): Move function and menuentry here.
37633 (delimiter): New.
37634 (command): Add delimiter at the end of command.
37635 (commands): Adjust to match the new command.
37636 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 37637 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 37638 (if): Use the new commands.
37639
37640 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
37641
df6ecfc6 376422008-01-15 Robert Millan <rmh@aybabtu.com>
37643
37644 * normal/menu.c (run_menu): Move timeout message from here ...
37645 (print_timeout): ... to here.
37646 (run_menu): Use print_timeout() once during initial draw to print
37647 the whole message, and again in every clock tick to update only
37648 the number of seconds.
37649
87ae25eb 376502008-01-15 Robert Millan <rmh@aybabtu.com>
37651
37652 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
37653 actual size of `available' from grub_ieee1275_get_property(), and
37654 restrict parsing to that bound.
37655
47bf09a4 376562008-01-15 Christian Franke <franke@computer.org>
37657
37658 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
37659 (argp_program_version): Remove variable.
37660 (argp_program_bug_address): Likewise.
37661 (options): Convert from struct argp_option to struct option.
37662 (struct arguments): Remove.
37663 (parse_opt): Remove.
37664 (usage): New function.
37665 (main): Replace struct args members by simple variables.
37666 Replace argp_parse() by getopt_long().
37667 Add switch to evaluate options.
37668 Add missing "(...)" around root_dev in prefix string.
37669
c86f1469 376702008-01-14 Robert Millan <rmh@aybabtu.com>
37671
37672 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
37673 for grub_ieee1275_exit(), in order to improve portability.
37674
e622c559 376752008-01-14 Robert Millan <rmh@aybabtu.com>
37676
37677 * util/grub.d/10_linux.in (prefix): Define.
37678 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
37679
44cb1ec8 376802008-01-13 Pavel Roskin <proski@gnu.org>
37681
37682 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
37683 grub_errno if no errors have been detected.
37684
1eb8c802 376852008-01-12 Robert Millan <rmh@aybabtu.com>
37686
37687 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
37688 (grub_util_get_dev_abstraction): New function prototype.
37689
37690 * util/getroot.c: Include `<grub/util/getroot.h>'
37691 (grub_util_get_grub_dev): Move detection of abstraction type to ...
37692 (grub_util_get_dev_abstraction): ... here (new function).
37693
37694 * util/grub-probe.c: Convert PRINT_* to an enum. Add
37695 `PRINT_ABSTRACTION'.
37696 (probe): Probe for abstraction type when requested.
37697 (main): Understand `--target=abstraction'.
37698
37699 * util/i386/efi/grub-install.in: Add abstraction module to core
37700 image when it is found to be necessary.
37701 * util/i386/pc/grub-install.in: Likewise.
37702 * util/powerpc/ieee1275/grub-install.in: Likewise.
37703
37704 * util/update-grub_lib.in (font_path): Return system path without
37705 converting to GRUB path.
37706 * util/update-grub.in: Convert system path returned by font_path()
37707 to a GRUB path. Use `grub-probe -t abstraction' to determine what
37708 abstraction module is needed for loading fonts (if any). Export
37709 that as `GRUB_PRELOAD_MODULES'.
37710 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
37711 insmod commands).
37712
52bd3de9 377132008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
37714
37715 Remove some unused code from reiserfs.
f19dbdb7 37716
52bd3de9 37717 * fs/reiserfs.c (struct grub_reiserfs_key)
37718 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
37719 (struct grub_reiserfs_node_body): Removed.
37720 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
37721 Likewise.
37722 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
37723 Likewise.
37724 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
37725 Likewise.
37726 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
37727 Likewise.
37728 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
37729 Likewise.
37730 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
37731 Likewise.
37732 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
37733 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
37734 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
37735
2f80039d 377362008-01-10 Robert Millan <rmh@aybabtu.com>
37737
37738 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
37739 Determines if a file is garbage left by packaging systems, etc.
37740 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
37741 for processing /etc/grub.d scripts.
37742 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
37743 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
37744 as a condition for processing Linux images.
37745
87888032 377462008-01-10 Pavel Roskin <proski@gnu.org>
37747
37748 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
37749 to compile reiserfs.c on PowerPC.
37750
7e54fced 377512008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 37752
37753 * kern/device.c (grub_device_iterate): Do not abort device iteration
37754 when one of the devices cannot be opened.
37755 * kern/disk.c (grub_disk_open): Do not account previous failures of
37756 unrelated functions when grub_errno is checked for.
37757
5aa541e6 377582008-01-08 Robert Millan <rmh@aybabtu.com>
37759
37760 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
37761 `! grub_linux_is_bzimage', change order of address comparison to make
37762 it more intuitive, and improve "too big zImage" error message.
37763
7076340d 377642008-01-08 Robert Millan <rmh@aybabtu.com>
37765
37766 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
37767 `$(update-grub_DATA)'.
37768 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
37769 targets.
37770
9ca70333 377712008-01-07 Robert Millan <rmh@aybabtu.com>
37772
37773 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
37774 which instruction is modified by grub-setup during installation
37775 (since it wasn't obvious by only looking at this file).
37776
38ccf575 377772008-01-07 Robert Millan <rmh@aybabtu.com>
37778
37779 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
37780 listing actual TODO items.
37781
f5db4291 377822008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
37783
868967cf 37784 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
37785 correctly.
37786 (grub_reiserfs_get_key_offset): Likewise.
37787 (grub_reiserfs_set_key_offset): Likewise.
37788 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 37789 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 37790
37791 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
37792 better to remove the bitfield version completely.
f19dbdb7 37793
868967cf 377942008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 37795
f5db4291 37796 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
37797 allocated from the heap, due to the fshelp implementation.
37798 (grub_reiserfs_dir): Free NODE, due to the same reason.
37799
492e6d9d 378002008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
37801
37802 Mostly from Vincent Pelletier:
f19dbdb7 37803
492e6d9d 37804 * fs/reiserfs.c: New file.
f19dbdb7 37805
492e6d9d 37806 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
37807 (reiserfs_mod_SOURCES): New variable.
37808 (reiserfs_mod_CFLAGS): Likewise.
37809 (reiserfs_mod_LDFLAGS): Likewise.
37810
37811 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
37812 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
37813 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
37814 normal/color.c.
37815
9ce3e7c1 378162008-01-06 Robert Millan <rmh@aybabtu.com>
37817
37818 * normal/color.c: Remove `<grub/env.h>'.
37819
f3b58148 378202008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
37821
37822 * include/grub/normal.h: Include <grub/env.h>.
37823
7ac3bcfa 378242008-01-05 Robert Millan <rmh@aybabtu.com>
37825
37826 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
37827 usage example with `(hd0,1)'.
fb358190 37828 Reported by Samuel Thibault.
7ac3bcfa 37829
c8ee99d7 378302008-01-05 Robert Millan <rmh@aybabtu.com>
37831
37832 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
37833 (grub_linux_boot_zimage): Rename to ...
37834 (grub_linux_boot): ... this.
37835 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
37836 (grub_linux_boot_zimage): Conditionalize zImage copy.
37837
37838 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
37839 (grub_linux_boot_bzimage): Remove prototype.
37840 (grub_linux_boot_zimage): Rename to ...
37841 (grub_linux_boot): ... this.
37842
37843 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
37844 (grub_linux_boot): Remove function.
37845
0ece25b1 378462008-01-05 Robert Millan <rmh@aybabtu.com>
37847
37848 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
37849 (grub_env_write_color_highlight): Likewise.
37850 (grub_wait_after_message): Likewise.
37851
37852 * normal/color.c: New file.
37853
37854 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37855 (normal_mod_DEPENDENCIES): Likewise.
37856
37857 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37858 (normal_mod_DEPENDENCIES): Likewise.
37859
37860 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37861 (normal_mod_DEPENDENCIES): Likewise.
37862
37863 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37864 (normal_mod_DEPENDENCIES): Likewise.
37865
37866 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
37867 for waiting after a message is printed.
37868 * normal/main.c (read_config_file): Likewise.
37869 (grub_normal_init): Register grub_env_write_color_normal() and
37870 grub_env_write_color_highlight() hooks. Mark `color_normal' and
37871 `color_highlight' variables as global.
37872
37873 * normal/menu.c (grub_wait_after_message): New function.
37874 (grub_color_menu_normal): New variable. Replaces ...
37875 (GRUB_COLOR_MENU_NORMAL): ... this macro.
37876 (grub_color_menu_highlight): New variable. Replaces ...
37877 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
37878 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
37879 `GRUB_TERM_COLOR_STANDARD'.
37880 (print_message): Use `grub_setcolorstate' to reload colors. Rename
37881 `normal_code' and `highlight_code' to `old_color_normal' and
37882 `old_color_highlight', respectively.
37883 (grub_menu_init_page): Update colors when drawing the menu, based on
37884 `menu_color_normal' and `menu_color_highlight' variables.
37885 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
37886 a message is printed.
37887
182dd4e5 378882008-01-05 Robert Millan <rmh@aybabtu.com>
37889
37890 * kern/env.c (grub_env_context_open): Propagate hooks for global
37891 variables to new context.
37892
37893 * kern/main.c (grub_set_root_dev): Export `root' variable.
37894
ddf8f6ad 378952008-01-05 Robert Millan <rmh@aybabtu.com>
37896
37897 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 37898 discs unconditionally, since udev and others have options to provide
ddf8f6ad 37899 them.
37900
d8b43d9b 379012008-01-05 Robert Millan <rmh@aybabtu.com>
37902
37903 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
37904
2bff2de3 379052008-01-04 Christian Franke <franke@computer.org>
37906
37907 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
37908 of eisa_mmap.
37909
97eab917 379102008-01-03 Pavel Roskin <proski@gnu.org>
37911
37912 * kern/i386/linuxbios/init.c: Put "void" to all function
37913 declarations with no arguments.
37914 * kern/powerpc/ieee1275/init.c: Likewise.
37915 * term/i386/pc/at_keyboard.c: Likewise.
37916 * term/i386/pc/vga_text.c: Likewise.
37917 * util/grub-mkdevicemap.c: Likewise.
37918
b9416d00 379192008-01-02 Robert Millan <rmh@aybabtu.com>
37920
37921 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
37922 message when loaded image is out of bounds.
37923 (grub_multiboot_load_elf64): Likewise.
37924
92695df9 379252008-01-02 Pavel Roskin <proski@gnu.org>
37926
37927 * util/grub.d/10_linux.in: Try version without ".old" when
37928 looking for initrd. It's better to use initrd from the newer
37929 kernel of the same version than no initrd at all.
37930
d98d9cad 379312008-01-01 Robert Millan <rmh@aybabtu.com>
37932
37933 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
37934
dbfdce36 379352008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
37936
f19dbdb7 37937 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 37938 grub_video_get_active_render_target.
37939 (grub_video_adapter): Added unmap_color and get_active_render_target.
37940
f19dbdb7 37941 * video/video.c: Added grub_video_unmap_color and
dbfdce36 37942 grub_video_get_active_render_target.
37943 (grub_video_get_info): Changed method to accept NULL pointer as an
37944 argument to allow detection of active video adapter.
37945
37946 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
37947 grub_video_vbe_unmap_color_int.
37948 Added grub_video_vbe_unmap_color and
37949 grub_video_vbe_get_active_render_target.
37950 (grub_video_vbe_adapter): Added unmap_color and
37951 get_active_render_target.
37952
f19dbdb7 37953 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 37954 with grub_video_vbe_unmap_color_int.
37955
37956 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
37957 (DEFAULT_NORMAL_COLOR): Likewise.
37958 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
37959 (DEFAULT_FG_COLOR): Removed.
37960 (DEFAULT_BG_COLOR): Likewise.
37961 (DEFAULT_CURSOR_COLOR): Changed value.
37962 (grub_virtual_screen): Added standard_color_setting,
37963 normal_color_setting, highlight_color_setting and term_color.
37964 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
37965 (bitmap_width): Added.
37966 (bitmap_height): Likewise.
37967 (bitmap): Likewise.
37968 (set_term_color): Likewise.
37969 (grub_virtual_screen_setup): Changed to use new terminal coloring
37970 settings.
37971 (grub_gfxterm_init): Added init for bitmap.
37972 (grub_gfxterm_fini): Added destroy for bitmap.
37973 (redraw_screen_rect): Updated to use background bitmap and new
37974 terminal coloring.
37975 (scroll_up): Added optimization for case when there is no bitmap.
37976 (grub_gfxterm_cls): Fixed to use correct background color.
37977 (grub_virtual_screen_setcolorstate): Changed to use new terminal
37978 coloring.
37979 (grub_virtual_screen_setcolor): Likewise.
37980 (grub_virtual_screen_getcolor): Added.
37981 (grub_gfxterm_background_image_cmd): Likewise.
37982 (grub_video_term): Added setcolor and getcolor.
37983 (MOD_INIT): Added registration of background_image command.
37984 (MOD_TERM): Added unregistration for background_image command.
37985
c3c20931 379862007-12-30 Pavel Roskin <proski@gnu.org>
37987
37988 * loader/multiboot_loader.c: Fix multiboot command
37989 unregistration. Fix all typos in the word "multiboot".
37990
df266716 379912007-12-29 Pavel Roskin <proski@gnu.org>
94239199 37992
37993 * util/grub.d/10_linux.in: Refactor search for initrd. Add
37994 support for initrd names used in Fedora.
37995
fc6e896c 379962007-12-26 Bean <bean123ch@gmail.com>
37997
37998 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
37999 (cpio_mod_SOURCES): New variable.
38000 (cpio_mod_CFLAGS): Likewise.
38001 (cpio_mod_LDFLAGS): Likewise.
38002
38003 * fs/cpio.c: New file.
38004
38005 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
38006
38007 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38008
38009 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38010
38011 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38012
533110ad 380132007-12-25 Robert Millan <rmh@aybabtu.com>
38014
38015 * include/grub/term.h (struct grub_term): Add `getcolor' function.
38016 (grub_getcolor): New function.
38017
38018 * kern/term.c (grub_getcolor): New function.
38019 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
38020 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
38021 (print_entry): Set normal and highlight colors to
38022 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
38023 respectively, before printing and restore them to old
38024 values afterwards.
38025 (grub_menu_init_page): Likewise. Fill an additional colored space
38026 that would otherwise be left blank.
38027
38028 * term/efi/console.c (grub_console_getcolor): New function.
38029 (struct grub_console_term.getcolor): New variable.
38030 * term/i386/pc/console.c (grub_console_getcolor): New function.
38031 (struct grub_console_term.getcolor): New variable.
38032 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
38033 (struct grub_console_term.getcolor): New variable.
38034
38035 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
38036 (struct grub_console_term.setcolor): Remove variable.
38037 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
38038 (struct grub_console_term.setcolor): Remove variable.
38039 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
38040 (struct grub_console_term.setcolor): Remove variable.
38041 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
38042 (struct grub_console_term.setcolor): Remove variable.
38043
4931827f 380442007-12-25 Robert Millan <rmh@aybabtu.com>
38045
38046 * configure.ac: Search for possible unifont.hex locations, and
38047 define UNIFONT_HEX if found.
38048
38049 * Makefile.in (UNIFONT_HEX): Define variable.
38050 (DATA): Rename to ...
38051 (PKGLIB): ... this. Update all users.
38052 (PKGDATA): New variable.
38053 (pkgdata_IMAGES): Rename to ...
38054 (pkglib_IMAGES): ... this. Update all users.
38055 (pkgdata_MODULES): Rename to ...
38056 (pkglib_MODULES): ... this. Update all users.
38057 (pkgdata_PROGRAMS): Rename to ...
38058 (pkglib_PROGRAMS): ... this. Update all users.
38059 (pkgdata_DATA): Rename to ...
38060 (pkglib_DATA): ... this. Update all users.
38061 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
38062 (unicode.pff, ascii.pff): New rules.
38063 (all-local): Add `$(PKGDATA)' dependency.
38064 (install-local): Process `$(PKGDATA)'.
38065
38066 * util/update-grub_lib.in (font_path): Search for *.pff files in
38067 a few more locations, including `${pkgdata}'.
38068
57e57e31 380692007-12-23 Robert Millan <rmh@aybabtu.com>
38070
38071 Patch from Bean <bean123ch@gmail.com>:
38072 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
38073 `size'.
38074
4bc72aa9 380752007-12-21 Bean <bean123ch@gmail.com>
38076
38077 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
38078 (ntfscomp_mod_SOURCES): New variable.
38079 (ntfscomp_mod_CFLAGS): Likewise.
38080 (ntfscomp_mod_LDFLAGS): Likewise.
38081
38082 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
38083 (grub_probe_SOURCES): Likewise.
38084 (grub_emu_SOURCES): Likewise.
38085
38086 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38087 (grub_emu_SOURCES): Likewise.
38088
38089 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38090 (grub_emu_SOURCES): Likewise.
38091
38092 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38093 (grub_emu_SOURCES): Likewise.
38094
38095 * fs/ntfs.c (grub_ntfscomp_func): New variable.
38096 (read_run_list): Renamed to grub_ntfs_read_run_list.
38097 (decomp_nextvcn): Moved to ntfscomp.c.
38098 (decomp_getch): Likewise.
38099 (decomp_get16): Likewise.
38100 (decomp_block): Likewise.
38101 (read_block): Likewise.
38102 (read_data): Partially moved to ntfscomp.c.
38103 (fixup): Change unsigned to grub_uint16_t.
38104 (read_mft): Change unsigned long to grub_uint32_t.
38105 (read_attr): Likewise.
38106 (read_data): Likewise.
38107 (read_run_data): Likewise.
38108 (read_run_list): Likewise.
38109 (read_mft): Likewise.
38110
38111 * fs/ntfscomp.c: New file.
38112
38113 * include/grub/ntfs.h: New file.
38114
af680a87 381152007-12-16 Robert Millan <rmh@aybabtu.com>
38116
38117 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
38118 IDE disk check, since Linux is known to support 20 IDE disks.
38119 Reported by Colin Watson.
38120
84be7599 381212007-12-15 Bean <bean123ch@gmail.com>
38122
38123 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
38124 (lnxboot_img_SOURCES): New variable.
38125 (lnxboot_img_ASFLAGS): Likewise.
38126 (lnxboot_img_LDFLAGS): Likewise.
38127
38128 * boot/i386/pc/lnxboot.S: New file.
38129
6af9db01 381302007-11-24 Pavel Roskin <proski@gnu.org>
38131
38132 * configure.ac: Test if '--build-id=none' is supported by the
38133 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
38134 objcopy to generate incorrect binary files (binutils
38135 2.17.50.0.18-1 as shipped by Fedora 8).
38136 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
38137 linking, so that build ID doesn't break the test.
38138
7361cfe6 381392007-11-24 Pavel Roskin <proski@gnu.org>
38140
38141 * include/grub/i386/time.h: use "void" in the argument list
38142 of grub_cpu_idle().
38143 * include/grub/powerpc/time.h: Likewise.
38144 * include/grub/sparc64/time.h: Likewise.
38145
1593e10c 381462007-11-18 Christian Franke <franke@computer.org>
38147
38148 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
38149 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
38150 This fixes the problem that function keys did not work in grub-emu.
38151
3b8db1a8 381522007-11-18 Christian Franke <franke@computer.org>
38153
38154 * disk/host.c (grub_host_open): Remove attribute unused from
38155 name parameter. Add check for "host". This fixes the problem
38156 that grub-emu does not find partitions.
38157
2e29408d 381582007-11-18 Christian Franke <franke@computer.org>
38159
38160 * util/hostfs.c (is_dir): New function.
38161 (grub_hostfs_dir): Handle missing dirent.d_type case.
38162 (grub_hostfs_read): Add missing fseek().
38163 (grub_hostfs_label): Clear label pointer. This fixes a crash
38164 of grub-emu on "ls (host)".
38165
398cd047 381662007-11-18 Christian Franke <franke@computer.org>
38167
38168 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
38169 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
38170 to 64 bit boundary by default.
38171
c405c391 381722007-11-18 Bean <bean123ch@gmail.com>
38173
38174 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
38175 (hexdump_mod_SOURCES): New variable.
38176 (hexdump_mod_CFLAGS): Likewise.
38177 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 38178
c405c391 38179 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38180
38181 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38182
38183 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38184
38185 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38186
38187 * include/grub/hexdump.h: New file.
38188
38189 * commands/hexdump.c: New file.
38190
5cced7fd 381912007-11-10 Robert Millan <rmh@aybabtu.com>
38192
38193 * commands/i386/pc/play.c (beep_off): Switch order of arguments
38194 in grub_outb() calls.
38195 (beep_on): Likewise.
38196
8b714eb0 381972007-11-10 Christian Franke <franke@computer.org>
38198
38199 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
38200 (grub_menu_run): Likewise.
38201
ce0f1839 382022007-11-10 Robert Millan <rmh@aybabtu.com>
38203
38204 * include/grub/i386/efi/machine.h: New file.
38205 * include/grub/i386/linuxbios/machine.h: Likewise.
38206 * include/grub/i386/pc/machine.h: Likewise.
38207 * include/grub/powerpc/ieee1275/machine.h: Likewise.
38208 * include/grub/sparc64/ieee1275/machine.h: Likewise.
38209
38210 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
38211 (serial_hw_io_addr): New variable.
38212 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
38213 instead of `(unsigned short *) 0x400'.
38214
270c237d 382152007-11-10 Bean <bean123ch@gmail.com>
38216
38217 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
38218
a87783bf 382192007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
38220
38221 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
38222 (vga_mod_SOURCES): Added.
38223 (vga_mod_CFLAGS): Likewise.
38224 (vga_mod_LDFLAGS): Likewise.
38225
38226 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
38227 grub_outb() calls.
38228 (set_map_mask): Likewise.
38229 (set_read_map): Likewise.
38230 (set_read_address): Likewise.
38231 (vga_font): Removed variable.
38232 (get_vga_glyph): Removed function.
38233 (invalidate_char): Likewise.
38234 (write_char): Changed to use grub_font_get_glyph() for font
38235 information.
38236 (grub_vga_putchar): Likewise.
38237 (grub_vga_getcharwidth): Likewise.
38238
6433b448 382392007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
38240
38241 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
38242 flags.
38243 (pxeboot_img_LDFLAGS): Likewise.
38244 (diskboot_img_LDFLAGS): Likewise.
38245 (kernel_img_LDFLAGS): Likewise.
38246
49178511 382472007-11-06 Robert Millan <rmh@aybabtu.com>
38248
38249 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
38250 in grub_outb() calls.
38251 (serial_hw_init): Likewise.
38252
53b052de 382532007-11-05 Robert Millan <rmh@aybabtu.com>
38254
38255 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
38256 spaces. Skip non-regular files.
38257
5ab33bba 382582007-11-05 Robert Millan <rmh@aybabtu.com>
38259
38260 * kern/disk.c (grub_disk_firmware_fini)
38261 (grub_disk_firmware_is_tainted): New variables.
38262
38263 * include/grub/disk.h (grub_disk_firmware_fini)
38264 (grub_disk_firmware_is_tainted): Likewise.
38265
38266 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
38267 (grub_disk_biosdisk_fini): ... to here.
38268 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
38269 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
38270 is set. Register grub_disk_biosdisk_fini() in
38271 `grub_disk_firmware_fini'.
38272
38273 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
38274 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
38275 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
38276 to finish existing firmware disk interface.
38277
38278 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
38279 (ata_mod_SOURCES): New variable.
38280 (ata_mod_CFLAGS): Likewise.
38281 (ata_mod_LDFLAGS): Likewise.
38282
0149ab7c 382832007-11-05 Robert Millan <rmh@aybabtu.com>
38284
38285 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
38286 (grub_ata_wait): Reimplement using grub_millisleep().
38287
38288 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
38289 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
38290
be7ac41e 382912007-11-03 Marco Gerards <marco@gnu.org>
38292
38293 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
38294 (CRTC_ADDR_PORT): New macro.
38295 (CRTC_DATA_PORT): Likewise.
38296 (CRTC_CURSOR): Likewise.
38297 (CRTC_CURSOR_ADDR_HIGH): Likewise.
38298 (CRTC_CURSOR_ADDR_LOW): Likewise.
38299 (update_cursor): New function.
38300 (grub_console_real_putchar): Call `update_cursor'.
38301 (grub_console_gotoxy): Likewise.
38302 (grub_console_cls): Set the default color when clearing the
38303 screen.
38304 (grub_console_setcursor): Implemented.
38305
bb06ab2e 383062007-11-03 Marco Gerards <marco@gnu.org>
38307
38308 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
38309 become activate.
38310 (grub_ata_pio_write): Likewise.
38311
38312 (grub_atapi_identify): Wait after issuing an ATA command.
38313 (grub_atapi_packet): Likewise.
38314 (grub_ata_identify): Likewise.
38315 (grub_ata_readwrite): Likewise.
38316
cf8f780b 383172007-11-03 Marco Gerards <marco@gnu.org>
38318
38319 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
38320 (grub_ata_pio_write): Likewise.
38321 (grub_ata_readwrite): Use `grub_error', instead of
38322 returning `grub_errno'.
38323
ed649e54 383242007-11-03 Marco Gerards <marco@gnu.org>
38325
38326 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
38327 grub_ata_pio_write once for every single sector, instead of for
38328 multiple sectors.
38329
ca25d8f0 383302007-10-31 Robert Millan <rmh@aybabtu.com>
38331
38332 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
38333
38334 * conf/i386-linuxbios.rmk: New file.
38335
38336 * kern/i386/pc/hardware.c: Likewise.
38337 * term/i386/pc/at_keyboard.c: Likewise.
38338 * term/i386/pc/vga_text.c: Likewise.
38339
38340 * include/grub/i386/linuxbios/boot.h: Likewise.
38341 * include/grub/i386/linuxbios/console.h: Likewise.
38342 * include/grub/i386/linuxbios/init.h: Likewise.
38343 * include/grub/i386/linuxbios/kernel.h: Likewise.
38344 * include/grub/i386/linuxbios/loader.h: Likewise.
38345 * include/grub/i386/linuxbios/memory.h: Likewise.
38346 * include/grub/i386/linuxbios/serial.h: Likewise.
38347 * include/grub/i386/linuxbios/time.h: Likewise.
38348
38349 * kern/i386/linuxbios/init.c: Likewise.
38350 * kern/i386/linuxbios/startup.S: Likewise.
38351 * kern/i386/linuxbios/table.c: Likewise.
38352
e911ecc1 383532007-10-31 Marco Gerards <marco@gnu.org>
38354
38355 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
38356 (ata_mod_SOURCES): New variable.
38357 (ata_mod_CFLAGS): Likewise.
38358 (ata_mod_LDFLAGS): Likewise.
38359
38360 * disk/ata.c: New file.
38361
38362 * include/grub/disk.h (grub_disk_dev_id): Add
38363 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 38364
7f66d0e0 383652007-10-31 Robert Millan <rmh@aybabtu.com>
38366
38367 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
38368 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
38369
38370 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
38371 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
38372
38373 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
38374 `<grub/types.h>'.
38375
38376 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
38377
5cd7dd46 383782007-10-27 Robert Millan <rmh@aybabtu.com>
38379
3236ca65 38380 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 38381
2ebfc90f 383822007-10-22 Robert Millan <rmh@aybabtu.com>
38383
38384 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
38385 `"../realmode.S"'.
38386 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
38387
73fcb0f3 383882007-10-22 Robert Millan <rmh@aybabtu.com>
38389
38390 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
38391 (pkgdata_MODULES): Add `biosdisk.mod'.
38392 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
38393 variables.
38394
38395 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
38396 (grub_biosdisk_init): Replace with ...
38397 (GRUB_MOD_INIT(biosdisk)): ... this.
38398 (grub_biosdisk_fini): Replace with ...
38399 (GRUB_MOD_FINI(biosdisk)): ... this.
38400
38401 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
38402 (grub_machine_init): Remove call to grub_biosdisk_init().
38403 (grub_machine_fini): Remove call to grub_machine_fini().
38404
38405 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
38406
3381d274 384072007-10-22 Robert Millan <rmh@aybabtu.com>
38408
38409 * include/grub/time.h: New file.
38410 * include/grub/i386/time.h: Likewise.
38411 * include/grub/powerpc/time.h: Likewise.
38412 * include/grub/sparc64/time.h: Likewise.
38413
38414 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
38415 instances to ...
38416 (KERNEL_MACHINE_TIME_HEADER): ... this.
38417 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
38418 instances to ...
38419 (KERNEL_MACHINE_TIME_HEADER): ... this.
38420 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
38421 instances to ...
38422 (KERNEL_MACHINE_TIME_HEADER): ... this.
38423
38424 * kern/i386/efi/init.c: Include `<grub/time.h>'.
38425 (grub_millisleep): New function.
38426 * kern/i386/pc/init.c: Include `<grub/time.h>'.
38427 (grub_millisleep): New function.
38428 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
38429 Remove `grub/machine/time.h' include.
38430 (grub_millisleep): New function.
38431 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
38432 Remove `grub/machine/time.h' include.
38433 (grub_millisleep): New function.
38434
38435 * include/grub/misc.h (grub_div_roundup): New function.
38436
38437 * kern/misc.c: Include `<grub/time.h>'.
38438 (grub_millisleep_generic): New function.
38439
38440 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
38441 Add `time.h'.
38442 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
38443 Add `time.h'.
38444 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
38445 `machine/time.h'. Add `time.h'.
38446 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
38447
a39a0312 384482007-10-21 Robert Millan <rmh@aybabtu.com>
38449
38450 * include/grub/misc.h (grub_max): New function.
38451
2aad70e2 384522007-10-21 Robert Millan <rmh@aybabtu.com>
38453
38454 * util/misc.c (grub_util_info): Call fflush() before returning.
38455
54b71c4b 384562007-10-20 Robert Millan <rmh@aybabtu.com>
38457
38458 * genmk.rb (Image): Copy `extra_flags' from here ...
38459 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
38460
38461 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
38462 to `argc' and `args' arguments.
38463
a979f513 384642007-10-17 Robert Millan <rmh@aybabtu.com>
38465
38466 * kern/i386/loader.S: New file.
38467
38468 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
38469 * kern/i386/loader.S (grub_linux_prot_size)... to here.
38470 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
38471 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
38472 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
38473 * kern/i386/loader.S (grub_linux_real_addr)... to here.
38474 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
38475 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
38476 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
38477 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
38478 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
38479 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
38480 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
38481 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
38482
38483 * kern/i386/realmode.S: New file.
38484
38485 * kern/i386/pc/startup.S (protstack): Moved from here ...
38486 * kern/i386/realmode.S (protstack)... to here.
38487 * kern/i386/pc/startup.S (gdt): Moved from here ...
38488 * kern/i386/realmode.S (gdt)... to here.
38489 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
38490 * kern/i386/realmode.S (prot_to_real)... to here.
38491
38492 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
38493 `kern/i386/realmode.S'.
38494
825fc8fd 384952007-10-17 Robert Millan <rmh@aybabtu.com>
38496
38497 * include/grub/i386/loader.h: New file.
38498
38499 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
38500 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
38501 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
38502 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
38503 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
38504 * include/grub/i386/loader.h (grub_linux_prot_size)
38505 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
38506 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
38507 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
38508 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
38509
38510 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
38511
e179b2f4 385122007-10-15 Robert Millan <rmh@aybabtu.com>
38513
38514 * normal/misc.c (grub_normal_print_device_info): Do not probe for
38515 filesystem when dev->disk is unset.
38516 Do probe for filesystem even when dev->disk->has_partitions is set.
38517 In case a filesystem is found, always report it.
38518 In case it isn't, if dev->disk->has_partitions is set, report that
38519 a partition table was found instead of reporting that no filesystem
38520 could be identified.
38521
5db82af6 385222007-10-12 Robert Millan <rmh@aybabtu.com>
38523
38524 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
38525 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
38526
68f6ac74 38527 * include/grub/types.h (grub_host_to_target16): New macro.
38528 (grub_host_to_target32): Likewise.
38529 (grub_host_to_target64): Likewise.
38530 (grub_target_to_host16): Likewise.
38531 (grub_target_to_host32): Likewise.
38532 (grub_target_to_host64): Likewise.
5db82af6 38533
38534 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
38535 Renamed from to ...
38536 (GRUB_MOD_ALIGN): ...this. Update all users.
38537
68f6ac74 38538 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
38539 grub_host_to_target32.
38540 Replace grub_be_to_cpu32 with grub_target_to_host32.
38541 (load_modules): Likewise.
38542 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
38543 Replace grub_be_to_cpu32 with grub_target_to_host32.
38544 Replace grub_cpu_to_be16 with grub_host_to_target16.
38545 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 38546
3cf497cc 385472007-10-12 Robert Millan <rmh@aybabtu.com>
38548
38549 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
38550 * util/elf/grub-mkimage.c: ... here.
38551
38552 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
38553 `util/powerpc/ieee1275/grub-mkimage.c'.
38554
c8cc3692 385552007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 38556
c8cc3692 38557 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
38558 and make it easier to figure out.
38559 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
38560 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
38561 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
38562 leave us with less than HEAP_MIN_SIZE total heap.
38563 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 38564
5c58b791 385652007-10-03 Robert Millan <rmh@aybabtu.com>
38566
38567 * include/grub/i386/io.h: New file.
38568 * commands/i386/pc/play.c (inb): Removed.
38569 (outb): Removed.
38570 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
38571 with grub_outb().
afcd2ef8 38572 * term/i386/pc/serial.c (inb): Removed.
38573 (outb): Removed.
38574 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
38575 with grub_outb().
38576 * term/i386/pc/vga.c (inb): Removed.
38577 (outb): Removed.
38578 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
38579 with grub_outb().
5c58b791 38580
1a477ed6 385812007-10-02 Robert Millan <rmh@aybabtu.com>
38582
38583 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
38584 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38585 Reported by Marcin Kurek.
38586
6b5d80fa 385872007-09-07 Robert Millan <rmh@aybabtu.com>
38588
38589 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
38590 SmartFirmware version updates (as released by Sven Luther), and avoid
38591 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
38592 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
38593 known broken.
38594
5618afbf 385952007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
38596
38597 From Hitoshi Ozeki:
38598 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
38599 when merging two regions.
38600
6139dcd9 386012007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
38602
508e39ee 38603 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
38604 * normal/completion.c (grub_normal_do_completion): Likewise.
38605 Reported by Hitoshi Ozeki.
38606
386072007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 38608
6139dcd9 38609 Do not use devices at boot in chainloading.
f19dbdb7 38610
6139dcd9 38611 * loader/i386/pc/chainloader.c (boot_drive): New variable.
38612 (boot_part_addr): Likewise.
38613 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
38614 with BOOT_DRIVE and BOOT_PART_ADDR.
38615 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
38616 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
38617
38da6516 386182007-08-29 Robert Millan <rmh@aybabtu.com>
38619
38620 Patch from Simon Peter <dn.tlp@gmx.net>:
38621 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
38622 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
38623 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
38624 util/i386/pc/grub-setup.c_DEPENDENCIES.
38625 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
38626 util/grub-probe.c_DEPENDENCIES.
38627 * conf/powerpc-ieee1275.rmk: Likewise.
38628
29d0928c 386292007-08-28 Robert Millan <rmh@aybabtu.com>
38630
38631 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
38632 to tell grub-mkdevicemap how to name devices.
38633 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
38634 feature).
38635
38636 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
38637 util/i386/get_disk_name.c.
38638 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
38639 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
38640 util/ieee1275/get_disk_name.c.
38641
38642 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
38643
38644 * DISTLIST: Add util/i386/get_disk_name.c and
38645 util/ieee1275/get_disk_name.c.
38646
38647 * util/grub-mkdevicemap.c: Replace device naming logic with
38648 grub_util_get_disk_name() calls.
38649
5a0d3cca 386502007-08-20 Robert Millan <rmh@aybabtu.com>
38651
38652 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
38653 (so that it works for both plural and singular quantities).
38654
8b72db2f 386552007-08-05 Robert Millan <rmh@aybabtu.com>
38656
38657 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
38658 so that [xz] isn't taken into account when determining order.
38659
352466bf 386602007-08-02 Marco Gerards <marco@gnu.org>
38661
38662 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
38663 `include/multiboot2.h', `include/grub/elfload.h',
38664 `include/multiboot.h', `include/grub/multiboot.h',
38665 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
38666 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
38667 `kern/elf.c', `loader/multiboot_loader.c',
38668 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
38669 `loader/i386/pc/multiboot2.c',
38670 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
38671 `util/i386/pc/grub-mkrescue.in'. Remove
38672 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
38673 `include/grub/i386/pc/util/biosdisk.h' and
38674 `include/grub/powerpc/ieee1275/multiboot.h'.
38675
8f096014 386762007-08-02 Bean <bean123ch@gmail.com>
38677
38678 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
38679 (ntfs_mod_SOURCES): New variable.
38680 (ntfs_mod_CFLAGS): Likewise.
38681 (ntfs_mod_LDFLAGS): Likewise.
38682
38683 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
38684 (grub_probe_SOURCES): Likewise.
38685 (grub_emu_SOURCES): Likewise.
38686
38687 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
38688 (grub_emu_SOURCES): Likewise.
38689
38690 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
38691 (grub_emu_SOURCES): Likewise.
f19dbdb7 38692
8f096014 38693 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
38694
38695 * fs/ntfs.c: New file.
38696
9959f7db 386972007-08-02 Bean <bean123ch@gmail.com>
38698
38699 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
38700
38701 * file.h (grub_file): Likewise.
38702
38703 * fshelp.h (grub_fshelp_read_file): Likewise.
38704
38705 * util/i386/pc/grub-setup.c (setup): Likewise.
38706 (save_first_sector): Likewise.
38707 (save_blocklists): Likewise.
f19dbdb7 38708
9959f7db 38709 * fs/affs.c (grub_affs_read_file): Likewise.
38710
38711 * fs/ext2.c (grub_ext2_read_file): Likewise.
38712
38713 * fs/fat.c (grub_fat_read_data): Likewise.
38714
38715 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
38716
38717 * fs/hfs.c (grub_hfs_read_file): Likewise.
38718
38719 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
38720
38721 * fs/jfs.c (grub_jfs_read_file): Likewise.
38722
38723 * fs/minix.c (grub_minix_read_file): Likewise.
38724
38725 * fs/sfs.c (grub_sfs_read_file): Likewise.
38726
38727 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 38728
9959f7db 38729 * fs/xfs.c (grub_xfs_read_file): Likewise.
38730
38731 * command/blocklist.c (read_blocklist): Likewise.
38732 (print_blocklist): Likewise.
38733
0a203f83 387342007-08-02 Marco Gerards <marco@gnu.org>
38735
38736 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
38737 `util/hostfs.c'.
38738
38739 * disk/host.c: New file.
38740
38741 * util/hostfs.c: Likewise.
38742
38743 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
38744 return `GRUB_ERR_BAD_FS'.
38745 * fs/sfs.c (grub_sfs_mount): Likewise.
38746 * fs/xfs.c (grub_xfs_mount): Likewise.
38747
38748 * include/grub/disk.h (enum grub_disk_dev_id): Add
38749 `GRUB_DISK_DEVICE_HOST_ID'.
38750
38751 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
38752
e5dfe777 387532007-07-24 Jerone Young <jerone@gmail.com>
38754
f19dbdb7 38755 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 38756 modules for compilation.
38757 * conf/powerpc-ieee1275.rmk: Likewise.
38758
38759 * include/multiboot.h: Move multiboot definitions to one file. Rename
38760 many definitions to not get grub specific.
38761 * include/multiboot2.h: Create header with multiboot 2 definitions.
38762 * include/grub/multiboot.h: Header for grub specific function
38763 prototypes and definitions.
38764 * include/grub/multiboot2.h: Likewise.
38765 * include/grub/multiboot_loader.h: Likewise.
38766 * include/grub/i386/pc/multiboot.h: Removed.
38767 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
38768
38769 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
38770 and 2 to allow for one multiboot and module commands.
38771 * loader/multiboot2.c: Add multiboot2 functionality.
38772 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
38773 and definition names.
38774 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
38775 2 functions.
38776 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
38777 ieee1275 specific multiboot2 code.
38778
38779 * kern/i386/pc/startup.S: Change headers and definition names for
38780 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
38781
daf0f0ba 387822007-07-22 Robert Millan <rmh@aybabtu.com>
38783
38784 * geninitheader.sh: Process file specified in first parameter rather
38785 than hardcoding grub_modules_init.lst.
fe6b695a 38786 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 38787 than hardcoding grub_modules_init.h.
38788
38789 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
38790 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
38791 grub_probe_init.[ch] and grub_setup_init.[ch].
38792
38793 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
38794 grub_modules_init.h with grub_emu_init.h.
38795 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
38796 grub_probe_init.[ch] files.
38797 * conf/i386-efi.rmk: Likewise.
38798 * conf/i386-pc.rmk: Likewise.
38799 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
38800 grub_setup_init.[ch] files.
38801
38802 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
38803 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
38804 to initialize modules rather than a list of hardcoded functions.
38805 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
38806 grub_init_all() to initialize modules rather than a list of hardcoded
38807 functions.
38808
54cdc1cc 388092007-07-22 Robert Millan <rmh@aybabtu.com>
38810
38811 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
38812 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
38813
ad0686cc 388142007-07-22 Robert Millan <rmh@aybabtu.com>
38815
38816 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
38817 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
38818 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
38819 flag when running on SmartFirmware.
38820 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
38821 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
38822 was set.
38823
38824 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
38825 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
38826 rather than decreasing it.
38827
38828 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
38829 there's not enough space to do it, fail in the same way as when it
38830 can't be done because there are no partitions.
38831
38832 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
38833 when nvsetenv failed.
38834
969c02ec 388352007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
38836
38837 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
38838 because this rule is automatically generated.
38839 (grub-mkrescue): Removed for the same reason as above.
38840
5a79f472 388412007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
38842
38843 Migrate to GNU General Public License Version 3.
f19dbdb7 38844
5a79f472 38845 * COPYING: Replaced with the plain text version of GPLv3.
38846
38847 * config.guess: Updated from gnulib.
38848 * config.sub: Likewise.
38849
38850 * geninit.sh: Output a GPLv3 copyright notice.
38851 * geninitheader.sh: Likewise.
38852 * genmodsrc.sh: Likewise.
38853 * gensymlist.sh.in: Likewise.
38854
38855 * boot/i386/pc/boot.S: Upgraded to GPLv3.
38856 * boot/i386/pc/diskboot.S: Likewise.
38857 * boot/i386/pc/pxeboot.S: Likewise.
38858 * commands/blocklist.c: Likewise.
38859 * commands/boot.c: Likewise.
38860 * commands/cat.c: Likewise.
38861 * commands/cmp.c: Likewise.
38862 * commands/configfile.c: Likewise.
38863 * commands/echo.c: Likewise.
38864 * commands/help.c: Likewise.
38865 * commands/ls.c: Likewise.
38866 * commands/search.c: Likewise.
38867 * commands/terminal.c: Likewise.
38868 * commands/test.c: Likewise.
38869 * commands/videotest.c: Likewise.
38870 * commands/i386/cpuid.c: Likewise.
38871 * commands/i386/pc/halt.c: Likewise.
38872 * commands/i386/pc/play.c: Likewise.
38873 * commands/i386/pc/reboot.c: Likewise.
38874 * commands/i386/pc/vbeinfo.c: Likewise.
38875 * commands/i386/pc/vbetest.c: Likewise.
38876 * commands/ieee1275/halt.c: Likewise.
38877 * commands/ieee1275/reboot.c: Likewise.
38878 * commands/ieee1275/suspend.c: Likewise.
38879 * disk/loopback.c: Likewise.
38880 * disk/lvm.c: Likewise.
38881 * disk/raid.c: Likewise.
38882 * disk/efi/efidisk.c: Likewise.
38883 * disk/i386/pc/biosdisk.c: Likewise.
38884 * disk/ieee1275/ofdisk.c: Likewise.
38885 * font/manager.c: Likewise.
38886 * fs/affs.c: Likewise.
38887 * fs/ext2.c: Likewise.
38888 * fs/fat.c: Likewise.
38889 * fs/fshelp.c: Likewise.
38890 * fs/hfs.c: Likewise.
38891 * fs/hfsplus.c: Likewise.
38892 * fs/iso9660.c: Likewise.
38893 * fs/jfs.c: Likewise.
38894 * fs/minix.c: Likewise.
38895 * fs/sfs.c: Likewise.
38896 * fs/ufs.c: Likewise.
38897 * fs/xfs.c: Likewise.
38898 * hello/hello.c: Likewise.
38899 * include/grub/acorn_filecore.h: Likewise.
38900 * include/grub/arg.h: Likewise.
38901 * include/grub/bitmap.h: Likewise.
38902 * include/grub/boot.h: Likewise.
38903 * include/grub/cache.h: Likewise.
38904 * include/grub/device.h: Likewise.
38905 * include/grub/disk.h: Likewise.
38906 * include/grub/dl.h: Likewise.
38907 * include/grub/elfload.h: Likewise.
38908 * include/grub/env.h: Likewise.
38909 * include/grub/err.h: Likewise.
38910 * include/grub/file.h: Likewise.
38911 * include/grub/font.h: Likewise.
38912 * include/grub/fs.h: Likewise.
38913 * include/grub/fshelp.h: Likewise.
38914 * include/grub/gzio.h: Likewise.
38915 * include/grub/hfs.h: Likewise.
38916 * include/grub/kernel.h: Likewise.
38917 * include/grub/loader.h: Likewise.
38918 * include/grub/lvm.h: Likewise.
38919 * include/grub/misc.h: Likewise.
38920 * include/grub/mm.h: Likewise.
38921 * include/grub/net.h: Likewise.
38922 * include/grub/normal.h: Likewise.
38923 * include/grub/parser.h: Likewise.
38924 * include/grub/partition.h: Likewise.
38925 * include/grub/pc_partition.h: Likewise.
38926 * include/grub/raid.h: Likewise.
38927 * include/grub/rescue.h: Likewise.
38928 * include/grub/script.h: Likewise.
38929 * include/grub/setjmp.h: Likewise.
38930 * include/grub/symbol.h: Likewise.
38931 * include/grub/term.h: Likewise.
38932 * include/grub/terminfo.h: Likewise.
38933 * include/grub/tparm.h: Likewise.
38934 * include/grub/types.h: Likewise.
38935 * include/grub/video.h: Likewise.
38936 * include/grub/efi/api.h: Likewise.
38937 * include/grub/efi/chainloader.h: Likewise.
38938 * include/grub/efi/console.h: Likewise.
38939 * include/grub/efi/console_control.h: Likewise.
38940 * include/grub/efi/disk.h: Likewise.
38941 * include/grub/efi/efi.h: Likewise.
38942 * include/grub/efi/pe32.h: Likewise.
38943 * include/grub/efi/time.h: Likewise.
38944 * include/grub/i386/linux.h: Likewise.
38945 * include/grub/i386/setjmp.h: Likewise.
38946 * include/grub/i386/types.h: Likewise.
38947 * include/grub/i386/efi/kernel.h: Likewise.
38948 * include/grub/i386/efi/loader.h: Likewise.
38949 * include/grub/i386/efi/time.h: Likewise.
38950 * include/grub/i386/pc/biosdisk.h: Likewise.
38951 * include/grub/i386/pc/boot.h: Likewise.
38952 * include/grub/i386/pc/chainloader.h: Likewise.
38953 * include/grub/i386/pc/console.h: Likewise.
38954 * include/grub/i386/pc/init.h: Likewise.
38955 * include/grub/i386/pc/kernel.h: Likewise.
38956 * include/grub/i386/pc/loader.h: Likewise.
38957 * include/grub/i386/pc/memory.h: Likewise.
38958 * include/grub/i386/pc/multiboot.h: Likewise.
38959 * include/grub/i386/pc/serial.h: Likewise.
38960 * include/grub/i386/pc/time.h: Likewise.
38961 * include/grub/i386/pc/vbe.h: Likewise.
38962 * include/grub/i386/pc/vbeblit.h: Likewise.
38963 * include/grub/i386/pc/vbefill.h: Likewise.
38964 * include/grub/i386/pc/vbeutil.h: Likewise.
38965 * include/grub/i386/pc/vga.h: Likewise.
38966 * include/grub/ieee1275/ieee1275.h: Likewise.
38967 * include/grub/ieee1275/ofdisk.h: Likewise.
38968 * include/grub/powerpc/libgcc.h: Likewise.
38969 * include/grub/powerpc/setjmp.h: Likewise.
38970 * include/grub/powerpc/types.h: Likewise.
38971 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
38972 * include/grub/powerpc/ieee1275/console.h: Likewise.
38973 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
38974 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
38975 * include/grub/powerpc/ieee1275/loader.h: Likewise.
38976 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
38977 * include/grub/powerpc/ieee1275/time.h: Likewise.
38978 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
38979 * include/grub/sparc64/libgcc.h: Likewise.
38980 * include/grub/sparc64/setjmp.h: Likewise.
38981 * include/grub/sparc64/types.h: Likewise.
38982 * include/grub/sparc64/ieee1275/console.h: Likewise.
38983 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
38984 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
38985 * include/grub/sparc64/ieee1275/time.h: Likewise.
38986 * include/grub/util/biosdisk.h: Likewise.
38987 * include/grub/util/getroot.h: Likewise.
38988 * include/grub/util/lvm.h: Likewise.
38989 * include/grub/util/misc.h: Likewise.
38990 * include/grub/util/raid.h: Likewise.
38991 * include/grub/util/resolve.h: Likewise.
38992 * io/gzio.c: Likewise.
38993 * kern/device.c: Likewise.
38994 * kern/disk.c: Likewise.
38995 * kern/dl.c: Likewise.
38996 * kern/elf.c: Likewise.
38997 * kern/env.c: Likewise.
38998 * kern/err.c: Likewise.
38999 * kern/file.c: Likewise.
39000 * kern/fs.c: Likewise.
39001 * kern/loader.c: Likewise.
39002 * kern/main.c: Likewise.
39003 * kern/misc.c: Likewise.
39004 * kern/mm.c: Likewise.
39005 * kern/parser.c: Likewise.
39006 * kern/partition.c: Likewise.
39007 * kern/rescue.c: Likewise.
39008 * kern/term.c: Likewise.
39009 * kern/efi/efi.c: Likewise.
39010 * kern/efi/init.c: Likewise.
39011 * kern/efi/mm.c: Likewise.
39012 * kern/i386/dl.c: Likewise.
39013 * kern/i386/efi/init.c: Likewise.
39014 * kern/i386/efi/startup.S: Likewise.
39015 * kern/i386/pc/init.c: Likewise.
39016 * kern/i386/pc/lzo1x.S: Likewise.
39017 * kern/i386/pc/startup.S: Likewise.
39018 * kern/ieee1275/ieee1275.c: Likewise.
39019 * kern/powerpc/cache.S: Likewise.
39020 * kern/powerpc/dl.c: Likewise.
39021 * kern/powerpc/ieee1275/cmain.c: Likewise.
39022 * kern/powerpc/ieee1275/crt0.S: Likewise.
39023 * kern/powerpc/ieee1275/init.c: Likewise.
39024 * kern/powerpc/ieee1275/openfw.c: Likewise.
39025 * kern/sparc64/cache.S: Likewise.
39026 * kern/sparc64/dl.c: Likewise.
39027 * kern/sparc64/ieee1275/init.c: Likewise.
39028 * kern/sparc64/ieee1275/openfw.c: Likewise.
39029 * loader/efi/chainloader.c: Likewise.
39030 * loader/efi/chainloader_normal.c: Likewise.
39031 * loader/i386/efi/linux.c: Likewise.
39032 * loader/i386/efi/linux_normal.c: Likewise.
39033 * loader/i386/pc/chainloader.c: Likewise.
39034 * loader/i386/pc/chainloader_normal.c: Likewise.
39035 * loader/i386/pc/linux.c: Likewise.
39036 * loader/i386/pc/linux_normal.c: Likewise.
39037 * loader/i386/pc/multiboot.c: Likewise.
39038 * loader/i386/pc/multiboot_normal.c: Likewise.
39039 * loader/powerpc/ieee1275/linux.c: Likewise.
39040 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39041 * normal/arg.c: Likewise.
39042 * normal/cmdline.c: Likewise.
39043 * normal/command.c: Likewise.
39044 * normal/completion.c: Likewise.
39045 * normal/execute.c: Likewise.
39046 * normal/function.c: Likewise.
39047 * normal/lexer.c: Likewise.
39048 * normal/main.c: Likewise.
39049 * normal/menu.c: Likewise.
39050 * normal/menu_entry.c: Likewise.
39051 * normal/misc.c: Likewise.
39052 * normal/parser.y: Likewise.
39053 * normal/script.c: Likewise.
39054 * normal/i386/setjmp.S: Likewise.
39055 * normal/powerpc/setjmp.S: Likewise.
39056 * normal/sparc64/setjmp.S: Likewise.
39057 * partmap/acorn.c: Likewise.
39058 * partmap/amiga.c: Likewise.
39059 * partmap/apple.c: Likewise.
39060 * partmap/gpt.c: Likewise.
39061 * partmap/pc.c: Likewise.
39062 * partmap/sun.c: Likewise.
39063 * term/gfxterm.c: Likewise.
39064 * term/terminfo.c: Likewise.
39065 * term/efi/console.c: Likewise.
39066 * term/i386/pc/console.c: Likewise.
39067 * term/i386/pc/serial.c: Likewise.
39068 * term/i386/pc/vesafb.c: Likewise.
39069 * term/i386/pc/vga.c: Likewise.
39070 * term/ieee1275/ofconsole.c: Likewise.
39071 * util/biosdisk.c: Likewise.
39072 * util/console.c: Likewise.
39073 * util/genmoddep.c: Likewise.
39074 * util/getroot.c: Likewise.
39075 * util/grub-emu.c: Likewise.
39076 * util/grub-mkdevicemap.c: Likewise.
39077 * util/grub-probe.c: Likewise.
39078 * util/lvm.c: Likewise.
39079 * util/misc.c: Likewise.
39080 * util/raid.c: Likewise.
39081 * util/resolve.c: Likewise.
39082 * util/update-grub.in: Likewise.
39083 * util/update-grub_lib.in: Likewise.
39084 * util/grub.d/00_header.in: Likewise.
39085 * util/grub.d/10_hurd.in: Likewise.
39086 * util/grub.d/10_linux.in: Likewise.
39087 * util/i386/efi/grub-install.in: Likewise.
39088 * util/i386/efi/grub-mkimage.c: Likewise.
39089 * util/i386/pc/grub-install.in: Likewise.
39090 * util/i386/pc/grub-mkimage.c: Likewise.
39091 * util/i386/pc/grub-mkrescue.in: Likewise.
39092 * util/i386/pc/grub-setup.c: Likewise.
39093 * util/i386/pc/misc.c: Likewise.
39094 * util/powerpc/ieee1275/grub-install.in: Likewise.
39095 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
39096 * util/powerpc/ieee1275/misc.c: Likewise.
39097 * video/bitmap.c: Likewise.
39098 * video/video.c: Likewise.
39099 * video/i386/pc/vbe.c: Likewise.
39100 * video/i386/pc/vbeblit.c: Likewise.
39101 * video/i386/pc/vbefill.c: Likewise.
39102 * video/i386/pc/vbeutil.c: Likewise.
39103 * video/readers/tga.c: Likewise.
39104
3572d015 391052007-07-02 Robert Millan <rmh@aybabtu.com>
39106
39107 * conf/i386-efi.rmk: Replace obsolete reference to
39108 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
39109 with util/getroot.c.
39110 * conf/powerpc-ieee1275.rmk: Likewise.
39111 * conf/sparc64-ieee1275.rmk: Likewise.
39112
39113 * util/grub-emu.c (main): Fix unchecked pointer handling.
39114
2c2a681b 391152007-07-02 Robert Millan <rmh@aybabtu.com>
39116
39117 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
39118 invocation to fail, in order to support partition-less media.
39119
39120 * util/i386/pc/grub-install.in: Likewise.
39121
39122 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
39123 which fs or partmap modules are needed (akin to its sister scripts).
39124
39125 Also use grub-probe to get rid of unportable /proc/mounts check.
39126
39127 Print the same informational message that the other scripts do, before
fe6b695a 39128 exiting.
2c2a681b 39129
6193defe 391302007-06-23 Robert Millan <rmh@aybabtu.com>
39131
fe6b695a 39132 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 39133 a font file can be found and, if so, echo the GRUB path to it.
39134
39135 * util/update-grub.in: Handle multiple terminals depending on user
39136 input, platform availability and font file presence. Propagate
39137 variables of our findings to /etc/grub.d/ children.
39138
39139 * util/grub.d/00_header.in: Handle multiple terminals, based on
39140 environment setup by update-grub.
39141
eface1dc 391422007-06-23 Robert Millan <rmh@aybabtu.com>
39143
ba50d28f 39144 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 39145
bf697e28 391462007-06-21 Robert Millan <rmh@aybabtu.com>
39147
39148 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
39149 indicate end of data section in kernel image.
39150 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
39151 GRUB_KERNEL_MACHINE_DATA_END.
39152
39153 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
39154 space for it.
39155 * kern/i386/efi/startup.S: Likewise.
39156
39157 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
39158 during image generation. Implement --prefix option to override this
39159 patch.
39160 * util/i386/efi/grub-mkimage.c: Likewise.
39161
39162 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
39163 code to make path relative to its root into a separate function.
39164
39165 * util/i386/pc/grub-install.in: Use newly provided
39166 make_system_path_relative_to_its_root() to convert ${grubdir}, then
39167 pass the result to grub-install --prefix.
39168
baa574b4 391692007-06-13 Robert Millan <rmh@aybabtu.com>
39170
39171 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
39172 DEFAULT_DEVICE_MAP.
39173 * util/grub-emu.c: Use above definitions from misc.h instead of
39174 defining them.
39175 * util/grub-mkdevicemap.c: Likewise.
39176 * util/i386/pc/grub-setup.c: Likewise.
39177 * util/grub-probe.c: Likewise.
39178 (probe): Abort with grub_util_error() when either
39179 grub_guess_root_device or grub_util_get_grub_dev fails.
39180
0215dcbf 391812007-06-12 Robert Millan <rmh@aybabtu.com>
39182
39183 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
39184 "pager" assignment.
39185 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
39186 "pcdata".
39187 * util/grub-probe.c (probe): Likewise for "drive_name".
39188
8af2ab7b 391892007-06-11 Robert Millan <rmh@aybabtu.com>
39190
39191 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
39192 not just the cdrom one.
39193
59d31694 391942007-06-11 Robert Millan <rmh@aybabtu.com>
39195
39196 * util/i386/pc/grub-mkrescue.in: Add "set -e".
39197 Add --pkglibdir=DIR option to override pkglibdir.
39198 Mention --image-type=TYPE in help output.
39199 Fix --grub-mkimage (it was a no-op).
fe6b695a 39200 Abort gracefully when no parameter is given.
59d31694 39201
7ee367e4 392022007-06-11 Robert Millan <rmh@aybabtu.com>
39203
39204 * util/i386/pc/grub-mkrescue.in: New file.
39205 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
39206 * Makefile.in: Handle bin_SCRIPTS.
39207
29b0ed46 392082007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
39209
39210 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
39211 list of video modes.
39212
c0f90770 392132007-06-06 Robert Millan <rmh@aybabtu.com>
39214
39215 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
39216 file doesn't exist, or if it is in a filesystem grub can't read.
39217
39218 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
39219 not abort if GRUB_DRIVE could not be defined. Rearrange generated
39220 header comment to fit in 80 columns when the variables are resolved.
39221
39222 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
39223 could be identified by update-grub. Remove redundant check for
fe6b695a 39224 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 39225 handles that).
39226
fb36dc26 392272007-06-04 Robert Millan <rmh@aybabtu.com>
39228
39229 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
39230
39231 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
39232
39233 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
39234
0c68c93e 392352007-06-04 Robert Millan <rmh@aybabtu.com>
39236
39237 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
39238
39239 * include/grub/partition.h: Declare grub_apple_partition_map_init and
39240 grub_apple_partition_map_fini.
39241
39242 * util/biosdisk.c
39243 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
39244 to access >2 TiB disks).
39245
39246 Print disk->total_sectors with %llu instead of %lu, since this
39247 variable is always 64-bit (prevents wrong disk size from being displayed
39248 on either >2 TiB disk or big-endian CPU).
39249
39250 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
39251 into a generic case that supports all (sane) partition maps.
39252
39253 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
39254 breaks big-endian.
39255
39256 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
39257 and grub_apple_partition_map_fini() after that.
39258
0f23eb74 392592007-06-01 Robert Millan <rmh@aybabtu.com>
39260
39261 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
39262
39263 * util/grub.d/00_header.in: Only enable gfxterm when
39264 convert_system_path_to_grub_path() succeeds.
39265
42c71976 392662007-05-20 Robert Millan <rmh@aybabtu.com>
39267
39268 * util/update-grub_lib.in: New file.
39269 * DISTLIST: Add update-grub_lib.in.
39270 * conf/common.rmk: Generate update-grub_lib and install it in
39271 $(lib_DATA).
39272 * Makefile.in: Add install routine for $(lib_DATA).
39273
39274 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
39275 function provided by update-grub_lib to support arbitrary paths of
39276 unifont.pff.
39277 * util/update-grub.in: Use convert_system_path_to_grub_path() to
39278 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
39279
5beb2291 392802007-05-19 Robert Millan <rmh@aybabtu.com>
39281
39282 * commands/i386/cpuid.c: New module.
39283 * DISTLIST: Add it.
39284 * conf/i386-efi.rmk: Enable cpuid.mod.
39285 * conf/i386-pc.rmk: Likewise.
39286
7262eca1 392872007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
39288
39289 * kern/disk.c (grub_disk_read): Check return value of
39290 grub_realloc().
39291
260ba823 392922007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
39293
39294 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
39295 arrays.
39296 * disk/raid.c (grub_raid_open): Likewise.
39297
1ecb6cf2 392982007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
39299
39300 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
39301 stack instead of on the heap.
39302
39303 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
39304 before doing a read on it.
39305
39306 * configure.ac: Only use -fno-stack-protector for the target
39307 environment.
f19dbdb7 39308
21c8cbb1 393092007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
39310
39311 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
39312 __attribute_ ((unused)) to mode_type argument.
39313
39314 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 39315
21c8cbb1 39316 * kern/misc.c (memcmp): Fix prototype.
39317
39318 * include/grub/partition.h [GRUB_UTIL]
39319 (grub_gpt_partition_map_init): Add prototype.
39320 (grub_gpt_partition_map_fini): Likewise.
39321
39322 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
39323 at the right place.
39324
39325 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
39326 (grub_fat_read_data): Likewise.
39327 (grub_fat_find_dir): Likewise.
39328
39329 * font/manager.c (find_glyph): Make table a const.
39330 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 39331
849d55d3 393322007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
39333
39334 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
39335 code, first search for device in /dev/mapper, then in /dev.
39336 (grub_util_get_grub_dev): New function.
39337 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
39338 prototype.
39339 * util/grub-probe.c (probe): Remove check for RAID, call
39340 grub_util_get_grub_dev() instead of
39341 grub_util_biosdisk_get_grub_dev().
39342 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
39343 grub_util_biosdisk_get_grub_dev().
39344 * util/i386/pc/grub-setup.c (main): Likewise.
39345
8fff7c2f 393462007-05-16 Robert Millan <rmh@aybabtu.com>
39347
39348 * DISTLIST: Update for the latest changes.
39349 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
39350 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
39351 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
39352 grub/util/biosdisk.h.
39353 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
39354 grub/util/biosdisk.h.
39355
48e12b52 393562007-05-16 Robert Millan <rmh@aybabtu.com>
39357
39358 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
39359
46b9d128 393602007-05-16 Robert Millan <rmh@aybabtu.com>
39361
39362 * util/i386/efi/grub-install.in: New.
39363 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
39364 newly added grub-install.
39365 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
39366 include.
39367 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
39368 grub/util/biosdisk.h.
39369 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
39370 grub/util/biosdisk.h.
39371
2d1a40a9 393722007-05-16 Robert Millan <rmh@aybabtu.com>
39373
39374 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
39375 * include/grub/util/biosdisk.h: ... here.
39376 * util/i386/pc/biosdisk.c: Moved to ...
39377 * util/biosdisk.c: ... here.
39378 * util/i386/pc/getroot.c: Moved to ...
39379 * util/getroot.c: ... here.
39380 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
39381 * util/grub-mkdevicemap.c: ... here.
39382 * util/i386/pc/grub-probe.c: Moved to ...
39383 * util/grub-probe.c: ... here.
39384
9e26e3bc 393852007-05-15 Robert Millan <rmh@aybabtu.com>
39386
39387 * util/update-grub.in: Remove duplicated line in grub.cfg header
39388 message.
39389
57f96397 393902007-05-13 Robert Millan <rmh@aybabtu.com>
39391
39392 * util/update-grub.in: Fix a few assumptions about the devices holding
39393 /, /boot and /boot/grub being the same.
39394 * util/grub.d/00_header.in: Likewise.
39395 * util/grub.d/10_hurd.in: Likewise.
39396 * util/grub.d/10_linux.in: Likewise.
39397
39398 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
39399 patterns. Use that to define the `.old' suffix as older than `'.
39400
39401 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
39402
39403 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
39404 the grub.cfg header message.
39405
2e610d62 394062007-05-11 Robert Millan <rmh@aybabtu.com>
39407
39408 * util/update-grub.in: Create device.map if it doesn't already exist,
39409 before attempting to run grub-probe.
39410 Check for grub-probe and grub-mkdevicemap with the same code
39411 grub-install is using.
39412 Remove test mode.
39413
3f6a10ef 394142007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
39415
39416 * Makefile.in: Add the datarootdir autoconf variable.
39417
02e7b75e 394182007-05-09 Robert Millan <rmh@aybabtu.com>
39419
39420 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 39421 fail gracefully if dev->disk->partition == NULL.
02e7b75e 39422
75f396cc 394232007-05-07 Robert Millan <rmh@aybabtu.com>
39424
39425 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
39426 determine partition map module.
39427 * util/i386/pc/grub-install.in: Use this feature to decide which
39428 partition module to load, instead of hardcoding pc and gpt.
39429
da65cb36 394302007-05-07 Robert Millan <rmh@aybabtu.com>
39431
39432 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
39433 source directory differs from build directory.
39434
b57d6a91 394352007-05-05 Robert Millan <rmh@aybabtu.com>
39436
39437 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
39438 initialisation.
39439
509d00f1 394402007-05-05 Robert Millan <rmh@aybabtu.com>
39441
39442 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
39443
c48f23ef 394442007-05-05 Robert Millan <rmh@aybabtu.com>
39445
39446 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
39447 command-line arguments via ${GRUB_CMDLINE_LINUX}.
39448
20b97658 394492007-05-05 Robert Millan <rmh@aybabtu.com>
39450
39451 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
39452 (grub_probe_SOURCES): Likewise.
39453 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
39454 GPT and initialize dos_part and bsd_part accordingly.
39455 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
39456 install_bsd_part.
39457 (main): Activate gpt module for use during partition identification,
39458 and deactivate it afterwards.
39459 * util/i386/pc/grub-install.in: Add gpt module to core.img.
39460 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
39461 partition identification, and deactivate it afterwards.
39462
99123174 394632007-05-05 Robert Millan <rmh@aybabtu.com>
39464
39465 * term/i386/pc/console.c (grub_console_fini): Call
39466 grub_term_set_current() before grub_term_unregister().
39467
ebd97f6e 394682007-05-04 Robert Millan <rmh@aybabtu.com>
39469
39470 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
39471 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
39472 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
39473 and update-grub_DATA.
39474 * conf/common.rmk: Build and install update-grub components.
39475 * conf/common.mk: Regenerate.
39476 * util/update-grub.in: New. Core of update-grub.
39477 * util/grub.d/00_header.in: New. Generates grub.cfg header.
39478 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
39479 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
39480 * util/grub.d/README: New. Document grub.d directory layout.
39481
b06a264d 394822007-05-01 Robert Millan <rmh@aybabtu.com>
39483
39484 * util/grub-emu.c: Move initialization functions
39485 grub_util_biosdisk_init() and grub_init_all() before
39486 grub_util_biosdisk_get_grub_dev(), which relies on them.
39487
41f0050e 394882007-04-19 Robert Millan <rmh@aybabtu.com>
39489
39490 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
39491 it is used later.
39492
04582bb3 394932007-04-18 Jerone Young <jerone@gmail.com>
39494
f19dbdb7 39495 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 39496 stanza.
39497
08db4632 394982007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 39499
08db4632 39500 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
39501 continue on and look for device node with real device name.
39502
801b76be 395032007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 39504
fe6b695a 39505 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 39506 ability.
39507 * Makefile.in: Add autoconf package transformation code.
39508 * util/i386/pc/grub-install.in: Likewise.
39509 * util/powerpc/ieee1275/grub-install.in: Likewise.
39510
6795c4e1 395112007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
39512
39513 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
39514 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
39515 (EXT2_REVISION): Likewise.
39516 (EXT2_INODE_SIZE): Likewise.
39517 (struct grub_ext2_block_group): Added a missing member
39518 "used_dirs".
39519 (grub_ext2_read_inode): Divide by the inode size in a superblock
39520 instead of 128 to obtain INODES_PER_BLOCK.
39521 Use the macro EXT2_INODE_SIZE instead of directly using
39522 SBLOCK->INODE_SIZE.
39523
d70af616 395242007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
39525
39526 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
39527 superblock instead of the structure size to compute an
39528 offset. This fixes the problem that GRUB could not read a
39529 filesystem when inode size is different from 128-byte.
39530
3b801603 395312007-03-05 Marco Gerards <marco@gnu.org>
39532
39533 * normal/main.c (read_config_file): When "menu" is not set, create
39534 an initial context.
39535
4785bfe4 395362007-02-21 Hollis Blanchard <hollis@penguinppc.org>
39537
39538 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
39539 (HEAP_LIMIT): New macro.
39540 (grub_claim_heap): Claim memory up to `heaplimit'.
39541
a0cbb023 395422007-02-21 Hollis Blanchard <hollis@penguinppc.org>
39543
39544 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
39545 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
39546 (_start): Likewise.
39547 (grub_arch_modules_addr): Return address after `_end'.
39548 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
39549 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
39550 (add_segments): Calculate `_end' from phdr size and location.
39551 (ALIGN_UP): Moved to ...
39552 * include/grub/misc.h: here.
39553 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
39554 New macro.
39555 (GRUB_IEEE1275_MODULE_BASE): Removed.
39556
fd7d8eba 395572007-02-20 Hollis Blanchard <hollis@penguinppc.org>
39558
39559 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
39560 loop boundary.
39561
9b09e6fc 395622007-02-20 Hollis Blanchard <hollis@penguinppc.org>
39563
39564 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
39565 All users updated.
39566 (grub_elf64_load_hook_t): Likewise.
39567 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
39568 debug output.
39569
3ce27299 395702007-02-20 Hollis Blanchard <hollis@penguinppc.org>
39571
39572 * kern/mm.c: Update copyright.
39573 (grub_mm_debug): Correct syntax error.
39574 (grub_mm_dump_free): New function.
39575 (grub_debug_free): Call `grub_free'.
39576 * include/grub/mm.h: Update copyright.
39577 (grub_mm_dump_free): Add declaration.
39578
077d5fee 395792007-02-12 Hollis Blanchard <hollis@penguinppc.org>
39580
39581 * include/grub/ieee1275/ieee1275.h: Update copyright.
39582 * kern/powerpc/ieee1275/init.c: Likewise.
39583 * kern/powerpc/ieee1275/openfw.c: Likewise.
39584
39585 * loader/powerpc/ieee1275/linux.c: Likewise.
39586 * include/grub/elfload.h: Likewise.
39587 * kern/elf.c: Likewise.
39588 (grub_elf32_load): Pass `base' and `size' parameters. Update all
39589 callers.
39590 (grub_elf64_load): Likewise.
39591 (grub_elf32_load_segment): Move to a nested function.
39592 (grub_elf64_load_segment): Likewise.
39593
dc946850 395942007-02-12 Hollis Blanchard <hollis@penguinppc.org>
39595
39596 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
39597 prototype.
39598 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
39599 (grub_heap_len): Likewise.
39600 (HEAP_SIZE): New macro.
39601 (grub_claim_heap): New function.
39602 (grub_machine_init): Don't claim heap directly. Call
39603 `grub_claim_heap'.
39604 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
39605 (grub_available_iterate): New function.
39606
baa2a121 396072007-02-03 Thomas Schwinge <tschwinge@gnu.org>
39608
39609 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
39610 * configure.ac: Use it for testing the HOST and TARGET compilers.
39611
4fe9862e 396122006-12-13 Thomas Schwinge <tschwinge@gnu.org>
39613
39614 * Makefile.in (enable_grub_emu): New variable.
39615 * configure.ac (--enable-grub-emu): New option.
39616 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
39617 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
39618 * conf/i386-pc.rmk: Likewise.
39619 * conf/powerpc-ieee1275.rmk: Likewise.
39620 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
39621
a8aa5762 396222006-12-12 Marco Gerards <marco@gnu.org>
39623
39624 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
39625
39626 * kern/env.c (grub_env_unset): Don't free the member `value' when
39627 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
39628 pointer.
39629
39630 * normal/main.c (current_menu): Removed.
39631 (free_menu): Unset the `menu' environment variable.
39632 (grub_normal_menu_addentry): Make use of the environment variable
39633 `menu', instead of using the global `current_menu'. Allocate
39634 memory for the sourcecode of this entry.
39635 (read_config_file): New argument `nested', changed all callers.
39636 Only in the case of a new context, initialize a new menu. Set the
39637 `menu' environment variable.
39638 (grub_normal_execute): Don't set and unset the environment
39639 variable `menu' here anymore. Only free the menu when leaving the
39640 context.
39641
39642 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
39643 leak.
39644
957b3a3e 396452006-12-11 Marco Gerards <marco@gnu.org>
39646
39647 * normal/menu_entry.c (run): Fix off by one bug so the last line
39648 is executed. Move the loader check to outside the loop.
39649
ef875714 396502006-12-08 Hollis Blanchard <hollis@penguinppc.org>
39651
39652 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
39653
4e739985 396542006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
39655
39656 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
39657 the number of sectors. Reported by Andrey Shuvikov
39658 <mr_hyro@yahoo.com>.
f19dbdb7 39659
790707f2 396602006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
39661
39662 * kern/disk.c (grub_disk_read): When there is a read error, always
39663 try to read only the necessary data.
f19dbdb7 39664
790707f2 39665 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
39666 disk/raid.c.
39667 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
39668 prototype.
39669 [GRUB_UTIL] (grub_raid_fini): Likewise.
39670 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 39671 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 39672 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
39673 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
39674 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
39675 and grub_raid_fini().
f19dbdb7 39676
03e58196 396772006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
39678
39679 * include/grub/types.h (__unused): Rename to UNUSED.
39680 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
39681 (grub_elf64_size): Likewise.
f19dbdb7 39682
ae4f23bf 396832006-11-03 Hollis Blanchard <hollis@penguinppc.org>
39684
39685 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
39686 grub_error_push and grub_error_pop in the error-handling path.
39687 (grub_elf32_load_segment): Only call grub_file_read with non-zero
39688 length.
39689
2166cc83 396902006-11-03 Hollis Blanchard <hollis@penguinppc.org>
39691
39692 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
39693 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39694 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39695 (kernel_elf_SOURCES): Likewise.
39696 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
39697 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
39698 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
39699 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
39700 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
39701 (elf_mod_SOURCES): New variable.
39702 (elf_mod_CFLAGS): Likewise.
39703 (elf_mod_LDFLAGS): Likewise.
39704 * include/grub/types.h (__unused): New macro.
39705 * include/grub/elfload.h: New file.
39706 * kern/elf.c: Likewise.
39707 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
39708 (ELF32_LOADMASK): New macro.
39709 (ELF64_LOADMASK): Likewise.
39710 (vmlinux): Removed.
39711 (grub_linux_load32): New function.
39712 (grub_linux_load64): Likewise.
39713 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
39714 Use grub_elf_t instead of grub_file_t.
39715
a09d5aa5 397162006-11-02 Hollis Blanchard <hollis@penguinppc.org>
39717
39718 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
39719 `catch_result' to struct set_color_args.
39720
d976fc51 397212006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
39722
39723 * normal/menu.c: Include grub/script.h.
39724 * normal/menu_entry.c: Likewise.
39725 * include/grub/normal.h: Do not include grub/script.h.
39726
67507549 397272006-10-27 Hollis Blanchard <hollis@penguinppc.org>
39728
39729 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
39730
69203a99 397312006-10-27 Hollis Blanchard <hollis@penguinppc.org>
39732
39733 * kern/disk.c (grub_disk_open): Print debug messages when opening a
39734 disk.
39735 (grub_disk_close): Print debug messages when closing a disk.
39736 (grub_disk_read): Print debug messages when disk read fails.
39737 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
39738 filesystem type.
39739 * kern/partition.c: Include misc.h.
39740 (grub_partition_iterate): Print debug messages when detecting
39741 partition type.
39742
e2b8278c 397432006-10-27 Hollis Blanchard <hollis@penguinppc.org>
39744
39745 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
39746 is negative.
39747 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
39748
97b2f2ff 397492006-10-26 Hollis Blanchard <hollis@penguinppc.org>
39750
39751 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
39752 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
39753
6555d655 397542006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
39755
39756 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
39757 instead of sizeof(lv). Patch by Michael Guntsche.
39758
4d42b77f 397592006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
39760
39761 * disk/lvm.c: Rename VGS to VG_LIST.
39762 (grub_lvm_iterate): Change VGS->LV to VG-LV.
39763 (grub_lvm_open): Likewise.
39764 Thanks to Michael Guntsche for finding this bug.
39765
5d74d927 397662006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
39767
39768 * configure.ac (AC_INIT): Bumped to 1.95.
39769
a1bb27e4 397702006-10-14 Robert Millan <rmh@aybabtu.com>
39771
39772 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
39773 with "/dev/.static/dev/md".
39774
e0994b8b 397752006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
39776
39777 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
39778 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
39779 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
39780 DRIVE_NAME are always freed.
39781
39782 * util/i386/pc/biosdisk.c (make_device_name): Add one into
39783 DOS_PART, as a DOS partition is counted from one instead of zero
39784 now. Reported by Robert Millan.
39785
ddd5cee9 397862006-10-14 Robert Millan <rmh@aybabtu.com>
39787
39788 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
39789 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
39790 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
39791 string returned by grub_guess_root_device.
39792 * util/i386/pc/grub-setup.c: Likewise.
39793 * util/i386/pc/grub-probefs.c: Likewise.
39794
39795 * util/i386/pc/grub-probefs.c: Rename to ...
39796 * util/i386/pc/grub-probe.c: ... this.
39797 * DISTLIST: Remove grub-probefs, add grub-probe.
39798 * conf/i386-efi.rmk: Likewise.
39799 * conf/i386-pc.rmk: Likewise.
39800 * util/i386/pc/grub-install.in: Likewise.
39801
39802 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
39803 choose which information we want to print.
39804
2b002173 398052006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
39806
39807 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
39808 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
39809 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
39810 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
39811 video/readers/tga.c and video/i386/pc/vbeutil.c.
39812
398132006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
39814
39815 Added support for RAID and LVM.
f19dbdb7 39816
2b002173 39817 * disk/lvm.c: New file.
39818 * disk/raid.c: Likewise.
39819 * include/grub/lvm.h: Likewise.
f19dbdb7 39820 * include/grub/raid.h: Likewise.
2b002173 39821 * include/grub/util/lvm.h: Likewise.
39822 * include/grub/util/raid.h: Likewise.
39823 * util/lvm.c: Likewise.
39824 * util/raid.c: Likewise.
39825
39826 * include/grub/disk.h (grub_disk_dev_id): Add
39827 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
39828 (grub_disk_get_size): New prototype.
39829 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
39830 returns a partition.
39831 (grub_disk_get_size): New function.
f19dbdb7 39832
2b002173 39833 * kern/i386/pc/init.c (make_install_device): Copy the prefix
39834 verbatim if grub_install_dos_part is -2.
39835
39836 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
39837 and LVM devices.
39838
39839 * util/i386/pc/grub-setup.c (setup): New argument
39840 MUST_EMBED. Force embedding of GRUB when the argument is
39841 true. Close FILE before returning.
39842 (main): Add support for RAID and LVM.
f19dbdb7 39843
2b002173 39844 * conf/common.rmk: Add RAID and LVM modules.
39845 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
39846 util/lvm.c.
39847 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
39848
39849 * kern/misc.c (grub_strstr): New function.
39850 * include/grub/misc.h (grub_strstr): New prototype.
39851
050548d0 398522006-10-10 Tristan Gingold <tristan.gingold@bull.net>
39853
39854 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
39855
da849d2d 398562006-10-05 Tristan Gingold <tristan.gingold@bull.net>
39857
39858 * kern/misc.c (grub_strtoull): Guess the base only if not
39859 specified.
39860
97b2f2ff 398612006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 39862
39863 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
39864 PowerMac support.
39865
97b2f2ff 398662006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 39867
39868 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
39869
39870 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
39871 Remove `flags' argument. All callers changed.
39872 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
39873 (IEEE1275_IHANDLE_INVALID): New variable.
39874 (IEEE1275_CELL_INVALID): New variable.
39875 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
39876 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
39877 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
39878 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
39879 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
39880 codes from Open Firmware. All callers updated.
39881 (grub_ieee1275_next_property): Directly return Open Firmware return
39882 code.
39883 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
39884 Standardize error checking from `grub_ieee1275_get_property'.
39885 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
39886 `devalias' to `aliases'. Correct comments. Consolidate error paths.
39887
97b2f2ff 398882006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 39889
39890 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
39891 `instance_to_package_args' to `instance_to_path_args'.
39892
39893 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
39894 `grub_ieee1275_chosen'.
39895
39896 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
39897 `grub_ieee1275_interpret'.
39898
97b2f2ff 398992006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 39900
39901 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
39902
97b2f2ff 399032006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 39904
39905 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
39906 (__cmpdi): Likewise.
39907
39908 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
39909 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
39910 `grub_ssize_t'.
39911
02bb8acc 39912 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 39913
39914 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
39915 to type `grub_ssize_t'.
39916 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
39917
7f9a8531 399182006-09-22 Marco Gerards <marco@gnu.org>
39919
39920 * normal/script.c (grub_script_create_cmdmenu): Skip leading
39921 newlines.
39922
b5ef1102 399232006-09-22 Marco Gerards <marco@gnu.org>
39924
39925 * commands/echo.c: New file.
39926
39927 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
39928
39929 * conf/common.rmk (echo_mod_SOURCES): New variable.
39930 (echo_mod_CFLAGS): Likewise.
39931 (echo_mod_LDFLAGS): Likewise.
39932
2cff3677 399332006-09-22 Marco Gerards <marco@gnu.org>
39934
39935 * normal/main.c (get_line): Malloc memory instead of using
39936 preallocated memory. Removed the arguments `cmdline' and
39937 `max_len'. Updated all callers.
39938
6ba4688b 399392006-09-22 Marco Gerards <marco@gnu.org>
39940
39941 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
39942 (normal_mod_DEPENDENCIES): Likewise.
39943
39944 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
39945 (normal_mod_DEPENDENCIES): Likewise.
39946
39947 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
39948
e02ac02c 399492006-09-22 Johan Rydberg <jrydberg@gnu.org>
39950
39951 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
39952 programs.
39953 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
39954 (normal_mod_DEPENDENCIES): Likewise.
39955 * conf/i386-pc.mk: Regenerate.
39956 * conf/i386-efi.mk: Likewise
39957 * conf/common.mk: Likewise.
39958 * conf/powerpc-ieee1275.mk: Likewise.
39959 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 39960
8d252e44 399612006-09-22 Robert Millan <rmh@aybabtu.com>
39962
39963 Sync with i386 version.
39964 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
39965 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
39966
209bf7ac 399672006-09-21 Robert Millan <rmh@aybabtu.com>
39968
39969 Import from GRUB Legacy (lib/device.c):
39970 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
39971 (init_device_map) [__linux__]: Add support for I2O devices.
39972
6b146090 399732006-09-14 Marco Gerards <marco@gnu.org>
39974
39975 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
39976 `-melf_i386'.
39977
e38600a8 399782006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 39979
39980 * util/i386/pc/grub-install.in: Skip menu.lst when removing
39981 /boot/grub/*.lst.
78fa1790 39982
2952da5d 39983 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 39984
2952da5d 39985 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
39986 before adding it to device.map.
39987
01b82a64 399882006-08-15 Johan Rydberg <jrydberg@gnu.org>
39989
fe6b695a 39990 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 39991 compiles a file; using the -MD option.
39992 * conf/common.mk: Regenerate.
39993 * conf/i386-pc.mk: Likewise.
39994 * conf/i386-efi.mk: Likewise.
39995 * conf/powerpc-ieee1275.mk: Likewise.
39996 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 39997
1064790d 399982006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
39999
40000 Move the prototypes of grub_setjmp and grub_longjmp to
40001 cpu/setjmp.h, so that each architecture may specify different
40002 attributes.
f19dbdb7 40003
1064790d 40004 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
40005 (grub_longjmp): Likewise.
40006 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
40007 (grub_longjmp): Likewise.
40008 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
40009 (grub_longjmp): Likewise.
40010
40011 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
40012 [!GRUB_UTIL] (grub_longjmp): Removed.
40013
29dda3ed 400142006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
40015
40016 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
40017 "color!" method does not return any value.
40018
ad2a06ed 400192006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40020
40021 * include/grub/bitmap.h: New file.
40022
40023 * include/grub/i386/pc/vbeutil.h: Likewise.
40024
40025 * video/bitmap.c: Likewise.
40026
40027 * video/readers/tga.c: Likewise.
40028
40029 * video/i386/pc/vbeutil.c: Likewise.
40030
40031 * commands/videotest.c: Code cleanup and updated to reflect to new
40032 video API.
40033
40034 * term/gfxterm.c: Likewise.
40035
40036 * video/video.c: Likewise.
40037
40038 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
40039 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
40040 (bitmap_mod_SOURCES): New entry.
40041 (bitmap_mod_CFLAGS): Likewise.
40042 (bitmap_mod_LDFLAGS): Likewise.
40043 (tga_mod_SOURCES): Likewise.
40044 (tga_mod_CFLAGS): Likewise.
40045 (tga_mod_LDFLAGS): Likewise.
40046
40047 * include/grub/video.h (grub_video_blit_operators): New enum type.
40048 (grub_video_render_target): Changed as forward declaration and moved
40049 actual definition to be video driver specific.
40050 (grub_video_adapter.blit_bitmap): Added blitting operator.
40051 (grub_video_adapter.blit_render_target): Likewise.
40052 (grub_video_blit_bitmap): Likewise.
40053 (grub_video_blit_render_target): Likewise.
40054
40055 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
40056 driver specific render target definition.
40057 (grub_video_vbe_map_rgba): Added driver internal helper.
40058 (grub_video_vbe_unmap_color): Updated to use
40059 grub_video_i386_vbeblit_info.
40060 (grub_video_vbe_get_video_ptr): Likewise.
40061
40062 * include/grub/i386/pc/vbeblit.h
40063 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
40064 grub_video_i386_vbeblit_info.
40065 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40066 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40067 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40068 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40069 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40070 (grub_video_i386_vbeblit_index_index): Likewise.
40071 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
40072 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40073 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40074 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
40075 operator.
40076 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
40077 operator.
40078
40079 * video/i386/pc/vbeblit.c: Updated to reflect changes on
40080 include/grub/i386/pc/vbeblit.h.
40081
40082 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
40083 Updated to use grub_video_i386_vbeblit_info.
40084 (grub_video_i386_vbefill_R8G8B8): Likewise.
40085 (grub_video_i386_vbefill_index): Likewise.
40086 (grub_video_i386_vbefill): Added generic filler.
40087
40088 * video/i386/pc/vbefill.c: Updated to reflect changes on
40089 include/grub/i386/pc/vbefill.h.
40090
40091 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
40092 grub_video_i386_vbeblit_info.
40093 (grub_video_vbe_unmap_color): Likewise.
40094 (grub_video_vbe_blit_glyph): Likewise.
40095 (grub_video_vbe_scroll): Likewise.
40096 (grub_video_vbe_draw_pixel): Removed function.
40097 (grub_video_vbe_get_pixel): Likewise.
40098 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
40099 updated code to use it.
40100 (common_blitter): Added common blitter for render target and bitmap.
40101 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
40102 (grub_video_vbe_blit_render_target): Likewise.
40103
bc8c036d 401042006-07-30 Johan Rydberg <jrydberg@gnu.org>
40105
40106 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
40107 is in text mode if there is no console control protocol instance
40108 available.
40109
684a8eff 401102006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40111
40112 * include/grub/video.h: Code cleanup.
40113
40114 * include/grub/i386/pc/vbe.h: Likewise.
40115
40116 * video/i386/pc/vbe.c: Likewise.
40117
40118 * video/i386/pc/vbeblit.c: Likewise.
40119
40120 * video/i386/pc/vbefill.c: Likewise.
40121
40122 * video/video.c: Likewise. Also added more comments.
40123
5915059b 401242006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40125
40126 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
40127 (struct grub_biosdisk_dap): Likewise.
40128
40129 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
40130 linkage settings for all functions.
40131
90ce5d56 401322006-07-12 Marco Gerards <marco@gnu.org>
40133
40134 * configure.ac (--enable-mm-debug): Fix typo.
40135
40136 * genkernsyms.sh.in: Use proper quoting for `CC'.
40137
43e7f879 401382006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
40139
40140 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
40141 (normal_mod_ASFLAGS): Remove "-m32".
40142
4889bdec 401432006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
40144
40145 * util/misc.c: Include config.h.
40146 [!HAVE_MEMALIGN]: Do not include malloc.h.
40147 (grub_memalign): Use posix_memalign, if present. Then, use
40148 memalign, if present. Otherwise, emit an error.
40149
40150 * util/grub-emu.c: Do not include malloc.h.
40151
40152 * include/grub/util/misc.h: Include unistd.h. This is required for
40153 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
40154 D. Eades III <hde@foobar-qux.org>.
40155
40156 * configure.ac (AC_GNU_SOURCE): Added.
40157 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
40158 type.
40159
fd39d4da 401602006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
40161
40162 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
40163 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
40164
b786f3b5 401652006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
40166
40167 * include/grub/types.h (grub_host_addr_t): Rename to
40168 grub_target_addr_t.
40169 (grub_host_off_t): Rename to grub_target_off_t.
40170 (grub_host_size_t): Rename to grub_target_size_t.
40171 (grub_host_ssize_t): Rename to grub_target_ssize_t.
40172 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
40173
40174 * include/grub/kernel.h (struct grub_module_header): Change type
40175 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
40176 (grub_module_info): Likewise.
f19dbdb7 40177
051988bb 401782006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
40179
40180 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
40181 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
40182 Velazquez <jesus.velazquez@gmail.com>.
40183
deae281b 401842006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
40185
40186 Count partitions from 1 instead of 0 in the string representation
40187 of partitions. Still use 0-based internally.
f19dbdb7 40188
deae281b 40189 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
40190 (sun_partition_map_iterate): Use grub_partition_t instead of
40191 struct grub_partition *. Cast DESC->START_CYLINDER to
40192 grub_uint64_t after converting the endian.
40193 (sun_partition_map_probe): Subtract 1 for PARTNUM.
40194 (sun_partition_map_get_name): Add 1 to P->INDEX.
40195
40196 * partmap/pc.c (grub_partition_parse): Subtract 1 for
40197 PCDATA->DOS_PART.
40198 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
40199
40200 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
40201 zero instead of one.
40202 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
40203 (gpt_partition_map_get_name): Add 1 into P->INDEX.
40204
40205 * partmap/apple.c (apple_partition_map_iterate): Change the type
40206 of POS to unsigned.
40207 (apple_partition_map_probe): Subtract 1 for PARTNUM.
40208 (apple_partition_map_get_name): Add 1 into P->INDEX.
40209
40210 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
40211 of POS to unsigned.
40212 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
40213 calculate the offset of a partition.
40214 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
40215 (amiga_partition_map_get_name): Add 1 into P->INDEX.
40216
40217 * partmap/acorn.c (acorn_partition_map_find): Change the type of
40218 SECTOR to grub_disk_addr_t.
40219 (acorn_partition_map_iterate): Likewise.
40220 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
40221 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
40222 top.
40223 (acorn_partition_map_get_name): Add 1 into P->INDEX.
40224
40225 * kern/i386/pc/init.c (make_install_device): Add 1 into
40226 GRUB_INSTALL_DOS_PART.
40227
40228 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
40229 conditional.
40230
524a1e6a 402312006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
40232
40233 Clean up the code to support 64-bit addressing in disks and
40234 files. This change is not enough for filesystems yet.
f19dbdb7 40235
524a1e6a 40236 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
40237 type of "start" to grub_uint64_t.
40238 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
40239 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
40240 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
40241 convert addresses.
40242
40243 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
40244 to grub_disk_addr_t.
40245
40246 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
40247 string.
40248
40249 * partmap/pc.c (pc_partition_map_iterate): Likewise.
40250
40251 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
40252 to char *.
40253
40254 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
40255
40256 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
40257
40258 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
40259
40260 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
40261 to grub_off_t, to detect an error from grub_file_seek.
40262 (grub_multiboot_load_elf32): Likewise.
40263
40264 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
40265 maximum unsigned long value when an overflow is detected.
40266 (grub_strtoull): New function.
40267 (grub_divmod64): Likewise.
40268 (grub_lltoa): use grub_divmod64.
40269
40270 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
40271 grub_disk_addr_t.
40272 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
40273 the pointer to next character. Use grub_strtoull instead of
40274 grub_strtoul.
40275 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
40276 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
40277 respectively.
40278
fe6b695a 40279 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 40280 return value is signed.
40281 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
40282 test if OFFSET is less than zero, as OFFSET is unsigned now.
40283
40284 * kern/disk.c (struct grub_disk_cache): Change the type of
40285 "sector" to grub_disk_addr_t.
40286 (grub_disk_cache_get_index): Change the type of SECTOR to
40287 grub_disk_addr_t. Calculate the hash with SECTOR casted to
40288 unsigned after shifting.
40289 (grub_disk_cache_invalidate): Change the type of SECTOR to
40290 grub_disk_addr_t.
40291 (grub_disk_cache_unlock): Likewise.
40292 (grub_disk_cache_store): Likewise.
40293 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
40294 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
40295 grub_disk_addr_t and grub_uint64_t, respectively.
40296 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
40297 body, as the value of OFFSET is tweaked by
40298 grub_disk_check_range. Change the types of START_SECTOR, LEN and
40299 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
40300 respectively.
40301 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
40302 body, as the value of OFFSET is tweaked by
40303 grub_disk_check_range. Change the types of LEN and N to
40304 grub_size_t.
40305
40306 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
40307 and "saved_offset" to grub_off_t.
40308 (test_header): Cast BUF to char *.
40309 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
40310 to char *.
40311 (grub_gzio_read): Change the types of OFFSET and SIZE to
40312 grub_off_t and grub_size_t, respectively.
40313
40314 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
40315 Removed.
40316 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
40317 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
40318 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
40319 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
40320 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
40321
40322 * include/grub/types.h (grub_off_t): Unconditionally set to
40323 grub_uint64_t.
40324 (grub_disk_addr_t): Changed to grub_uint64_t.
40325
40326 * include/grub/partition.h (struct grub_partition): Change the
40327 types of "start", "len" and "offset" to grub_disk_addr_t,
40328 grub_uint64_t and grub_disk_addr_t, respectively.
40329 (grub_partition_get_start): Return grub_disk_addr_t.
40330 (grub_partition_get_len): Return grub_uint64_t.
40331
40332 * include/grub/misc.h (grub_strtoull): New prototype.
40333 (grub_divmod64): Likewise.
40334
40335 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
40336 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
40337 grub_off_t, respectively.
40338 All callers and references changed.
40339
40340 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
40341 grub_size_t in "read".
40342 All callers and references changed.
40343
40344 * include/grub/file.h (struct grub_file): Change the types of
40345 "offset" and "size" to grub_off_t and grub_off_t,
40346 respectively. Change the type of SECTOR to grub_disk_addr_t in
40347 "read_hook".
40348 (grub_file_read): Change the type of LEN to grub_size_t.
40349 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
40350 grub_off_t.
40351 (grub_file_size): Return grub_off_t.
40352 (grub_file_tell): Likewise.
40353 All callers and references changed.
40354
40355 * include/grub/disk.h (struct grub_disk_dev): Change the types of
40356 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
40357 "write".
40358 (struct grub_disk): Change the type of "total_sectors" to
40359 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 40360 "read_hook".
524a1e6a 40361 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
40362 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
40363 (grub_disk_write): Likewise.
40364 All callers and references changed.
40365
40366 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
40367 char * for grub_strncmp to silence gcc.
40368 (grub_iso9660_mount): Likewise.
40369 (grub_iso9660_mount): Likewise.
40370 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
40371 return statement.
40372 (grub_iso9660_iterate_dir): Likewise.
40373 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
40374
40375 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
40376 LEN to grub_disk_addr_t and grub_size_t, respectively.
40377
40378 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
40379
40380 * fs/jfs.c (grub_jfs_read_file): Likewise.
40381
40382 * fs/minix.c (grub_jfs_read_file): Likewise.
40383
40384 * fs/sfs.c (grub_jfs_read_file): Likewise.
40385
40386 * fs/ufs.c (grub_jfs_read_file): Likewise.
40387
40388 * fs/xfs.c (grub_jfs_read_file): Likewise.
40389
40390 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
40391 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
40392 respectively.
40393
40394 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
40395 BLKNR to -1 instead of returning GRUB_ERRNO.
40396 (grub_ext2_read_file): Change the types of SECTOR and
40397 LEN to grub_disk_addr_t and grub_size_t, respectively.
40398
40399 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
40400 LEN to grub_disk_addr_t and grub_size_t, respectively.
40401
40402 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
40403 grub_file_read.
40404
40405 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
40406 string. Do not cast SECTOR explicitly.
40407
40408 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
40409 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
40410 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
40411 grub_disk_addr_t and grub_size_t, respectively. If the sector is
40412 over 2TB and LBA mode is not supported, raise an error.
40413 (get_safe_sectors): New function.
40414 (grub_biosdisk_read): Use get_safe_sectors.
40415 (grub_biosdisk_write): Likewise.
40416
40417 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
40418 (grub_efidisk_write): Likewise.
40419
40420 * disk/loopback.c (delete_loopback): Cosmetic changes.
40421 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
40422 correctly.
40423 (grub_loopback_open): Likewise.
40424 (grub_loopback_read): Likewise. Also, change the type of POS to
40425 grub_off_t, and fix the usage of grub_memset.
40426
40427 * commands/i386/pc/play.c: Include grub/machine/time.h.
40428
40429 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
40430 print FILE->SIZE.
40431
40432 * commands/configfile.c: Include grub/env.h.
40433
40434 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
40435 GRUB_ERRNO directly instead. Change the type of POS to
40436 grub_off_t. Follow the coding standard.
40437
40438 * commands/blocklist.c: Include grub/partition.h.
40439 (grub_cmd_blocklist): Return an error if the underlying device is
40440 not a disk. Take the starting sector of a partition into account,
40441 if a partition is used.
40442
40443 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
40444 a length field.
40445 (lba_mode): Support 64-bit addresses.
40446 (chs_mode): Likewise.
40447 (copy_buffer): Adapted to the new offsets of a length field and a
40448 segment field.
40449 (blocklist_default_start): Allocate 64-bit space.
40450
40451 * boot/i386/pc/boot.S (force_lba): Removed.
40452 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 40453 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 40454 space.
40455 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
40456 is useless.
40457 (lba_mode): Refactored to support a 64-bit address. More size
40458 optimization.
40459 (setup_sectors): Likewise.
40460
53af98ad 404612006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
40462
40463 * DISTLIST: Added include/grub/i386/linux.h. Removed
40464 include/grub/i386/pc/linux.h
40465
40466 * configure.ac (AC_INIT): Bumped to 1.94.
40467
40468 * config.guess: Updated from gnulib.
40469 * config.sub: Likewise.
40470 * install-sh: Likewise.
40471 * mkinstalldirs: Likewise.
40472
b4c1940a 404732006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
40474
40475 * conf/common.rmk (grub_modules_init.lst): Depended on
40476 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
40477 MODSRCFILES.
40478
40479 * genmk.rb (PModule::rule): Reverted the previous change.
40480
cfca1cfd 404812006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
40482
40483 * conf/common.rmk (grub_modules_init.lst): Depends on
40484 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
40485 that the target does not exist before producing.
40486 (grub_modules_init.h): Remove the target before generating.
40487 (grub_emu_init.c): Likewise.
40488
40489 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
40490
aa6d7826 404912006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
40492
40493 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
40494 for the target-specific tests. Make sure that we also have the
40495 up-to-date target variables for those tests.
40496
26c607b9 404972006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
40498
40499 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
40500 (PModule::rule): Likewise.
40501
0162321a 405022006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
40503
40504 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
40505 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
40506 target-specific flags should be prefixed.
40507 (PModule::rule): Likewise.
40508
6c826348 405092006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
40510
40511 * configure.ac (CMP): Check if cmp is available explicitly.
40512
b977bf01 405132006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
40514
40515 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
40516 (target_cpu): New variable.
40517 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 40518
b977bf01 40519 * util/i386/pc/grub-install.in (host_cpu): Removed.
40520 (target_cpu): New variable.
40521 (pkglibdir): Use target_cpu instead of host_cpu.
40522
40523 * util/genmoddep.c: Removed.
f19dbdb7 40524
b977bf01 40525 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
40526 instead of GRUB_HOST_SIZEOF_VOID_P.
40527 * kern/dl.c: Likewise.
40528
40529 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
40530 ...
40531 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
40532 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
40533 (GRUB_TARGET_SIZEOF_LONG): ... this.
40534 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
40535 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
40536 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
40537 to ...
40538 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
40539 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
40540 (GRUB_TARGET_SIZEOF_LONG): ... this.
40541 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
40542 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
40543 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
40544 to ...
40545 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
40546 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
40547 (GRUB_TARGET_SIZEOF_LONG): ... this.
40548 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
40549 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
40550
40551 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
40552 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
40553 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
40554 instead of GRUB_HOST_SIZEOF_LONG.
40555 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
40556 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
40557 GRUB_CPU_WORDS_BIGENDIAN.
40558 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
40559 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
40560 grub_host_ssize_t.
40561
40562 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
40563 (genmoddep_SOURCES): Likewise.
40564 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
40565 (genmoddep_SOURCES): Likewise.
40566 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
40567 (genmoddep_SOURCES): Likewise.
40568 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
40569 Likewise.
40570 (genmoddep_SOURCES): Likewise.
40571
40572 * genmoddep.awk: New file.
40573
40574 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
40575 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
40576 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
40577 (PModule::rule): Likewise.
40578 (Program::rule): Likewise.
40579 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
40580 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
40581 respectively.
40582
40583 * configure.ac: Rewritten intensively to use host and target
40584 instead of build and host, respectively.
40585
40586 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
40587 (host_cpu): Removed.
40588 (target_cpu): New variable.
40589 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
40590 (BUILD_CC): Removed.
40591 (BUILD_CFLAGS): Likewise.
40592 (BUILD_CPPFLAGS): Likewise.
40593 (TARGET_CC): New variable.
40594 (TARGET_CFLAGS): Likewise.
40595 (TARGET_CPPFLAGS): Likewise.
40596 (TARGET_LDFLAGS): Likewise.
40597 (AWK): Likewise.
40598 (include): Use target_cpu instead of host_cpu.
40599 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 40600
b977bf01 40601 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
40602
f09771a1 406032006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
40604
40605 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
40606 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
40607 field 'false' to 'exec_on_false'.
40608 (grub_script_create_cmdif): Renamed argument names to reflect above
40609 changes.
40610
40611 * normal/execute.c (grub_script_execute_cmdif): Likewise.
40612
40613 * normal/script.c (grub_script_create_cmdif): Likewise.
40614
118f4fb3 406152006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
40616
40617 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
40618 top.
40619 (grub_hfsplus_btree_recptr): Likewise.
40620 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
40621 FILEBLOCK both to pass a block number and store next block
40622 number.
40623 (grub_hfsplus_read_block): Rewritten heavily to support an extent
40624 overflow file correctly. Specify errors appropriately, because
40625 fshelp expects that GRUB_ERRNO is set when fails. Reuse
40626 grub_hfsplus_btree_recptr to get the pointer to a found key.
40627 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
40628 is found.
40629
40630 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
40631 linux.mod.
40632 (_linux_mod_SOURCES): New variable.
40633 (_linux_mod_CFLAGS): Likewise.
40634 (_linux_mod_LDFLAGS): Likewise.
40635 (linux_mod_SOURCES): Likewise.
40636 (linux_mod_CFLAGS): Likewise.
40637 (linux_mod_LDFLAGS): Likewise.
40638
40639 * DISTLIST: Added loader/i386/efi/linux.c,
40640 loader/i386/efi/linux_normal.c and
40641 include/grub/i386/efi/loader.h.
40642
40643 * loader/i386/efi/linux.c: New file.
40644 * loader/i386/efi/linux_normal.c: Likewise.
40645 * include/grub/i386/efi/loader.h: Likewise.
40646
89a7d726 406472006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
40648
40649 * commands/blocklist.c: New file.
40650
40651 * DISTLIST: Added commands/blocklist.c.
40652
40653 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 40654 color for the background, and a darker color for the foreground.
89a7d726 40655 (grub_console_checkkey): Return READ_KEY.
40656 (grub_console_cls): Set the background to
40657 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
40658
40659 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
40660
40661 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
40662 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
40663
40664 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
40665 prototype.
40666
40667 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
40668 BG. The spec is wrong again.
40669
40670 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
40671 prototype.
40672 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
40673
40674 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40675 commands/blocklist.c.
40676 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 40677
89a7d726 40678 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
40679 (blocklist_mod_SOURCES): New variable.
40680 (blocklist_mod_CFLAGS): Likewise.
40681 (blocklist_mod_LDFLAGS): Likewise.
40682
75c8f258 406832006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
40684
40685 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
40686 duplication.
40687 (lba_mode): Use %eax more intensively to reduce the code size.
40688
da2eb181 406892006-05-20 Marco Gerards <marco@gnu.org>
40690
40691 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
40692
40693 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
40694 for `menuentry'.
40695 (script): Accept leading newlines.
40696 (newlines): New rule to describe 0 or more newlines.
40697 (commands): Accept `command' with trailing newline. Fixed the
40698 order in which arguments were passed to `grub_script_add_cmd'.
40699 Accept commands separated by newlines.
40700 (function): Changed to accept newlines.
40701 (menuentry) Rewritten.
40702
40703 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
40704 front of the list, instead of to the end.
40705
577b4050 407062006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
40707
40708 * util/i386/pc/grub-install.in (bindir): New variable.
40709 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
40710 Shaver <lbgwjl@gmail.com>.
40711
0d6e1189 407122006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
40713
40714 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
40715 grub/machine/linux.h
40716 * loader/i386/pc/linux.c: Likewise.
40717
40718 * include/grub/i386/pc/linux.h: Moved to ...
40719 * include/grub/i386/linux.h: ... here.
40720
40721 * include/grub/i386/linux.h (struct linux_kernel_params): New
40722 struct.
f19dbdb7 40723
31b86e9f 407242006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
40725
40726 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
40727 checking.
40728 (grub_video_vbe_blit_glyph): Likewise.
40729 (grub_video_vbe_blit_bitmap): Likewise.
40730 (grub_video_vbe_blit_render_target): Likewise.
40731
83b984de 407322006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
40733
40734 * configure.ac (--with-platform): Properly quote the square
40735 brackets.
40736
5f0413bd 407372006-05-08 Marco Gerards <marco@gnu.org>
40738
40739 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
40740 this...
40741 (kernel_elf_HEADERS): ...to this. Updated all users.
40742 (grubof_symlist.c): Renamed from this...
40743 (kernel_elf_symlist.c): ...to this. Updated all users.
40744 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
40745 (grubof_SOURCES): Renamed from this...
40746 (kernel_elf_SOURCES): ...to this.
40747 (grubof_HEADERS): Renamed from this...
40748 (kernel_elf_HEADERS): ...to this.
40749 (grubof_CFLAGS): Renamed from this...
40750 (kernel_elf_CFLAGS): ...to this.
40751 (grubof_ASFLAGS): Renamed from this...
40752 (kernel_elf_ASFLAGS): ...to this.
40753 (grubof_LDFLAGS): Renamed from this...
40754 (kernel_elf_LDFLAGS): ...to this.
40755
40756 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
40757 this...
40758 (kernel_elf_HEADERS): ...to this. Updated all users.
40759 (grubof_symlist.c): Renamed from this...
40760 (kernel_elf_symlist.c): ...to this. Updated all users.
40761 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
40762 (grubof_SOURCES): Renamed from this...
40763 (kernel_elf_SOURCES): ...to this.
40764 (grubof_HEADERS): Renamed from this...
40765 (kernel_elf_HEADERS): ...to this.
40766 (grubof_CFLAGS): Renamed from this...
40767 (kernel_elf_CFLAGS): ...to this.
40768 (grubof_ASFLAGS): Renamed from this...
40769 (kernel_elf_ASFLAGS): ...to this.
40770 (grubof_LDFLAGS): Renamed from this...
40771 (kernel_elf_LDFLAGS): ...to this.
40772
40773 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
40774 `kernel.elf' instead of `grubof'.
40775
05568c2e 407762006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
40777
40778 Add --with-platform to configure. Use pkglibdir instead of
40779 pkgdatadir. This is reported by Roger Leigh.
40780
40781 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
40782 (host_vendor): Likewise.
40783 (host_os): Likewise.
40784 (pkgdatadir): Likewise.
40785 (platform): New variable.
40786 (pkglibdir): Likewise.
40787 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 40788
05568c2e 40789 * util/i386/pc/grub-install.in (datadir): Removed.
40790 (host_vendor): Likewise.
40791 (host_os): Likewise.
40792 (pkgdatadir): Likewise.
40793 (platform): New variable.
40794 (pkglibdir): Likewise.
40795 Use PKGLIBDIR instead of PKGDATADIR.
40796
40797 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
40798 instead of GRUB_DATADIR.
40799 (main): Likewise.
40800 * util/i386/pc/grub-mkimage.c (usage): Likewise.
40801 (main): Likewise.
40802 * util/i386/efi/grub-mkimage.c (usage): Likewise.
40803 (main): Likewise.
40804
40805 * configure.ac (--with-platform): New option.
40806 Use PLATFORM instead of HOST_VENDOR to specify a platform.
40807
40808 * Makefile.in: Include a makefile based on PLATFORM instead of
40809 HOST_VENDOR.
40810 (pkgdatadir): Not appended by the machine type.
40811 (pkglibdir): Appended by the machine type.
40812 (host_vendor): Removed.
40813 (platform): New variable.
40814 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
40815 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
40816 (uninstall): Likewise.
40817
4e93851c 408182006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
40819
40820 Use the environment context in the menu. Remove the commands
40821 "default" and "timeout", and use variables instead.
f19dbdb7 40822
4e93851c 40823 * normal/menu.c: Include grub/env.h.
40824 (print_entry): Cast TITLE to silence gcc.
40825 (get_timeout): New function.
40826 (set_timeout): Likewise.
40827 (get_entry_number): Likewise.
40828 (run_menu): Use a default entry, a fallback entry and a timeout
40829 in the environment variables "default", "fallback" and
40830 "timeout". Also, tweak the default entry if it is not within the
40831 current menu entries.
40832 (grub_menu_run): Use a fallback entry in the environment variable
40833 "fallback".
40834
40835 * normal/main.c (read_config_file): Do not initialize
40836 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
40837 NEWMENU->TIMEOUT.
40838 (grub_normal_execute): Use a data slot to store the menu.
40839
40840 * include/grub/normal.h (struct grub_menu): Removed default_entry,
40841 fallback_entry and timeout.
40842 (struct grub_menu_list): Removed.
40843 (grub_menu_list_t): Likewise.
40844 (struct grub_context): Likewise.
40845 (grub_context_t): Likewise.
40846 (grub_context_get): Likewise.
40847 (grub_context_get_current_menu): Likewise.
40848 (grub_context_push_menu): Likewise.
40849 (grub_context_pop_menu): Likewise.
40850 (grub_default_init): Likewise.
40851 (grub_default_fini): Likewise.
40852 (grub_timeout_init): Likewise.
40853 (grub_timeout_fini): Likewise.
40854
40855 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
40856 and timeout.mod.
40857 (normal_mod_SOURCES): Removed normal/context.c.
40858
40859 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
40860 commands/default.c, commands/timeout.c and normal/context.c.
40861 (normal_mod_SOURCES): Removed normal/context.c.
40862
40863 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
40864 commands/timeout.c and normal/context.c.
40865 (normal_mod_SOURCES): Removed normal/context.c.
40866
40867 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
40868 commands/default.c, commands/timeout.c and normal/context.c.
40869 (normal_mod_SOURCES): Removed normal/context.c.
40870
40871 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
40872 timeout.mod.
40873 (default_mod_SOURCES): Removed.
40874 (default_mod_CFLAGS): Likewise.
40875 (default_mod_LDFLAGS): Likewise.
40876 (timeout_mod_SOURCES): Removed.
40877 (timeout_mod_CFLAGS): Likewise.
40878 (timeout_mod_LDFLAGS): Likewise.
40879
40880 * DISTLIST: Removed commands/default.c, commands/timeout.c and
40881 normal/context.c.
40882
40883 * commands/default.c: Removed.
40884 * commands/timeout.c: Likewise.
40885 * normal/context.c: Likewise.
40886
1eb9cc1d 408872006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
40888
40889 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
40890
385bd9c1 408912006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
40892
40893 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
40894 "next" to "prev" for readability.
40895 (struct grub_env_sorted_var): New struct.
40896 (grub_env_context): Renamed to ...
40897 (initial_context): ... this.
40898 (grub_env_var_context): Renamed to ...
40899 (current_context): ... this.
40900 (grub_env_find): Look only at CURRENT_CONTEXT.
40901 (grub_env_context_open): Rewritten to copy exported variables from
40902 previous context.
40903 (grub_env_context_close): Rewritten according to the new
40904 scheme. Also, add an assertion to prevent the initial context from
40905 removed.
40906 (grub_env_insert): Removed the code for the sorted list.
40907 (grub_env_remove): Likewise.
40908 (grub_env_export): Simply mark the variable with
40909 GRUB_ENV_VAR_GLOBAL.
40910 (grub_env_set): A cosmetic change for naming consistency.
40911 (grub_env_get): Likewise.
40912 (grub_env_unset): Likewise.
40913 (grub_env_iterate): Rewritten to sort variables within this
40914 function.
40915 (grub_register_variable_hook): Fixed for naming consistency. Call
40916 grub_env_find again, only if NAME is not found at the first time.
40917 (mangle_data_slot_name): New function.
40918 (grub_env_set_data_slot): Likewise.
40919 (grub_env_get_data_slot): Likewise.
40920 (grub_env_unset_data_slot): Likewise.
40921
40922 * include/grub/env.h (grub_env_var_type): New enum.
40923 (GRUB_ENV_VAR_LOCAL): New constant.
40924 (GRUB_ENV_VAR_GLOBAL): Likewise.
40925 (GRUB_ENV_VAR_DATA): Likewise.
40926 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
40927 "type".
40928 (grub_env_set): Replace VAR with NAME for consistency.
40929 (grub_register_variable_hook): Likewise.
40930 (grub_env_export): Specify the name of the argument.
40931 (grub_env_set_data_slot): New prototype.
40932 (grub_env_get_data_slot): Likewise.
40933 (grub_env_unset_data_slot): Likewise.
40934
7f362539 409352006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
40936
40937 Extend the loader so that GRUB can accept a loader which comes
40938 back to GRUB when a loaded image exits. Also, this change adds
40939 support for a chainloader on EFI.
f19dbdb7 40940
7f362539 40941 * term/efi/console.c: Include grub/misc.h.
40942 (grub_console_checkkey): Display a scan code on the top for
40943 debugging. This will be removed once the EFI port gets stable.
40944 Correct the scan code mapping.
40945
40946 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
40947 allocate memory from larger regions, in order to reduce the number
40948 of allocated regions. Otherwise, the MacOSX loader panics.
40949 (filter_memory_map): Avoid less than 1MB for compatibility with
40950 other loaders.
40951 (add_memory_regions): Allocate from the tail of a region, if
40952 possible, to avoid allocating a region near to 1MB, for the MacOSX
40953 loader.
40954
40955 * kern/efi/init.c (grub_efi_set_prefix): Specify
40956 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
40957
40958 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
40959 argument IMAGE_HANDLE and specify it to get a loaded image.
40960 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
40961 grub_efi_get_loaded_image.
fe6b695a 40962 (grub_efi_get_filename): Divide the length by the size of
7f362539 40963 grub_efi_char16_t.
40964 (grub_efi_get_device_path): New function.
40965 (grub_efi_print_device_path): Print End Device Path nodes. Divide
40966 the length by the size of grub_efi_char16_t for a file path device
40967 path node.
40968
40969 * kern/loader.c (grub_loader_noreturn): New variable.
40970 (grub_loader_set): Accept a new argument NORETURN. Set
40971 GRUB_LOADER_NORETURN to NORETURN.
40972 All callers changed.
40973 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
40974 grub_machine_fini.
40975
40976 * include/grub/efi/efi.h (grub_efi_get_device_path): New
40977 prototype.
40978 (grub_efi_get_loaded_image): Take an argument to specify an image
40979 handle.
40980
40981 * include/grub/loader.h (grub_loader_set): Added one more argument
40982 NORETURN.
40983
40984 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
40985 instead of grub_efi_open_protocol.
40986 (grub_efidisk_get_device_name): Likewise.
40987 (grub_efidisk_close): Print a newline.
40988 (grub_efidisk_get_device_handle): Fixed to use
40989 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
40990 GRUB_EFI_DEVICE_PATH_TYPE.
40991
40992 * disk/efi/efidisk.c (device_path_guid): Moved to ...
40993 * kern/efi/efi.c (device_path_guid): ... here.
40994
40995 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
40996 chain.mod.
40997 (kernel_mod_HEADERS): Added efi/disk.h.
40998 (_chain_mod_SOURCES): New variable.
40999 (_chain_mod_CFLAGS): Likewise.
41000 (_chain_mod_LDFLAGS): Likewise.
41001 (chain_mod_SOURCES): Likewise.
41002 (chain_mod_CFLAGS): Likewise.
41003 (chain_mod_LDFLAGS): Likewise.
41004
41005 * DISTLIST: Added include/grub/efi/chainloader.h,
41006 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
41007
41008 * include/grub/efi/chainloader.h: New file.
41009 * loader/efi/chainloader.c: Likewise.
41010 * loader/efi/chainloader_normal.c: Likewise.
41011
c0111d6e 410122006-04-30 Marco Gerards <marco@gnu.org>
41013
41014 * commands/configfile.c (grub_cmd_source): New function.
41015 (GRUB_MOD_INIT): Register the commands `source' and `.'.
41016 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
41017
df5341da 410182006-04-30 Marco Gerards <marco@gnu.org>
41019
41020 * normal/execute.c (grub_script_execute_cmd): Change the return
41021 type to `grub_err_t'. Correctly return the error.
41022 (grub_script_execute_cmdline): In case a command line is not a
41023 command or a function, try to interpret it as an assignment.
41024
f85934bd 410252006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
41026
41027 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
41028 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
41029 skip a node whose name is obviously invalid as UTF-16,
41030 i.e. contains a NUL character. Stop the iteration when the last
41031 directory entry is found. Instead of using the return value of
41032 grub_hfsplus_btree_iterate_node, store the value in RET and use
41033 it, because the iterator can be stopped by the last directory
41034 entry.
41035
8f8a2cf8 410362006-04-30 Marco Gerards <marco@gnu.org>
41037
41038 * include/grub/env.h (grub_env_export): New prototype. Reported
41039 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
41040
a27e84ce 410412006-04-30 Marco Gerards <marco@gnu.org>
41042
41043 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
41044 size of the extents in a catalog file record.
41045
eaef0553 410462006-04-29 Marco Gerards <marco@gnu.org>
41047
41048 * commands/configfile.c (grub_cmd_configfile): Execute the
41049 configfile within its own context.
41050
41051 * include/grub/env.h (grub_env_context_open): New prototype.
41052 (grub_env_context_close): Likewise.
41053
41054 * kern/env.c (grub_env): Removed.
41055 (grub_env_sorted): Likewise.
41056 (grub_env_context): New variable.
41057 (grub_env_var_context): Likewise.
41058 (grub_env_find): Search both the active context and the global
41059 context.
41060 (grub_env_context_open): New function.
41061 (grub_env_context_close): Likewise.
41062 (grub_env_insert): Likewise.
41063 (grub_env_remove): Likewise.
41064 (grub_env_export): Likewise.
41065 (grub_env_set): Changed to use helper functions to avoid code
41066 duplication.
41067 (grub_env_iterate): Rewritten so both the current context and the
41068 global context are being used.
41069
41070 * normal/command.c (export_command): New function.
41071 (grub_command_init): Register the `export' function.
41072
7b455f4d 410732006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
41074
41075 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
41076 explicitly to suppress gcc's warnings.
41077 * fs/fat.c (grub_fat_find_dir): Likewise.
41078 (grub_fat_label): Likewise.
41079 * fs/xfs.c (grub_xfs_read_inode): Likewise.
41080 (grub_xfs_mount): Likewise.
41081 (grub_xfs_label): Likewise.
41082 * fs/affs.c (grub_affs_mount): Likewise.
41083 (grub_affs_label): Likewise.
41084 (grub_affs_iterate_dir): Likewise.
41085 * fs/sfs.c (grub_sfs_mount): Likewise.
41086 (grub_sfs_iterate_dir): Likewise.
41087 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
41088 * fs/hfs.c (grub_hfs_mount): Likewise.
41089 (grub_hfs_cmp_catkeys): Likewise.
41090 (grub_hfs_find_dir): Likewise.
41091 (grub_hfs_dir): Likewise.
41092 (grub_hfs_label): Likewise.
41093 * fs/jfs.c (grub_jfs_mount): Likewise.
41094 (grub_jfs_opendir): Likewise.
41095 (grub_jfs_getent): Likewise.
41096 (grub_jfs_lookup_symlink): Likewise.
41097 (grub_jfs_label): Likewise.
41098 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
41099 (grub_hfsplus_iterate_dir): Likewise.
41100 (grub_hfsplus_btree_iterate_node): Made static.
41101
41102 * util/grub-emu.c (prefix): New variable.
41103 (grub_machine_set_prefix): New function.
41104 (main): Do not set the environment variable "prefix" here. Only
41105 set PREFIX, which is used later by grub_machine_set_prefix.
41106
41107 * include/grub/video.h: Do not include grub/symbol.h.
41108 (grub_video_register): Not exported. This symbol is not defined in
41109 the kernel.
41110 (grub_video_unregister): Likewise.
41111 (grub_video_iterate): Likewise.
41112 (grub_video_setup): Likewise.
41113 (grub_video_restore): Likewise.
41114 (grub_video_get_info): Likewise.
41115 (grub_video_get_blit_format): Likewise.
41116 (grub_video_set_palette): Likewise.
41117 (grub_video_get_palette): Likewise.
41118 (grub_video_set_viewport): Likewise.
41119 (grub_video_get_viewport): Likewise.
41120 (grub_video_map_color): Likewise.
41121 (grub_video_map_rgb): Likewise.
41122 (grub_video_map_rgba): Likewise.
41123 (grub_video_fill_rect): Likewise.
41124 (grub_video_blit_glyph): Likewise.
41125 (grub_video_blit_bitmap): Likewise.
41126 (grub_video_blit_render_target): Likewise.
41127 (grub_video_scroll): Likewise.
41128 (grub_video_swap_buffers): Likewise.
41129 (grub_video_create_render_target): Likewise.
41130 (grub_video_delete_render_target): Likewise.
41131 (grub_video_set_active_render_target): Likewise.
41132
41133 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
41134 Undefined.
41135 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
41136
41137 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
41138 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41139 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41140 instead of $(srcdir)/genkernsyms.sh.
41141
41142 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
41143 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41144 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41145 instead of $(srcdir)/genkernsyms.sh.
41146
41147 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
41148 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41149 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41150 instead of $(srcdir)/genkernsyms.sh.
41151
41152 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
41153 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41154 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41155 instead of $(srcdir)/genkernsyms.sh.
41156
41157 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
41158 genkernsyms.sh.
41159
41160 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
41161 genkernsyms.sh.
41162 (gensymlist.sh): New target.
41163 (genkernsyms.sh): Likewise.
41164
41165 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
41166 genkernsyms.sh.in and gensymlist.sh.in.
41167
41168 * genkernsyms.sh: Removed.
41169 * gensymlist.sh: Likewise.
f19dbdb7 41170
7b455f4d 41171 * genkernsyms.sh.in: New file.
41172 * gensymlist.sh.in: Likewise.
41173
1885bb27 411742006-04-25 Hollis Blanchard <hollis@penguinppc.org>
41175
41176 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
41177 clobber "prefix", since we may have already set it manually.
41178
71538dff 411792006-04-25 Hollis Blanchard <hollis@penguinppc.org>
41180
41181 * kern/misc.c (abort): New alias for grub_abort.
41182
2965c7cc 411832006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
41184
41185 A new machine-specific function "grub_machine_set_prefix" is
41186 defined. This is called after loading modules, so that a prefix
41187 initialization can use modules. Also, this change adds an
41188 intensive debugging feature for the memory manager via the
41189 configure option "--enable-mm-debug".
f19dbdb7 41190
2965c7cc 41191 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
41192 PART.LEN.
41193
41194 * kern/sparc64/ieee1275/init.c (abort): Removed.
41195 (grub_stop): Likewise.
41196 (grub_exit): New function.
41197 (grub_set_prefix): Renamed to ...
41198 (grub_machine_set_prefix): ... this.
41199 (grub_machine_init): Do not call grub_set_prefix.
41200
41201 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
41202 (grub_machine_set_prefix): ... this.
41203 (grub_machine_init): Do not call grub_set_prefix.
41204
41205 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
41206 (grub_machine_init): Do not set the prefix here.
41207
41208 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
41209
41210 * kern/efi/init.c: Include grub/mm.h.
41211 (grub_efi_set_prefix): New function.
41212
41213 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
41214 (grub_efi_get_filename): New function.
41215 (grub_print_device_path): Renamed to ...
41216 (grub_efi_print_device_path): ... this.
41217
41218 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
41219 [MM_DEBUG] (grub_realloc): Likewise.
41220 [MM_DEBUG] (grub_free): Likewise.
41221 [MM_DEBUG] (grub_memalign): Likewise.
41222 [MM_DEBUG] (grub_mm_debug): New variable.
41223 [MM_DEBUG] (grub_debug_malloc): New function.
41224 [MM_DEBUG] (grub_debug_free): New function.
41225 [MM_DEBUG] (grub_debug_realloc): New function.
41226 [MM_DEBUG] (grub_debug_memalign): New function.
41227
41228 * kern/misc.c (grub_abort): Print a newline to distinguish
41229 the message.
41230
41231 * kern/main.c (grub_main): Call grub_machine_set_prefix and
41232 grub_set_root_dev after loading modules. This is necessary when
41233 setting a prefix depends on modules.
41234
41235 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
41236 (grub_efi_print_device_path): ... this.
41237 (grub_efi_get_filename): New prototype.
41238 (grub_efi_set_prefix): Likewise.
41239
41240 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
41241 and grub/disk.h.
41242 (grub_efidisk_get_device_handle): New prototype.
41243 (grub_efidisk_get_device_name): Likewise.
41244
41245 * include/grub/mm.h: Include config.h.
41246 (MM_DEBUG): Removed.
41247 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
41248 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
41249 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
41250 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
41251 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
41252 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
41253 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
41254 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
41255 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
41256
41257 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
41258
41259 * disk/efi/efidisk.c: Include grub/partition.h.
41260 (iterate_child_devices): New function.
41261 (add_device): First, compare only last device path nodes, so that
41262 devices are sorted by the types.
41263 (grub_efidisk_get_device_handle): New function.
41264 (grub_efidisk_get_device_name): Likewise.
41265
41266 * configure.ac (--enable-mm-debug): New option to enable the
41267 memory manager debugging feature. This makes the binary much
41268 bigger, so is disabled by default.
41269
9cacaa17 412702006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
41271
41272 Use grub_abort instead of grub_stop, and grub_exit must be
41273 define in each architecture now. Also, this change adds support
41274 for EFI disks.
f19dbdb7 41275
9cacaa17 41276 * util/i386/pc/grub-probefs.c: Include grub/term.h.
41277 (grub_getkey): New function.
41278 (grub_term_get_current): Likewise.
41279
41280 * util/i386/pc/grub-setup.c: Include grub/term.h.
41281 (grub_getkey): New function.
41282 (grub_term_get_current): Likewise.
41283
41284 * util/misc.c (grub_stop): Renamed to ...
41285 (grub_exit): ... this.
41286
41287 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
41288 (grub_exit): ... this.
41289 (grub_machine_init): Use grub_abort instead of abort.
41290 (grub_stop): Removed.
41291
41292 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
41293 abort.
41294
41295 * kern/i386/pc/startup.S (grub_exit): New function.
41296 (cold_reboot): New label.
41297
41298 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
41299 (grub_efi_init): Call grub_efidisk_init.
41300 (grub_efi_fini): Call grub_efidisk_fini.
41301
41302 * kern/efi/efi.c: Include grub/mm.h.
41303 (grub_efi_console_control_guid): Renamed to ...
41304 (console_control_guid): ... this.
41305 (grub_efi_loaded_image_guid): Renamed to ...
41306 (loaded_image_guid): ... this.
41307 (grub_efi_locate_handle): New function.
41308 (grub_efi_open_protocol): Likewise.
41309 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
41310 GRUB_EFI_CONSOLE_CONTROL_GUID.
41311 (grub_efi_exit): Removed.
41312 (grub_stop): Likewise.
41313 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
41314 (grub_exit): New function.
41315 (grub_print_device_path): Likewise.
41316
41317 * kern/rescue.c (grub_rescue_cmd_exit): New function.
41318 (grub_enter_rescue_mode): Register "exit".
41319
41320 * kern/misc.c (grub_real_dprintf): A cosmetic change.
41321 (grub_abort): New function.
41322
41323 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
41324
41325 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
41326
41327 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
41328
41329 * include/grub/efi/efi.h (grub_efi_exit): Removed.
41330 (grub_print_device_path): New prototype.
41331 (grub_efi_locate_handle): Likewise.
41332 (grub_efi_open_protocol): Likewise.
41333
41334 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
41335 * disk/efi/efidisk.c: Likewise.
41336
41337 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
41338
41339 * include/grub/efi/console_control.h
41340 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
41341
41342 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
41343 last 8 bytes as an array.
41344 (GRUB_EFI_DISK_IO_GUID): New macro.
41345 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
41346 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
41347 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
41348 grub_uint8_t.
41349 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
41350 (struct grub_efi_device_path): Rename the member "sub_type" to
41351 "subtype".
41352 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
41353 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
41354 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
41355 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
41356 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
41357 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
41358 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
41359 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
41360 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
41361 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
41362 (struct grub_efi_pci_device_path): New structure.
41363 (grub_efi_pci_device_path_t): New type.
41364 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
41365 (struct grub_efi_pccard_device_path): New structure.
41366 (grub_efi_pccard_device_path_t): New type.
41367 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
41368 (struct grub_efi_memory_mapped_device_path): New structure.
41369 (grub_efi_memory_mapped_device_path_t): New type.
41370 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
41371 (struct grub_efi_vendor_device_path): New structure.
41372 (grub_efi_vendor_device_path_t): New type.
41373 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
41374 (struct grub_efi_controller_device_path): New structure.
41375 (grub_efi_controller_device_path_t): New type.
41376 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
41377 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
41378 (struct grub_efi_acpi_device_path): New structure.
41379 (grub_efi_acpi_device_path_t): New type.
41380 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
41381 (struct grub_efi_expanded_acpi_device_path): New structure.
41382 (grub_efi_expanded_acpi_device_path_t): New type.
41383 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
41384 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
41385 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
41386 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
41387 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
41388 (struct grub_efi_atapi_device_path): New structure.
41389 (grub_efi_atapi_device_path_t): New type.
41390 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
41391 (struct grub_efi_fibre_channel_device_path): New structure.
41392 (grub_efi_fibre_channel_device_path_t): New type.
41393 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
41394 (struct grub_efi_1394_device_path): New structure.
41395 (grub_efi_1394_device_path_t): New type.
41396 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
41397 (struct grub_efi_usb_device_path): New structure.
41398 (grub_efi_usb_device_path_t): New type.
41399 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
41400 (struct grub_efi_usb_class_device_path): New structure.
41401 (grub_efi_usb_class_device_path_t): New type.
41402 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
41403 (struct grub_efi_i2o_device_path): New structure.
41404 (grub_efi_i2o_device_path_t): New type.
41405 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
41406 (struct grub_efi_mac_address_device_path): New structure.
41407 (grub_efi_mac_address_device_path_t): New type.
41408 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
41409 (struct grub_efi_ipv4_device_path): New structure.
41410 (grub_efi_ipv4_device_path_t): New type.
41411 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
41412 (struct grub_efi_ipv6_device_path): New structure.
41413 (grub_efi_ipv6_device_path_t): New type.
41414 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
41415 (struct grub_efi_infiniband_device_path): New structure.
41416 (grub_efi_infiniband_device_path_t): New type.
41417 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
41418 (struct grub_efi_uart_device_path): New structure.
41419 (grub_efi_uart_device_path_t): New type.
41420 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
41421 (struct grub_efi_vendor_messaging_device_path): New structure.
41422 (grub_efi_vendor_messaging_device_path_t): New type.
41423 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
41424 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
41425 (struct grub_efi_hard_drive_device_path): New structure.
41426 (grub_efi_hard_drive_device_path_t): New type.
41427 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
41428 (struct grub_efi_cdrom_device_path): New structure.
41429 (grub_efi_cdrom_device_path_t): New type.
41430 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
41431 (struct grub_efi_vendor_media_device_path): New structure.
41432 (grub_efi_vendor_media_device_path_t): New type.
41433 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
41434 (struct grub_efi_file_path_device_path): New structure.
41435 (grub_efi_file_path_device_path_t): New type.
41436 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
41437 (struct grub_efi_protocol_device_path): New structure.
41438 (grub_efi_protocol_device_path_t): New type.
41439 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
41440 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
41441 (struct grub_efi_bios_device_path): New structure.
41442 (grub_efi_bios_device_path_t): New type.
41443 (struct grub_efi_disk_io): New structure.
41444 (grub_efi_disk_io_t): New type.
41445 (struct grub_efi_block_io_media): New structure.
41446 (grub_efi_block_io_media_t): New type.
41447 (struct grub_efi_block_io): New structure.
41448 (grub_efi_block_io_t): New type.
41449
41450 * include/grub/misc.h (grub_stop): Removed.
41451 (grub_exit): New prototype.
41452 (grub_abort): Likewise.
41453
41454 * include/grub/disk.h (enum grub_disk_dev_id): Added
41455 GRUB_DISK_DEVICE_EFIDISK_ID.
41456
41457 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
41458 disk/efi/efidisk.c.
41459 (kernel_syms.lst): Remove the target if an error occurs.
41460
49986a9f 414612006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
41462
41463 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
41464 as it was simply too buggy.
41465
970d3b8a 414662006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
41467
41468 * kern/misc.c (grub_lltoa): New function.
41469 (grub_vsprintf): Added support for the long long suffix,
41470 i.e. "ll".
41471
ff04ec24 414722006-04-20 Hollis Blanchard <hollis@penguinppc.org>
41473
41474 * Makefile.in (LDFLAGS): Add variable.
41475 (LD): Remove variable.
41476 * configure.ac: Add -m32 to LDFLAGS.
41477 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
41478 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
41479 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
41480 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
41481 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
41482 variables.
41483 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
41484 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
41485 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
41486
37e5e1a4 414872006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
41488
41489 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
41490 length for unknown glyph.
41491
c352d8dd 414922006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
41493
2eab1c0d 41494 Add support for pre-loaded modules into the EFI port.
f19dbdb7 41495
2eab1c0d 41496 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
41497 completely. Accept one more argument DIR. The caller has changed.
41498
41499 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
41500
41501 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
41502 (grub_efi_loaded_image_guid): New variable.
41503 (grub_efi_get_loaded_image): New function.
41504 (grub_arch_modules_addr): Likewise.
41505
41506 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
41507 prototype.
41508
41509 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
41510 (struct grub_efi_loaded_image): New structure.
41511 (grub_efi_loaded_image_t): New type.
41512
415132006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 41514
c352d8dd 41515 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
41516 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
41517 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
41518
6d01d6b4 415192006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
41520
41521 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
41522
976a4ea0 415232006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
41524
41525 * DISTLIST: Added include/grub/efi/console.h,
41526 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
41527 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
41528
41529 * include/grub/efi/console.h: New file.
41530 * include/grub/efi/time.h: Likewise.
41531 * include/grub/i386/efi/kernel.h: Likewise.
41532 * kern/efi/init.c: Likewise.
41533 * kern/efi/mm.c: Likewise.
41534 * term/efi/console.c: Likewise.
f19dbdb7 41535
976a4ea0 41536 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
41537 (grub_stop): Removed.
41538 (grub_get_rtc): Likewise.
41539 (grub_machine_init): Simply call grub_efi_init.
41540 (grub_machine_fini): Call grub_efi_fini.
41541
41542 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
41543 (grub_efi_output_string): Removed.
41544 (grub_efi_stall): New function.
41545 (grub_stop): Likewise.
41546 (grub_get_rtc): Likewise.
41547
41548 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
41549 (grub_efi_stall): New prototype.
41550 (grub_efi_allocate_pages): Likewise.
41551 (grub_efi_free_pages): Likewise.
41552 (grub_efi_get_memory_map): Likewise.
41553 (grub_efi_mm_init): Likewise.
41554 (grub_efi_mm_fini): Likewise.
41555 (grub_efi_init): Likewise.
41556 (grub_efi_fini): Likewise.
41557
41558 * include/grub/i386/efi/time.h: Do not include
41559 grub/symbol.h. Include grub/efi/time.h.
41560 (GRUB_TICKS_PER_SECOND): Removed.
41561 (grub_get_rtc): Likewise.
41562
41563 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
41564 Added padding. The EFI spec is buggy.
41565 (GRUB_EFI_BLACK): New macro.
41566 (GRUB_EFI_BLUE): Likewise.
41567 (GRUB_EFI_GREEN): Likewise.
41568 (GRUB_EFI_CYAN): Likewise.
41569 (GRUB_EFI_RED): Likewise.
41570 (GRUB_EFI_MAGENTA): Likewise.
41571 (GRUB_EFI_BROWN): Likewise.
41572 (GRUB_EFI_LIGHTGRAY): Likewise.
41573 (GRUB_EFI_BRIGHT): Likewise.
41574 (GRUB_EFI_DARKGRAY): Likewise.
41575 (GRUB_EFI_LIGHTBLUE): Likewise.
41576 (GRUB_EFI_LIGHTGREEN): Likewise.
41577 (GRUB_EFI_LIGHTCYAN): Likewise.
41578 (GRUB_EFI_LIGHTRED): Likewise.
41579 (GRUB_EFI_LIGHTMAGENTA): Likewise.
41580 (GRUB_EFI_YELLOW): Likewise.
41581 (GRUB_EFI_WHITE): Likewise.
41582 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
41583 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
41584 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
41585 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
41586 (GRUB_EFI_BACKGROUND_RED): Likewise.
41587 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
41588 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
41589 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
41590 (GRUB_EFI_TEXT_ATTR): Likewise.
41591
41592 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
41593 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
41594 (kernel_mod_HEADERS): Added efi/time.h.
41595
83709125 415962006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
41597
41598 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
41599 include/grub/efi/api.h, include/grub/efi/console_control.h,
41600 include/grub/efi/efi.h, include/grub/efi/pe32.h,
41601 include/grub/i386/efi/time.h, kern/efi/efi.c,
41602 kern/i386/efi/init.c, kern/i386/efi/startup.S,
41603 and util/i386/efi/grub-mkimage.c.
41604
41605 * Makefile.in (RMKFILES): Added i386-efi.rmk.
41606
41607 * genmk.rb (PModule#rule): Do not export symbols if
41608 #{prefix}_EXPORTS is set to "no".
41609
41610 * conf/i386-efi.mk: New file.
41611 * conf/i386-efi.rmk: Likewise.
41612 * include/grub/efi/api.h: Likewise.
41613 * include/grub/efi/console_control.h: Likewise.
41614 * include/grub/efi/efi.h: Likewise.
41615 * include/grub/efi/pe32.h: Likewise.
41616 * include/grub/i386/efi/time.h: Likewise.
41617 * kern/efi/efi.c: Likewise.
41618 * kern/i386/efi/init.c: Likewise.
41619 * kern/i386/efi/startup.S: Likewise.
41620 * util/i386/efi/grub-mkimage.c: Likewise.
41621
416222006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 41623
41624 * include/grub/script.h: Include <grub/parser.h> and
41625 "grub_script.tab.h".
41626 (struct grub_lexer_param): New struct.
41627 (struct grub_parser_param): Likewise.
41628 (grub_script_create_arglist): Pass the state in an argument.
41629 (grub_script_add_arglist): Likewise.
41630 (grub_script_create_cmdline): Likewise.
41631 (grub_script_create_cmdblock): Likewise.
41632 (grub_script_create_cmdif): Likewise.
41633 (grub_script_create_cmdmenu): Likewise.
41634 (grub_script_add_cmd): Likewise.
41635 (grub_script_arg_add): Likewise.
41636 (grub_script_lexer_ref): Likewise.
41637 (grub_script_lexer_deref): Likewise.
41638 (grub_script_lexer_record_start): Likewise.
41639 (grub_script_lexer_record_stop): Likewise.
41640 (grub_script_mem_record): Likewise.
41641 (grub_script_mem_record_stop): Likewise.
41642 (grub_script_malloc): Likewise.
41643 (grub_script_yylex): Likewise.
41644 (grub_script_yyparse): Likewise.
41645 (grub_script_yyerror): Likewise.
41646 (grub_script_yylex): Likewise.
41647 (grub_script_lexer_init): Return the state.
41648
41649 * normal/lexer.c (grub_script_lexer_state): Removed variable.
41650 (grub_script_lexer_done): Likewise.
41651 (grub_script_lexer_getline): Likewise.
41652 (grub_script_lexer_refs): Likewise.
41653 (script): Likewise.
41654 (newscript): Likewise.
41655 (record): Likewise.
41656 (recording): Likewise.
41657 (recordpos): Likewise.
41658 (recordlen): Likewise.
41659 (grub_script_lexer_init): Return the state instead of setting
41660 global variables.
41661 (grub_script_lexer_ref): Use the newly added argument for state
41662 instead of globals.
41663 (grub_script_lexer_deref): Likewise.
41664 (grub_script_lexer_record_start): Likewise.
41665 (grub_script_lexer_record_stop): Likewise.
41666 (recordchar): Likewise.
41667 (nextchar): Likewise.
41668 (grub_script_yylex2): Likewise.
41669 (grub_script_yylex): Likewise.
41670 (grub_script_yyerror): Likewise.
41671
41672 * normal/parser.y (func_mem): Removed variable.
41673 (menu_entry): Likewise.
41674 (err): Likewise.
41675 (%lex-param): New parser option.
41676 (%parse-param): Likewise.
41677 (script): Always return the AST.
41678 (argument): Pass the state around.
41679 (arguments): Likewise.
41680 (grubcmd): Likewise.
41681 (commands): Likewise.
41682 (function): Likewise.
41683 (menuentry): Likewise.
41684 (if_statement): Likewise.
41685 (if): Likewise.
41686
41687 * normal/script.c (grub_script_memused): Removed variable.
41688 (grub_script_parsed): Likewise.
41689 (grub_script_malloc): Added a state argument. Use that instead of
41690 global variables.
41691 (grub_script_mem_record): Likewise.
41692 (grub_script_mem_record_stop): Likewise.
41693 (grub_script_arg_add): Likewise.
41694 (grub_script_add_arglist): Likewise.
41695 (grub_script_create_cmdline): Likewise.
41696 (grub_script_create_cmdif): Likewise.
41697 (grub_script_create_cmdmenu): Likewise.
41698 (grub_script_add_cmd): Likewise.
41699 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 41700
e2a8c904 417012006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 41702
41703 * normal/command.c (grub_command_init): Remove the title command.
41704
41705 * normal/lexer.c (grub_script_yylex): Renamed from this...
41706 (grub_script_yylex2): ... to this.
41707 (grub_script_yylex): New function. Temporary
41708 introduced to filter some tokens.
41709 (grub_script_yyerror): Print a newline.
41710
41711 * normal/main.c (read_config_file): Output information about the
41712 lines that contain errors. Wait for a key after all lines have
41713 been processed. Don't return an empty menu.
41714
41715 * normal/parser.y (func_mem): Don't initialize.
41716 (menu_entry): Likewise.
41717 (err): New variable.
41718 (script): Don't return anything when an error was encountered.
41719 (ws, returns): Removed rules.
41720 (argument): Disabled concatenated variable support.
41721 (arguments): Remove explicit separators.
41722 (grubcmd): Likewise.
41723 (function): Likewise.
41724 (menuentry): Likewise.
41725 (if): Likewise.
41726 (commands): Likewise. Add error handling.
41727
41728 * normal/script.c (grub_script_create_cmdline): If
41729 `grub_script_parsed' is 0, assume the parser encountered an error.
41730
c9a86192 417312006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
41732
41733 * configure.ac: Add support for EFI. Fix the typo
41734 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
41735
70f3b243 417362006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
41737
41738 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
41739 foreign multibyte characters should be shown correctly.
41740
65f201ad 417412006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
41742
41743 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
41744 calculation.
41745 (read_config_file): Made it to close file before returning.
41746
b4b93674 417472006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
41748
41749 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
41750 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
41751 video/i386/pc/vbefill.c.
41752
41753 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
41754 video/i386/pc/vbefill.c.
41755
41756 * include/grub/video.h (grub_video_blit_format): New enum.
41757 (grub_video_mode_info): Added new member blit_format.
41758 (grub_video_get_blit_format): New function prototype.
41759
41760 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
41761 function prototype.
41762 (grub_video_vbe_map_rgb): Likewise.
41763 (grub_video_vbe_unmap_color): Likewise.
41764
41765 * include/grub/i386/pc/vbeblit.h: New file.
41766
41767 * include/grub/i386/pc/vbefill.h: New file.
41768
41769 * video/video.c (grub_video_get_blit_format): New function.
41770 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
41771 (grub_video_vbe_map_rgb): Likewise.
41772 (grub_video_vbe_unmap_color): Likewise.
41773
41774 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
41775 optimized fills.
41776 (grub_video_vbe_blit_render_target): Changed to use more optimized
41777 blits.
41778 (grub_video_vbe_setup): Added detection for optimized settings.
41779 (grub_video_vbe_create_render_target): Likewise.
41780
41781 * video/i386/pc/vbeblit.c: New file.
41782
41783 * video/i386/pc/vbefill.c: New file.
41784
c2379b9c 417852006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
41786
41787 * font/manager.c (grub_font_get_glyph): Removed font fixup from
41788 here...
41789
41790 * util/unifont2pff.rb: ... and moved it to here. Improved argument
41791 parsing to support both hex and dec ranges. If filename was missing
41792 show usage information.
41793
bd0d7896 417942006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
41795
41796 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
41797 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
41798
41799 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
41800 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
41801 (video_mod_SOURCES): Added.
41802 (video_mod_CFLAGS): Likewise.
41803 (video_mod_LDFLAGS): Likewise.
41804 (gfxterm_mod_SOURCES): Likewise.
41805 (gfxterm_mod_CFLAGS): Likewise.
41806 (gfxterm_mod_LDFLAGS): Likewise.
41807 (videotest_mod_SOURCES): Likewise.
41808 (videotest_mod_CFLAGS): Likewise.
41809 (videotest_mod_LDFLAGS): Likewise.
41810 (vesafb_mod_SOURCES): Removed.
41811 (vesafb_mod_CFLAGS): Likewise.
41812 (vesafb_mod_LDFLAGS): Likewise.
41813 (vga_mod_SOURCES): Likewise.
41814 (vga_mod_CFLAGS): Likewise.
41815 (vga_mod_LDFLAGS): Likewise.
41816
41817 * commands/videotest.c: New file.
41818
41819 * font/manager.c (fill_with_default_glyph): Modified to use
41820 grub_font_glyph.
41821 (grub_font_get_glyph): Likewise.
41822 (fontmanager): Renamed from this...
41823 (font_manager): ... to this.
41824
41825 * include/grub/font.h (grub_font_glyph): Added new structure.
41826 (grub_font_get_glyph): Modified to use grub_font_glyph.
41827
41828 * include/grub/misc.h (grub_abs): Added as inline function.
41829
41830 * include/grub/video.h: New file.
41831
41832 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
41833 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
41834 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
41835 (grub_vbe_get_controller_info): Renamed from this...
41836 (grub_vbe_bios_get_controller_info): ... to this.
41837 (grub_vbe_get_mode_info): Renamed from this...
41838 (grub_vbe_bios_get_mode_info): ... to this.
41839 (grub_vbe_set_mode): Renamed from this...
41840 (grub_vbe_bios_set_mode): ... to this.
41841 (grub_vbe_get_mode): Renamed from this...
41842 (grub_vbe_bios_get_mode): ... to this.
41843 (grub_vbe_set_memory_window): Renamed from this...
41844 (grub_vbe_bios_set_memory_window): ... to this.
41845 (grub_vbe_get_memory_window): Renamed from this...
41846 (grub_vbe_bios_get_memory_window): ... to this.
41847 (grub_vbe_set_scanline_length): Renamed from this...
41848 (grub_vbe_set_scanline_length): ... to this.
41849 (grub_vbe_get_scanline_length): Renamed from this...
41850 (grub_vbe_bios_get_scanline_length): ... to this.
41851 (grub_vbe_set_display_start): Renamed from this...
41852 (grub_vbe_bios_set_display_start): ... to this.
41853 (grub_vbe_get_display_start): Renamed from this...
41854 (grub_vbe_bios_get_display_start): ... to this.
41855 (grub_vbe_set_palette_data): Renamed from this...
41856 (grub_vbe_bios_set_palette_data): ... to this.
41857 (grub_vbe_set_pixel_rgb): Removed.
41858 (grub_vbe_set_pixel_index): Likewise.
41859
41860 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
41861 from this...
41862 (grub_vbe_bios_get_controller_info): ... to this.
41863 (grub_vbe_get_mode_info): Renamed from this...
41864 (grub_vbe_bios_get_mode_info): ... to this.
41865 (grub_vbe_set_mode): Renamed from this...
41866 (grub_vbe_bios_set_mode): ... to this.
41867 (grub_vbe_get_mode): Renamed from this...
41868 (grub_vbe_bios_get_mode): ... to this.
41869 (grub_vbe_set_memory_window): Renamed from this...
41870 (grub_vbe_bios_set_memory_window): ... to this.
41871 (grub_vbe_get_memory_window): Renamed from this...
41872 (grub_vbe_bios_get_memory_window): ... to this.
41873 (grub_vbe_set_scanline_length): Renamed from this...
41874 (grub_vbe_set_scanline_length): ... to this.
41875 (grub_vbe_get_scanline_length): Renamed from this...
41876 (grub_vbe_bios_get_scanline_length): ... to this.
41877 (grub_vbe_set_display_start): Renamed from this...
41878 (grub_vbe_bios_set_display_start): ... to this.
41879 (grub_vbe_get_display_start): Renamed from this...
41880 (grub_vbe_bios_get_display_start): ... to this.
41881 (grub_vbe_set_palette_data): Renamed from this...
41882 (grub_vbe_bios_set_palette_data): ... to this.
41883 (grub_vbe_bios_get_controller_info): Fixed problem with registers
41884 getting corrupted after calling it. Added more pushes and pops.
41885 (grub_vbe_bios_set_mode): Likewise.
41886 (grub_vbe_bios_get_mode): Likewise.
41887 (grub_vbe_bios_get_memory_window): Likewise.
41888 (grub_vbe_bios_set_scanline_length): Likewise.
41889 (grub_vbe_bios_get_scanline_length): Likewise.
41890 (grub_vbe_bios_get_display_start): Likewise.
41891 (grub_vbe_bios_set_palette_data): Likewise.
41892
41893 * normal/cmdline.c (cl_set_pos): Refresh the screen.
41894 (cl_insert): Likewise.
41895 (cl_delete): Likewise.
41896
41897 * term/gfxterm.c: New file.
41898
41899 * term/i386/pc/vesafb.c: Removed file.
41900
41901 * video/video.c: New file.
41902
41903 * video/i386/pc/vbe.c (real2pm): Added new function.
41904 (grub_video_vbe_draw_pixel): Likewise.
41905 (grub_video_vbe_get_video_ptr): Likewise.
41906 (grub_video_vbe_get_pixel): Likewise
41907 (grub_video_vbe_init): Likewise.
41908 (grub_video_vbe_fini): Likewise.
41909 (grub_video_vbe_setup): Likewise.
41910 (grub_video_vbe_get_info): Likewise.
41911 (grub_video_vbe_set_palette): Likewise.
41912 (grub_video_vbe_get_palette): Likewise.
41913 (grub_video_vbe_set_viewport): Likewise.
41914 (grub_video_vbe_get_viewport): Likewise.
41915 (grub_video_vbe_map_color): Likewise.
41916 (grub_video_vbe_map_rgb): Likewise.
41917 (grub_video_vbe_map_rgba): Likewise.
41918 (grub_video_vbe_unmap_color): Likewise.
41919 (grub_video_vbe_fill_rect): Likewise.
41920 (grub_video_vbe_blit_glyph): Likewise.
41921 (grub_video_vbe_blit_bitmap): Likewise.
41922 (grub_video_vbe_blit_render_target): Likewise.
41923 (grub_video_vbe_scroll): Likewise.
41924 (grub_video_vbe_swap_buffers): Likewise.
41925 (grub_video_vbe_create_render_target): Likewise.
41926 (grub_video_vbe_delete_render_target): Likewise.
41927 (grub_video_vbe_set_active_render_target): Likewise.
41928 (grub_vbe_set_pixel_rgb): Remove function.
41929 (grub_vbe_set_pixel_index): Likewise.
41930 (index_color_mode): Remove static variable.
41931 (active_mode): Likewise.
41932 (framebuffer): Likewise.
41933 (bytes_per_scan_line): Likewise.
41934 (grub_video_vbe_adapter): Added new static variable.
41935 (framebuffer): Likewise.
41936 (render_target): Likewise.
41937 (initial_mode): Likewise.
41938 (mode_in_use): Likewise.
41939 (mode_list): Likewise.
41940
5f97350b 419412006-03-10 Marco Gerards <marco@gnu.org>
41942
41943 * configure.ac (AC_INIT): Bumped to 1.93.
41944
41945 * DISTLIST: Added `include/grub/hfs.h'.
41946
a3c5c6f8 419472006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
41948
41949 * boot/i386/pc/boot.S (general_error): Before looping, try INT
41950 18H, which might help the BIOS falling back to next boot media.
41951
6de53d26 419522006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
41953
41954 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
41955 Poe Chen <poe.poechen@gmail.com>.
41956
77c4a393 419572006-01-17 Marco Gerards <marco@gnu.org>
41958
41959 * include/grub/normal.h: Include <grub/script.h>.
41960 (grub_command_list): Removed struct.
41961 (grub_command_list_t): Removed type.
41962 (grub_menu_entry): Remove members `num' and `command_list'. Add
41963 members `commands' and `sourcecode'.
41964 * include/grub/script.h: Add inclusion guards.
41965 (grub_script_cmd_menuentry): New struct.
41966 (grub_script_execute_menuentry): New prototype.
41967 (grub_script_lexer_record_start): Likewise.
41968 (grub_script_lexer_record_stop): Likewise.
41969 * normal/execute.c (grub_script_execute_menuentry): New function.
41970 * normal/lexer.c (record, recording, recordpos, recordlen): New
41971 variables.
41972 (grub_script_lexer_record_start): New function.
41973 (grub_script_lexer_record_stop): Likewise.
41974 (recordchar): Likewise.
41975 (nextchar): Likewise.
41976 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
41977 2048 as the buffer size. Add the tokens `menuentry' and `@'.
41978 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
41979 (current_menu): New variable.
41980 (free_menu): Mainly rewritten.
41981 (grub_normal_menu_addentry): New function.
41982 (read_config_file): Rewritten.
41983 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 41984 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 41985 the menu entry.
41986 (run): Mainly rewritten.
41987 * normal/parser.y (menu_entry): New variable.
41988 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
41989 (menuentry): New rule.
41990 (command): Add `menuentry'.
41991 (if_statement): Allow additional returns before `fi'.
41992 * normal/script.c (grub_script_create_cmdmenu): New function.
41993
144f1f98 419942006-01-03 Marco Gerards <marco@gnu.org>
41995
41996 * INSTALL: GNU Bison is required.
41997 * configure.ac: Rewritten the test to detect Bison.
41998 * Makefile.in (YACC): New variable. Reported by Xun Sun
41999 <xun.sun.cn@gmail.com>.
42000
af4b2d89 420012006-01-03 Marco Gerards <marco@gnu.org>
42002
42003 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
42004 the HFS+ filesystem to filesystem blocks.
42005 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
42006 GCC warning is silenced.
42007
15643b71 420082006-01-03 Marco Gerards <marco@gnu.org>
42009
42010 * partmap/apple.c (apple_partition_map_iterate): Convert the data
42011 read from disk from big endian to host byte order.
42012
00905879 420132006-01-03 Hollis Blanchard <hollis@penguinppc.org>
42014
42015 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
42016 documentation.
42017 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
42018 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
42019 embedded HFS+ filesystem.
42020 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
42021 (grub_hfs_sblock): Move from here...
42022 * include/grub/hfs.h: To here... New file.
42023 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
42024 documentation.
42025 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
42026 New macros.
42027 (grub_hfsplus_volheader): Change type of member `magic' to
42028 `grub_uint16_t'.
42029 (grub_hfsplus_data): Add new member `embedded_offset'.
42030 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
42031 returned block.
42032 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
42033 Calculate the offset.
42034
8899bc3e 420352005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42036
42037 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
42038 Removed.
42039 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
42040
ae8c0277 420412005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42042
42043 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
42044 ENV->NAME is NULL after allocating ENV->VALUE.
42045
07084456 420462005-12-25 Marco Gerards <marco@gnu.org>
42047
42048 * kern/env.c (grub_env_set): Rewritten the error handling code.
42049
4750f5f1 420502005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42051
42052 * geninit.sh: Made more robust, and more portable.
42053
50214199 420542005-12-25 Marco Gerards <marco@gnu.org>
42055
42056 Add support for Apple HFS+ filesystems.
f19dbdb7 42057
50214199 42058 * fs/hfsplus.c: New file.
42059
42060 * DISTLIST: Added `fs/hfsplus.c'.
42061
42062 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
42063 (hfsplus_mod_SOURCES): New variable.
42064 (hfsplus_mod_CFLAGS): Likewise.
42065 (hfsplus_mod_LDFLAGS): Likewise.
42066 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
42067 (grub_setup_SOURCES): Likewise.
42068 (grub_mkdevicemap_SOURCES): Likewise.
42069 (grub_emu_SOURCES): Likewise.
42070 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42071
42072 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
42073
42074 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
42075
befaed6c 420762005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42077
42078 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
42079 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
42080 include/grub/parser.h, include/grub/script.h, kern/parser.c,
42081 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
42082 normal/lexer.c, normal/parser.y, normal/script.c, and
42083 partmap/gpt.c.
42084 Removed kern/sparc64/cache.c.
42085
42086 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
42087 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
42088 grub_emu_init.c.
42089
42090 * configure.ac (AC_INIT): Bumped to 1.92.
42091
6a124103 420922005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
42093
42094 * kern/err.c (grub_error_push): Added new function to support error
42095 stacks.
42096 (grub_error_pop): Likewise.
42097 (grub_error_stack_items): New local variable to support error stacks.
42098 (grub_error_stack_pos): Likewise.
42099 (grub_error_stack_assert): Likewise.
42100 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
42101 stack depth.
42102 (grub_print_error): Added support to print errors from error stack.
42103
42104 * include/grub/err.h (grub_error_push): Added function prototype.
42105 (grub_error_pop): Likewise.
42106
be973c1b 421072005-12-09 Hollis Blanchard <hollis@penguinppc.org>
42108
42109 * configure.ac: Accept `powerpc64' as host_cpu.
42110 (amd64): Rename to `biarch32'.
42111
42112 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
42113 non-cacheline-aligned addresses.
42114
42115 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
42116 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
42117 if `size' is non-zero.
42118
b04216ab 421192005-12-03 Marco Gerards <mgerards@xs4all.nl>
42120
42121 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
42122 and `cd' to make sure the filename is not prefixed with a
42123 directory name.
42124 (pkgdata_MODULES): Add `gpt.mod'.
42125 (gpt_mod_SOURCES): New variable.
42126 (gpt_mod_CFLAGS): Likewise.
42127 (gpt_mod_LDFLAGS): Likewise.
42128
42129 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
42130
42131 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
42132 New macro.
42133
42134 * partmap/gpt.c: New file.
42135
42136 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
42137 GPT partition map is detected.
42138
41730ed9 421392005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
42140
42141 * commands/i386/pc/play.c: New file.
42142 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
42143 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
42144 macros.
f19dbdb7 42145
95dc3643 421462005-11-27 Marco Gerards <mgerards@xs4all.nl>
42147
42148 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
42149 ((unused))' to silence gcc warning.
42150
1569ec51 421512005-11-26 Hollis Blanchard <hollis@penguinppc.org>
42152
42153 * configure.ac: Correct `AC_PROG_YACC' test.
42154
9abde152 421552005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42156
42157 * util/powerpc/ieee1275/grub-install.in: Run the mount point
42158 check before installing files.
42159
44b83271 421602005-11-22 Mike Small <smallm@panix.com>
42161
42162 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
42163 number regex so multidigit numbers are recognized correctly.
42164
421652005-11-22 Mike Small <smallm@panix.com>
42166
42167 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
42168 debugging message before attempting to claim memory.
42169 (grub_rescue_cmd_initrd): Add a claim debugging message and try
42170 multiple addresses in case of failure.
42171
9c12956b 421722005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42173
42174 * term/tparm.c (get_space): Remove empty `if' statement.
42175
42176 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
42177
42178 * kern/parser.c (check_varstate): Rename `state' to 's'.
42179
aeaf81d9 421802005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42181
42182 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
42183 variable definitions to the beginning of each function. Sort stack
42184 variables by size.
42185 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
42186 `buf' argument to `char *'.
42187
79bbb63f 421882005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42189
42190 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
42191 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 42192 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 42193 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
42194 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
42195 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
42196 configfile.mod, search.mod, gzio.mod and test.mod.
42197 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
42198 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
42199 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
42200 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
42201 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
42202 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
42203 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
42204 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
42205 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
42206 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
42207 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42208 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42209 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
42210 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
42211 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
42212 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
42213 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42214 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
42215 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
42216 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
42217 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
42218 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
42219 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
42220
42221 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
42222 `grep --include'.
42223 (pkgdata_MODULES): Add test.mod.
42224
233b1628 422252005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42226
42227 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
42228 appending to variables with "+=".
42229 (PModule): Use full pathname to generate *.lst filenames.
42230
42231 * Makefile.in: Fixed list rules moved from genmk.rb.
42232 (.DELETE_ON_ERROR): New special target.
42233 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
42234
42235 * conf/i386-pc.rmk: Include conf/common.mk.
42236 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 42237 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 42238 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
42239 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
42240 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
42241 configfile.mod, search.mod, gzio.mod and test.mod.
42242 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
42243 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
42244 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
42245 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
42246 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
42247 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
42248 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
42249 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
42250 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
42251 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
42252 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42253 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42254 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
42255 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
42256 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
42257 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
42258 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42259 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
42260 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
42261 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
42262 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
42263 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
42264 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
42265 here...
42266 * conf/common.rmk: ... to here. New file.
42267
42268 * conf/common.mk: New file.
42269
16f820c8 422702005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
42271
42272 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
42273 (grub_script.tab.c): ... here.
42274
42275 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
42276 (grub_script.tab.c): ... here.
42277
42278 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
42279 (grub_script.tab.c): ... here.
42280
42281 * normal/command.c (grub_command_find): Fixed a memory leak of
42282 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
42283
63ba1554 422842005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42285
42286 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
42287 "@" which marks the start of a comment on ARM.
42288 (VARIABLE): Likewise.
42289
7f67dc13 422902005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42291
79bbb63f 42292 Add support for Linux/ADFS partition tables.
7f67dc13 42293
42294 * partmap/acorn.c: New file.
42295
42296 * include/grub/acorn_filecore.h: Likewise.
42297
42298 * DISTLIST: Added `partmap/acorn.c' and
42299 `include/grub/acorn_filecore.h'.
f19dbdb7 42300
7f67dc13 42301 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42302 `partmap/acorn.c'.
42303 (pkgdata_MODULES): Add `acorn.mod'.
42304 (acorn_mod_SOURCES): New variable.
42305 (acorn_mod_CFLAGS): Likewise.
42306
42307 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
42308 `partmap/acorn.c'.
42309 (pkgdata_MODULES): Add `acorn.mod'.
42310 (acorn_mod_SOURCES): New variable.
42311 (acorn_mod_CFLAGS): Likewise.
42312
42313 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
42314 (pkgdata_MODULES): Add `acorn.mod'.
42315 (acorn_mod_SOURCES): New variable.
42316 (acorn_mod_CFLAGS): Likewise.
42317 (acorn_mod_LDFLAGS): Likewise.
42318
42319 * include/types.h (grub_disk_addr_t): New typedef.
42320
6d099807 423212005-11-13 Marco Gerards <mgerards@xs4all.nl>
42322
42323 * geninit.sh: New file.
42324
42325 * geninitheader.sh: Likewise.
42326
42327 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
42328 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
42329 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
42330 * commands/configfile.c (grub_configfile_init)
42331 (grub_configfile_fini): Likewise.
42332 * commands/default.c (grub_default_init, grub_default_fini):
42333 Likewise.
42334 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
42335 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
42336 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
42337 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
42338 Likewise.
42339 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
42340 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
42341 Likewise.
42342 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 42343 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 42344 Likewise.
42345 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
42346 Likewise.
fe6b695a 42347 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 42348 Likewise.
42349 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
42350 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
42351 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
42352 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
42353 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
42354 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
42355 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
42356 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
42357 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
42358 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
42359 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
42360 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
42361 * partmap/amiga.c (grub_amiga_partition_map_init)
42362 (grub_amiga_partition_map_fini): Likewise.
42363 * partmap/apple.c (grub_apple_partition_map_init)
42364 (grub_apple_partition_map_fini): Likewise.
42365 * partmap/pc.c (grub_pc_partition_map_init)
42366 (grub_pc_partition_map_fini): Likewise.
42367 * partmap/sun.c (grub_sun_partition_map_init,
42368 grub_sun_partition_map_fini): Likewise.
42369 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
42370 Likewise.
42371
42372 * util/grub-emu.c: Include <grub_modules_init.h>.
42373 (main): Don't initialize and de-initialize any modules directly,
42374 use `grub_init_all' and `grub_fini_all' instead.
42375
42376 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
42377 `grub_vesafb_mod_init'.
42378 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
42379 all users.
42380 * term/i386/pc/vga.c (grub_vga_init): Renamed to
42381 `grub_vga_mod_init'. Updated all users.
42382 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 42383
6d099807 42384 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
42385 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
42386 rules.
42387
42388 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
42389 Generate a function to initialize the module in utilities.
42390 Updated all callers.
42391 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
42392 initialize the module in utilities. Updated all callers.
42393
9046bcf0 423942005-11-09 Hollis Blanchard <hollis@penguinppc.org>
42395
42396 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
42397 escape sequence and a literal ^L to clear the screen.
42398
42399 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
42400 when returning from Open Firmware.
42401
d13ea639 424022005-11-09 Hollis Blanchard <hollis@penguinppc.org>
42403
42404 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
42405 (grub_ofconsole_height): Likewise.
42406 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
42407 manually insert a '\n'.
42408 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
42409 `grub_ofconsole_height'. Return early if these are already set.
42410
a8fcf206 424112005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
42412
42413 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
42414 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
42415 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
42416 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
42417 and `normal/script.c'.
42418 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
42419 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42420 (test_mod_SOURCES): New variable.
42421 (test_mod_CFLAGS): Likewise.
42422 (test_mod_LDFLAGS): Likewise.
42423 (pkgdata_MODULES): Add `test.mod'.
42424 (grub_script.tab.c): New rule.
42425 (grub_script.tab.h): Likewise.
42426
b6b32745 424272005-11-07 Marco Gerards <mgerards@xs4all.nl>
42428
42429 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42430 `commands/test.c', `normal/execute.c', `normal/lexer.c',
42431 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42432 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
42433 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42434 (test_mod_SOURCES): New variable.
42435 (test_mod_CFLAGS): Likewise.
42436 (pkgdata_MODULES): Add `test.mod'.
42437 (grub_script.tab.c): New rule.
42438 (grub_script.tab.h): Likewise.
42439
daac212a 424402005-11-06 Marco Gerards <mgerards@xs4all.nl>
42441
42442 Add initial scripting support.
42443
42444 * commands/test.c: New file.
42445 * include/grub/script.h: Likewise.
42446 * normal/execute.c: Likewise.
42447 * normal/function.c: Likewise.
42448 * normal/lexer.c: Likewise.
42449 * normal/parser.y: Likewise.
42450 * normal/script.c: Likewise.
42451
42452 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 42453
daac212a 42454 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
42455 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
42456 `normal/function.c' and `normal/script.c'.
42457 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
42458 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 42459 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
42460 variables.
daac212a 42461 (pkgdata_MODULES): Add `test.mod'.
42462 (grub_script.tab.c): New rule.
42463 (grub_script.tab.h): Likewise.
42464
42465 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
42466
42467 * include/grub/normal.h (grub_test_init): New prototype.
42468 (grub_test_fini): Likewise.
f19dbdb7 42469
daac212a 42470 * normal/command.c: Include <grub/script.h>.
42471 (grub_command_execute): Rewritten.
f19dbdb7 42472
daac212a 42473 * util/grub-emu.c (main): Call `grub_test_init' and
42474 `grub_test_fini'.
42475
77500b2b 424762005-11-03 Hollis Blanchard <hollis@penguinppc.org>
42477
42478 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
42479 to 0.
42480 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
42481 there are no pending characters.
42482
e45deb9e 424832005-11-03 Hollis Blanchard <hollis@penguinppc.org>
42484
42485 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
42486 `grub_strndup' to drop device arguments. Replace unnecessary
42487 `grub_strndup' with `grub_strdup'.
42488
4ce32619 424892005-11-03 Hollis Blanchard <hollis@penguinppc.org>
42490
42491 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
42492 `debug' environment variable has been set.
42493
424942005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 42495
4ce32619 42496 * Makefile.in (install-local): Use $(DATA).
42497 (uninstall): Likewise.
42498 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
42499 (sbin_UTILITIES): ... to here.
42500 (sbin_SCRIPTS): New variable.
42501 (grub_install_SOURCES): New variable.
42502 * util/powerpc/ieee1275/grub-install.in: New file.
42503 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
42504 variable.
42505 (add_segments): Call `grub_util_get_path'.
42506
25fe6f03 425072005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
42508
42509 From Timothy Baldwin:
42510 * commands/ls.c (grub_ls_list_files): Close FILE with
42511 grub_file_close.
42512 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
42513
04ccf3ec 425142005-10-24 Marco Gerards <mgerards@xs4all.nl>
42515
42516 * include/grub/parser.h: New file.
42517
42518 * kern/parser.c: Likewise.
42519
42520 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
42521 (grub_setup_SOURCES): Likewise.
42522 (grub_probefs_SOURCES): Likewise.
42523 (grub_emu_SOURCES): Likewise.
42524 (kernel_img_HEADERS): Add `parser.h'.
42525
42526 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
42527 (grub_emu_SOURCES): Add `kern/parser.c'.
42528 (grubof_SOURCES): Likewise.
42529
42530 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
42531 (grubof_SOURCES): Add `kern/parser.c'.
42532
42533 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
42534
42535 * kern/misc.c (grub_split_cmdline): Removed function.
42536
42537 * kern/rescue.c: Include <grub/parser.h>.
42538 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
42539 of `grub_split_cmdline'.
42540
42541 * normal/command.c: Include <grub/parser.h>.
42542 (grub_command_execute): Use `grub_parser_split_cmdline' instead
42543 of `grub_split_cmdline'.
42544
42545 * normal/completion.c: Include <grub/parser.h>.
42546 (cmdline_state): New variable.
42547 (iterate_dir): End the filename with a quote depending on the
42548 command line state.
42549 (get_state): new function.
42550 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
42551 split the arguments and determine the current argument. When the
42552 argument string is not quoted, escape all spaces.
42553
6d8f4b0e 425542005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
42555
42556 * normal/sparc64/setjmp.S: New file.
42557
15cf03ed 425582005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
42559
42560 * include/grub/sparc64/libgcc.h: New file.
42561 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
42562 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
42563 normal/sparc64/setjmp.c.
42564
03e8661a 425652005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
42566
42567 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
42568 * kern/sparc64/cache.S: New file.
42569 * kern/sparc64/cache.c: Removed.
42570 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
42571 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
42572 -mtune=ultrasparc.
42573 (COMMON_LDFLAGS): Add -melf64_sparc.
42574 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
42575 (grubof_SOURCES): Use cache.S instead of cache.c.
42576 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
42577 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
42578 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
42579 commented though.
42580 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
42581 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
42582 (linux_mod_CFLAGS): Commented out.
42583 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
42584 out because module isn't built.
42585 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
42586 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
42587 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
42588 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
42589 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
42590 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
42591 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
42592 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
42593 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
42594 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
42595 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42596 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42597 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
42598 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
42599
34eeec8a 426002005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
42601
42602 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
42603 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
42604 longer, because HFS should not be used on PC.
42605
708367a3 426062005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42607
42608 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
42609 consistently within the loop.
42610
6fa1251a 426112005-10-15 Marco Gerards <mgerards@xs4all.nl>
42612
42613 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
42614 directory can not be read.
42615
4801580b 426162005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
42617
42618 * configure.ac (AC_INIT): Increase the version number to 1.91.
42619
42620 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
42621 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
42622 term/i386/pc/serial.c.
42623
219ad426 426242005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
42625
42626 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
42627 file size must be permitted.
42628
42629 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
42630 between %ah and %al.
42631
688e5699 426322005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
42633
42634 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
42635 grub_uint64_t.
42636 Call the hook with a NUL-terminated filename.
42637 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
42638 grub_cpu_to_be32.
42639
42640 * kern/term.c (cursor_state): New variable.
42641 (grub_term_set_current): Reset the cursor state on a new
42642 terminal.
42643 (grub_setcursor): Rewritten to use CURSOR_STATE.
42644 (grub_getcursor): New function.
42645
42646 * include/grub/term.h (grub_getcursor): New prototype.
42647
42648 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
42649 integers on ARM. Reported by Timothy Baldwin
42650 <T.E.Baldwin99@members.leeds.ac.uk>.
42651
bb34586c 426522005-10-11 Marco Gerards <mgerards@xs4all.nl>
42653
42654 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
42655 allocated.
42656 (grub_sfs_dir): Likewise.
42657
9a909877 426582005-10-09 Marco Gerards <mgerards@xs4all.nl>
42659
42660 Add support for the SFS filesystem.
42661
42662 * fs/sfs.c: New file.
42663
42664 * DISTLIST: Added `fs/sfs.c'.
42665
42666 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
42667 (grub_probefs_SOURCES): Likewise.
42668 (grub_emu_SOURCES): Likewise.
42669 (pkgdata_MODULES): Add `sfs.mod'.
42670 (sfs_mod_SOURCES): New variable.
42671 (sfs_mod_CFLAGS): Likewise.
42672 (sfs_mod_LDFLAGS): Likewise.
42673
42674 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
42675 (pkgdata_MODULES): Add `sfs.mod'.
42676 (sfs_mod_SOURCES): New variable.
42677 (sfs_mod_CFLAGS): Likewise.
42678
42679 * util/grub-emu.c (main): Call `grub_sfs_init' and
42680 `grub_sfs_fini'.
42681
42682 * include/grub/fs.h (grub_sfs_init): New prototype.
42683 (grub_sfs_fini): Likewise.
42684
57bdbde3 426852005-10-07 Marco Gerards <mgerards@xs4all.nl>
42686
42687 Add support for the AFFS filesystem.
42688
42689 * fs/affs.c: New file.
42690
42691 * DISTLIST: Added `fs/affs.c'.
42692
42693 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
42694 (grub_probefs_SOURCES): Likewise.
42695 (grub_emu_SOURCES): Likewise.
42696 (pkgdata_MODULES): Add `affs.mod'.
42697 (affs_mod_SOURCES): New variable.
42698 (affs_mod_CFLAGS): Likewise.
42699 (affs_mod_LDFLAGS): Likewise.
42700
42701 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
42702 (pkgdata_MODULES): Add `affs.mod'.
42703 (affs_mod_SOURCES): New variable.
42704 (affs_mod_CFLAGS): Likewise.
42705
42706 * util/grub-emu.c (main): Call `grub_affs_init' and
42707 `grub_affs_fini'.
42708
42709 * include/grub/fs.h (grub_affs_init): New prototype.
42710 (grub_affs_fini): Likewise.
42711
047b67e0 427122005-10-01 Marco Gerards <mgerards@xs4all.nl>
42713
42714 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
42715
59b8208a 427162005-10-01 Marco Gerards <mgerards@xs4all.nl>
42717
42718 * configure.ac: Accept `x86_64' as host_cpu. In that case add
42719 `-m32' to CFLAGS.
42720
42721 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
42722 linking.
f19dbdb7 42723
59b8208a 42724 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
42725 (COMMON_LDFLAGS): New variable.
42726 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
42727 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
42728 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
42729 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
42730 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
42731 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
42732 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
42733 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
42734 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
42735 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
42736 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
42737 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
42738 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
42739 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
42740 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
42741 variables.
42742 (normal_mod_ASFLAGS): Add `-m32'.
42743
42744 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
42745 (grub_host_size_t, grub_host_ssize_t): New types.
42746 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 42747 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 42748 `GRUB_HOST_SIZEOF_VOID_P'.
42749
42750 * include/grub/kernel.h (struct grub_module_header): Type of
42751 member offset changed to `grub_host_off_t'. Type of member size
42752 changed to `grub_host_size_t'.
42753 (struct grub_module_info): Type of member offset changed to
42754 `grub_host_off_t'. Type of member size changed to
42755 `grub_host_size_t'.
42756
b4093103 427572005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
42758
42759 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 42760
b4093103 42761 * kern/i386/pc/startup.S (multiboot_header): New label.
42762 (multiboot_entry): Likewise.
42763 (multiboot_trampoline): Likewise.
42764
42765 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
42766 Increased to 0x4A0.
42767
42768 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
42769 put parentheses after a question mark.
42770 [!GRUB_UTIL] (my_mod): New variable.
42771
42772 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
42773
b2499b29 427742005-09-28 Marco Gerards <mgerards@xs4all.nl>
42775
42776 Adds support for the XFS filesystem. Btrees are not supported
42777 yet.
42778
42779 * fs/xfs.c: New file.
42780
42781 * DISTLIST: Added `fs/xfs.c'.
42782
42783 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
42784 (grub_probefs_SOURCES): Likewise.
42785 (grub_emu_SOURCES): Likewise.
42786 (pkgdata_MODULES): Add `xfs.mod'.
42787 (xfs_mod_SOURCES): New variable.
42788 (xfs_mod_CFLAGS): Likewise.
42789
42790 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
42791 (pkgdata_MODULES): Add `xfs.mod'.
42792 (xfs_mod_SOURCES): New variable.
42793 (xfs_mod_CFLAGS): Likewise.
42794
42795 * util/grub-emu.c (main): Call `grub_xfs_init' and
42796 `grub_xfs_fini'.
42797
42798 * include/grub/fs.h (grub_xfs_init): New prototype.
42799 (grub_xfs_fini): Likewise.
42800
f19dbdb7 42801
83d37a62 428022005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
42803
42804 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
42805 color modes, allow greater than 16 colors to be configured as
42806 a default palette.
42807
47d2d65e 428082005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
42809
42810 * normal/completion.c (complete_arguments): Add the qualifier
42811 const into OPTIONS.
42812
42813 From Omniflux <omniflux+lists@omniflux.com>:
42814 * include/grub/terminfo.h: New file.
42815 * include/grub/tparm.h: Likewise.
42816 * include/grub/i386/pc/serial.h: Likewise.
42817 * term/terminfo.c: Likewise.
42818 * term/tparm.c: Likewise.
42819 * term/i386/pc/serial.c: Likewise.
42820 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
42821 serial.mod.
42822 (terminfo_mod_SOURCES): New variable.
42823 (terminfo_mod_CFLAGS): Likewise.
42824 (serial_mod_SOURCES): Likewise.
42825 (serial_mod_CFLAGS): Likewise.
42826
48b671ff 428272005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
42828
42829 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
42830 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
42831 and kern/powerpc/ieee1275/cmain.c, respectively.
42832
42833 * boot/powerpc/ieee1275/crt0.S: Moved to ...
42834 * kern/powerpc/ieee1275/crt0.S: ... here.
42835
42836 * boot/powerpc/ieee1275/cmain.c: Moved to ...
42837 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 42838
48b671ff 42839 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
42840 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
42841 instead of boot/powerpc/ieee1275/crt0.S and
42842 boot/powerpc/ieee1275/cmain.c, respectively.
42843
42844 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
42845 sectors. It was not used anyway.
42846
09fc77a7 428472005-08-30 Hollis Blanchard <hollis@penguinppc.org>
42848
42849 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
42850 `unused parameter' warning.
42851
003789c7 428522005-08-30 Hollis Blanchard <hollis@penguinppc.org>
42853
42854 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
42855 function.
42856 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
42857 getcharwidth.
42858
67f44c86 428592005-08-28 Marco Gerards <metgerards@student.han.nl>
42860
42861 * include/grub/normal.h (enum grub_completion_type): Added
42862 `GRUB_COMPLETION_TYPE_ARGUMENT'.
42863
42864 * normal/cmdline.c (print_completion): Handle
42865 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
42866 * normal/menu_entry.c (store_completion): Likewise.
42867
42868 * normal/completion.c (complete_arguments): New function.
42869 (grub_normal_do_completion): Call `complete_arguments' when the
42870 current words start with a dash.
42871
0b5abe02 428722005-08-27 Marco Gerards <metgerards@student.han.nl>
42873
42874 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
42875 `gzio.mod' instead of `io.mod').
42876
d9864ee1 428772005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
42878
42879 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
42880 (DISTDIRS): Added io and video.
42881 Rewrite the search routine to make an output consistently.
42882
42883 * DISTLIST: Added conf/sparc64-ieee1275.mk,
42884 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
42885 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
42886 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
42887 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
42888 util/powerpc/ieee1275/misc.c.
f19dbdb7 42889
d9864ee1 42890 * include/grub/gzio.h: New file.
42891 * io/gzio.c: Likewise.
f19dbdb7 42892
d9864ee1 42893 * kern/file.c (grub_file_close): Call grub_device_close only if
42894 FILE->DEVICE is not NULL.
42895
42896 * include/grub/mm.h [!NULL] (NULL): New macro.
42897
42898 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
42899
42900 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
42901 (pkgdata_MODULES): Added gzio.mod.
42902 (gzio_mod_SOURCES): New variable.
42903 (gzio_mod_CFLAGS): Likewise.
42904
42905 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
42906 (pkgdata_MODULES): Added gzio.mod.
42907 (gzio_mod_SOURCES): New variable.
42908 (gzio_mod_CFLAGS): Likewise.
42909
42910 * commands/cat.c: Include grub/gzio.h.
42911 (grub_cmd_cat): Use grub_gzfile_open instead of
42912 grub_file_open.
f19dbdb7 42913
d9864ee1 42914 * commands/cmp.c: Include grub/gzio.h.
42915 (grub_cmd_cmp): Use grub_gzfile_open instead of
42916 grub_file_open.
42917
42918 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
42919 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
42920 grub_file_open.
42921 (grub_rescue_cmd_module): Likewise.
42922
fa46f4b5 429232005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
42924
42925 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
42926 kern/sparc64/ieee1275/init.c because it contains _start.
42927 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
42928
e9211b5d 429292005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
42930
42931 * configure.ac: Add support for sparc64 host with ieee1275
42932 firmware.
42933 * configure: Generated from configure.ac.
42934 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
42935 instead of int.
42936 (grub_ofdisk_read): Likewise.
42937 (grub_ofdisk_open): Use %p to print pointer values, and cast the
42938 pointers as (void *) to remove a warning.
42939 (grub_ofdisk_close): Likewise.
42940 (grub_ofdisk_read): Likewise.
42941 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
42942 returns, so make it return void to remove a warning.
42943 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
42944 Corresponding prototype change.
42945 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
42946 values, and cast the pointers as (void *) to remove a warning.
42947 (grub_mm_dump): Likewise.
42948 * conf/sparc64-ieee1275.mk: New file.
42949 * conf/sparc64-ieee1275.rmk: Likewise.
42950 * include/grub/sparc64/setjmp.h: Likewise.
42951 * include/grub/sparc64/types.h: Likewise.
42952 * include/grub/sparc64/ieee1275/console.h: Likewise.
42953 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
42954 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
42955 * include/grub/sparc64/ieee1275/time.h: Likewise.
42956 * kern/sparc64/cache.c: Likewise.
42957 * kern/sparc64/dl.c: Likewise.
42958 * kern/sparc64/ieee1275/init.c: Likewise.
42959 * kern/sparc64/ieee1275/openfw.c: Likewise.
42960
385c6a92 429612005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
42962
42963 * util/console.c (grub_ncurses_putchar): If C is greater than
42964 0x7f, set C to a question mark.
42965 (grub_ncurses_getcharwidth): New function.
42966 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
42967 getcharwidth.
42968
42969 * normal/menu.c (print_entry): Made aware of Unicode. First,
42970 convert TITLE to UCS-4, and predict the cursor position by
42971 grub_getcharwidth.
42972
42973 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
42974 const to SRC.
42975 * kern/misc.c (grub_utf16_to_utf8): Likewise.
42976
16ccb8b1 429772005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
42978
42979 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
42980 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
42981 grub_strcat.
42982
42983 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
42984 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
42985 grub_strcpy and grub_strlen. Take it into account that a space
42986 character is inserted as a delimiter.
42987
6a85ce79 429882005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
42989
42990 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 42991 invalid magic in the error.
6a85ce79 42992
42993 * commands/search.c: New file.
f19dbdb7 42994
6a85ce79 42995 * util/grub-emu.c (main): Call grub_search_init and
42996 grub_search_fini.
42997
42998 * kern/rescue.c (grub_rescue_print_disks): Removed.
42999 (grub_rescue_print_devices): New function.
43000 (grub_rescue_cmd_ls): Use grub_device_iterate with
43001 grub_rescue_print_devices instead of grub_disk_dev_iterate with
43002 grub_rescue_print_disks.
43003
43004 * kern/partition.c (grub_partition_iterate): Return the result of
43005 PARTMAP->ITERATE instead of GRUB_ERRNO.
43006
43007 * kern/device.c: Include grub/partition.h.
43008 (grub_device_iterate): New function.
43009
43010 * include/grub/partition.h (grub_partition_iterate): Return int
43011 instead of grub_err_t.
43012
43013 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
43014 prototype.
43015 [GRUB_UTIL] (grub_search_fini): Likewise.
43016
43017 * include/grub/device.h (grub_device_iterate): New prototype.
43018
43019 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43020 commands/search.c.
43021 (pkgdata_MODULES): Added search.mod.
43022 (search_mod_SOURCES): New variable.
43023 (search_mod_CFLAGS): Likewise.
43024
43025 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
43026 (pkgdata_MODULES): Added search.mod.
43027 (search_mod_SOURCES): New variable.
43028 (search_mod_CFLAGS): Likewise.
43029
43030 * commands/ls.c (grub_ls_list_disks): Renamed to ...
43031 (grub_ls_list_devices): ... this, and use grub_device_iterate.
43032 All callers changed.
43033
43034 * DISTLIST: Added commands/search.c.
43035
ef095434 430362005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43037
43038 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
43039 conversion.
43040 (grub_getcharwidth): New function.
43041
43042 * kern/misc.c (grub_utf8_to_ucs4): New function.
43043
43044 * include/grub/term.h (struct grub_term): Added a new member
43045 "getcharwidth".
43046 (grub_getcharwidth): New prototype.
43047
43048 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
43049
43050 * term/i386/pc/console.c (map_char): New function. Segregated from
43051 grub_console_putchar.
43052 (grub_console_putchar): Use map_char.
43053 (grub_console_getcharwidth): New function.
43054 (grub_console_term): Specified grub_console_getcharwidth as
43055 getcharwidth.
43056
43057 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
43058 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
43059
43060 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
43061 GRUB_ERRNO.
43062 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
43063 on grub_strtoul completely.
43064 (write_char): Declare local variables in the beginning of the
43065 function.
43066 (grub_vesafb_getcharwidth): New function.
43067 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
43068 getcharwidth.
43069
1f0a95e4 430702005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
43071
43072 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
43073 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
43074 commands/i386/pc/vbetest.c.
43075
43076 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
43077 call grub_vbe_get_controller_info again, because the returned
43078 information is volatile.
43079 (grub_vbe_set_video_mode): Mostly rewritten.
43080 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
43081 grub_vbe_status_t correctly.
43082 (grub_vbe_get_video_mode_info): Likewise.
43083 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
43084 several if statements.
43085
43086 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
43087 * commands/i386/pc/vbeinfo.c: ... this.
43088
43089 * commands/i386/pc/vbe_test.c: Renamed to ...
43090 * commands/i386/pc/vbetest.c: ... this.
43091
43092 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
43093 ...
43094 (grub_cmd_vbeinfo): ... this. Save video modes before
43095 iterating. Skip a video mode, if it is not available, not enough
43096 information is given or it is monochrome. Show the memory
43097 model. Leave the interpretation of MODEVAR to grub_strtoul
43098 completely.
43099 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
43100 (GRUB_MOD_FINI): Likewise.
43101
43102 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
43103 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
43104 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
43105 duplicated grub_env_get. Leave the interpretation of MODEVAR to
43106 grub_strtoul completely.
43107 (real2pm): Removed.
43108 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
43109 (GRUB_MOD_FINI): Likewise.
43110
43111 * normal/misc.c: Include grub/mm.h.
43112
43113 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
43114 vbe_list_modes with vbetest.mod and vbeinfo.mod.
43115 (vbe_list_modes_mod_SOURCES): Removed.
43116 (vbe_list_modes_mod_CFLAGS): Likewise.
43117 (vbe_test_mod_SOURCES): Likewise.
43118 (vbe_test_mod_CFLAGS): Likewise.
43119 (vbeinfo_mod_SOURCES): New variable.
43120 (vbeinfo_mod_CFLAGS): Likewise.
43121 (vbetest_mod_SOURCES): Likewise.
43122 (vbetest_mod_CFLAGS): Likewise.
43123
992ffbbe 431242005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
43125
43126 * normal/misc.c: New file.
43127
43128 * DISTLIST: Added normal/misc.c.
f19dbdb7 43129
992ffbbe 43130 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
43131 DISK to HOOK. Call HOOK with DISK.
43132 * partmap/apple.c (apple_partition_map_iterate): Likewise.
43133 * partmap/pc.c (pc_partition_map_iterate): Likewise.
43134 * partmap/sun.c (sun_partition_map_iterate): Likewise.
43135
43136 * normal/menu_entry.c (struct screen): Added a new member
43137 "completion_shown".
43138 (completion_buffer): New global variable.
43139 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
43140 (store_completion): New function.
43141 (complete): Likewise.
43142 (clear_completions): Likewise.
43143 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
43144 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
43145 a tab, call complete.
43146
43147 * normal/completion.c (disk_dev): Removed.
43148 (print_simple_completion): Likewise.
43149 (print_partition_completion): Likewise.
43150 (print_func): New global variable.
43151 (add_completion): Do not take the arguments WHAT or PRINT any
43152 longer. Added a new argument TYPE. Instead of printing directly,
43153 call PRINT_FUNC if not NULL.
43154 All callers changed.
43155 (complete_device): Use a local variable DEV instead of
43156 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
43157 (grub_normal_do_completion): Take a new argument HOOK. Do not
43158 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
43159 empty string, return NULL instead.
43160 All callers changed.
43161
43162 * normal/cmdline.c (print_completion): New function.
43163
43164 * kern/partition.c (grub_partition_iterate): Add an argument DISK
43165 to HOOK.
43166 All callers changed.
43167
43168 * kern/disk.c (grub_print_partinfo): Removed.
43169
43170 * include/grub/partition.h (struct grub_partition_map): Add a new
43171 argument DISK into HOOK of ITERATE.
43172 (grub_partition_iterate): Add a new argument DISK to HOOK.
43173
43174 * include/grub/normal.h (enum grub_completion_type): New enum.
43175 (grub_completion_type_t): New type.
43176 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
43177 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
43178 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
43179 (GRUB_COMPLETION_TYPE_FILE): Likewise.
43180 (grub_normal_do_completion): Added a new argument HOOK.
43181 (grub_normal_print_device_info): New prototype.
43182
43183 * include/grub/disk.h (grub_print_partinfo): Removed.
43184
43185 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
43186 (normal_mod_SOURCES): Likewise.
43187 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43188 (normal_mod_SOURCES): Likewise.
43189
43190 * commands/ls.c (grub_ls_list_disks): Use
43191 grub_normal_print_device_info instead of grub_print_partinfo. Free
43192 PNAME.
43193 (grub_ls_list_files): Use grub_normal_print_device_info instead of
43194 duplicating the code.
43195
0bd41162 431962005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
43197
43198 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 43199 follow GCS more precisely.
43200 * commands/i386/pc/vbe_test.c: Likewise.
43201 * include/grub/i386/pc/vbe.h: Likewise.
43202 * term/i386/pc/vesafb.c: Likewise.
43203 * video/i386/pc/vbe.c: Likewise.
0bd41162 43204
6323696a 432052005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
43206
43207 * DISTLIST: Added term/i386/pc/vesafb.c
43208 DISTLIST: Added video/i386/pc/vbe.c
43209 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
43210 DISTLIST: Added commands/i386/pc/vbe_test.c.
43211 * commands/i386/pc/vbe_list_modes.c: New file.
43212 * commands/i386/pc/vbe_test.c: Likewise.
43213 * term/i386/pc/vesafb.c: Likewise.
43214 * video/i386/pc/vbe.c: Likewise.
43215 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
43216 (grub_vbe_probe) Added prototype.
43217 (grub_vbe_set_video_mode) Likewise.
43218 (grub_vbe_get_video_mode) Likewise.
43219 (grub_vbe_get_video_mode_info) Likewise.
43220 (grub_vbe_set_pixel_rgb) Likewise.
43221 (grub_vbe_set_pixel_index) Likewise.
43222 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
43223 (pkgdata_MODULES): Added vesafb.mod.
43224 (pkgdata_MODULES): Added vbe_list_modes.mod.
43225 (pkgdata_MODULES): Added vbe_test.mod.
43226 (vbe_mod_SOURCES): Added.
43227 (vbe_mod_CFLAGS): Likewise.
43228 (vesafb_mod_SOURCES): Likewise.
43229 (vesafb_mod_CFLAGS): Likewise.
43230 (vbe_list_modes_mod_SOURCES): Likewise.
43231 (vbe_list_modes_mod_CFLAGS): Likewise.
43232 (vbe_test_mod_SOURCES): Likewise.
43233 (vbe_test_mod_CFLAGS): Likewise.
43234
0a74e62f 432352005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
43236
0a74e62f 43237 * normal/command.c (grub_command_execute): If INTERACTIVE is
43238 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
43239 CMDLINE. Disable the pager if INTERACTIVE is true.
43240 All callers are changed.
43241
43242 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
43243 before reading a config file.
43244 * normal/main.c (read_config_file): Even if a command is not
43245 found, register it if it is within an entry.
43246
43247 * util/grub-emu.c: Include sys/types.h and unistd.h.
43248 (options): Added --hold.
43249 (struct arguments): Added a new member "hold".
43250 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
43251 missing.
43252 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
43253 cleared by a debugger, if it is not zero.
43254
43255 * include/grub/normal.h (grub_command_execute): Add an argument
43256 INTERACTIVE.
43257
e51f85ae 432582005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
43259
43260 * DISTLIST: Added include/grub/i386/pc/vbe.h.
43261
e9c6f39b 432622005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
43263
43264 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
43265 program with another one, because the old one didn't detect a bug
43266 in gcc-3.4. Always use regparm 2, because the new test is still
43267 not enough for gcc-4.0. Someone must investigate a simple test
43268 case which detects a bug in gcc-4.0.
43269
8de3495c 432702005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
43271
43272 * DISTLIST: Added normal/completion.c.
43273
43274 * normal/completion.c: New file.
f19dbdb7 43275
8de3495c 43276 * term/i386/pc/console.c (grub_console_getwh): New function.
43277 (grub_console_term): Assign grub_console_getwh to getwh.
43278
43279 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
43280 function is defined in normal/completion.c as
43281 grub_normal_do_completion.
43282 (grub_cmdline_get): Use grub_normal_do_completion instead of
43283 grub_tab_complete.
43284
43285 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
43286 returns non-zero, otherwise return 0.
43287 (grub_partition_iterate): First, probe the partition map. Then,
43288 call ITERATE only for this partition map.
43289
43290 * kern/misc.c (grub_strncmp): Rewritten.
43291
43292 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
43293 returns non-zero. Otherwise return 0.
43294
43295 * include/grub/partition.h (grub_partition_map_iterate): Return
43296 int instead of void.
43297
43298 * include/grub/normal.h (grub_normal_do_completion): New prototype.
43299
43300 * include/grub/misc.h (grub_strncmp): Change the type of N to
43301 grub_size_t.
43302
43303 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
43304 of void.
43305
43306 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 43307 unsigned explicitly before comparing it with I.
8de3495c 43308
43309 * kern/main.c (grub_env_write_root): Add the attribute unused into
43310 VAR.
43311
43312 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43313 normal/completion.c.
43314 (normal_mod_SOURCES): Likewise.
43315 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43316 (normal_mod_SOURCES): Likewise.
43317
43318 * normal/command.c (grub_iterate_commands): If ITERATE returns
43319 non-zero, return one immediately.
43320
e85e144b 433212005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
43322
43323 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
43324 * kern/i386/pc/startup.S: Updated Global Descriptor table's
43325 descriptions.
43326 (grub_vbe_get_controller_info): New function.
43327 (grub_vbe_get_mode_info): Likewise.
43328 (grub_vbe_set_mode): Likewise.
43329 (grub_vbe_get_mode): Likewise.
43330 (grub_vbe_set_memory_window): Likewise.
43331 (grub_vbe_get_memory_window): Likewise.
43332 (grub_vbe_set_scanline_length): Likewise.
43333 (grub_vbe_get_scanline_length): Likewise.
43334 (grub_vbe_set_display_start): Likewise.
43335 (grub_vbe_get_display_start): Likewise.
43336 (grub_vbe_set_palette_data): Likewise.
43337 * include/grub/i386/pc/vbe.h: New file.
43338
c46153d2 433392005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43340
43341 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
43342 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
43343 * DISTLIST: Likewise.
43344 * kern/ieee1275/of.c: Moved to ...
43345 * kern/ieee1275/ieee1275.c: ... here.
43346
0cb90c45 433472005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43348
43349 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
43350 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
43351 Pass 0 as `end' parameter to grub_strtoul().
43352
a19fb360 433532005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43354
43355 * include/grub/powerpc/ieee1275/console.h: Do not include
43356 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
43357 ifdef.
43358 (grub_console_cur_color): Remove i386-specific prototype.
43359 (grub_console_real_putchar): Likewise.
43360 (grub_console_checkkey): Likewise.
43361 (grub_console_getkey): Likewise.
43362 (grub_console_getxy): Likewise.
43363 (grub_console_gotoxy): Likewise.
43364 (grub_console_cls): Likewise.
43365 (grub_console_setcursor): Likewise.
43366 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
43367 Include <grub/machine/console.h>.
43368 * term/ieee1275/ofconsole.c: Likewise.
43369
4ac9bd04 433702005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
43371
43372 * Makefile.in (LIBLZO): New variable.
43373
43374 * configure.ac: Check for LZO version 2.
43375
43376 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
43377 lzo/lzo1x.h instead of lzo1x.h.
43378
43379 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
43380 of -llzo.
43381
43382 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
43383 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
43384
43385 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
43386 copying the data from PARTITION to P.
43387
f4917dfd 433882005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
43389
43390 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
43391 negative, unload the module.
43392
43393 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
43394 map is "pc_partition_map" but not "pc".
43395 (usage): Fix the description. The options are --boot-image and
43396 --core-image but not --boot-file or --core-file.
43397 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
43398 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
43399 DEFAULT_DIRECTORY.
43400
43401 * util/i386/pc/grub-install.in: Do not specify --boot-file or
43402 --core-file. Specify INSTALL_DEVICE as an argument.
43403
43404 * util/console.c: Include config.h.
43405 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
43406 [HAVE_NCURSES_H]: Include ncurses.h.
43407 [HAVE_CURSES_H]: Include curses.h.
43408 [!A_NORMAL] (A_NORMAL): Defined as zero.
43409 [!A_STANDOUT] (A_STANDOUT): Likewise.
43410
43411 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
43412 -lncurses.
43413 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
43414
43415 * configure.ac: Check for curses libraries and headers.
43416
43417 * Makefile.in (LIBCURSES): New variable.
43418
43419 * genmk.rb (Script::rule): Set the executable bits.
43420
43421 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
43422 name of the PC partition map is "pc_partition_map" but not "pc".
43423
0e143073 434242005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
43425
43426 * util/i386/pc/grub-install.in (grub_probefs): New variable.
43427 (modules): Likewise.
43428 (usage): Added descriptions for --modules and --grub-probefs.
43429 Handle --modules and --grub-probefs. Save the arguments in MODULES
43430 and GRUB_PROBEFS, respectively.
43431 Auto-detect a filesystem module against GRUBDIR. If the result is
43432 empty and modules are not specified explicitly, abort the
43433 installation. Add the result to MODULES.
43434
43435 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
43436 disk/powerpc/ieee1275/ofdisk.c,
43437 include/grub/powerpc/ieee1275/init.h and
43438 term/powerpc/ieee1275/ofconsole.c.
43439 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
43440 term/ieee1275/ofconsole.c.
43441
43442 * include/grub/powerpc/ieee1275/console.h: Resurrected.
43443
43444 * COPYING: Upgraded to the latest version. Only the address of the
43445 FSF office has changed.
f19dbdb7 43446
efd6e6d5 434472005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
43448
43449 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
43450 kern/ieee1275.c with kern/ieee1275/of.c.
43451
43452 * kern/ieee1275.c: Moved to ...
43453 * kern/ieee1275/of.c: ... here.
43454
8ceafda2 434552005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
43456
43457 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 43458 readability.
8ceafda2 43459
43460 * config.guess: Updated to the latest version from gnulib.
43461 * config.sub: Likewise.
43462 * install.sh: Likewise.
43463 * mkinstalldirs: Likewise.
43464
43465 * include/grub/console.h: Removed. This file is arch-specific. Do
43466 not put this in include/grub.
43467
43468 * include/grub/i386/pc/console.h: Resurrected.
43469
43470 * util/console.c: Include grub/machine/console.h instead of
43471 grub/console.h.
43472 * util/grub-emu.c: Likewise.
43473
267f6cd9 434742005-08-04 Marco Gerards <metgerards@student.han.nl>
43475
43476 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
43477 hardcoded value.
f19dbdb7 43478
267f6cd9 43479 From Vincent Pelletier <subdino2004@yahoo.fr>
43480 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
43481 Redefined to use grub_getwh.
43482 (grub_term): New member named getwh.
43483 (grub_getwh): New prototype.
43484 * kern/term.c (grub_getwh): New function.
43485 * term/i386/pc/console.c (grub_console_getwh): New function.
43486 (grub_console_term): New member `getwh'.
43487 * term/i386/pc/vga.c (grub_vga_getwh): New function.
43488 (grub_vga_term): New member `getwh'.
0b5abe02 43489 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 43490 grub_ssize_t.
43491 (grub_ofconsole_getw): New function.
43492 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
43493 (grub_ofconsole_term): New field named getwh and new initial
43494 value.
43495
3be7266d 434962005-08-03 Hollis Blanchard <hollis@penguinppc.org>
43497
43498 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
43499 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
43500 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
43501 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
43502 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
43503 of <grub/machine/ieee1275.h>.
43504 * commands/ieee1275/reboot.c: Likewise.
43505 * boot/powerpc/ieee1275/ieee1275.c: Move ...
43506 * kern/ieee1275.c: ... to here. All users updated. Change all
43507 parameter structs to use new type `grub_ieee1275_cell_t'.
43508 * term/powerpc/ieee1275/ofconsole.c: Move ...
43509 * term/ieee1275/ofconsole.c: ... to here. All users updated.
43510 * disk/powerpc/ieee1275/ofdisk.c: Move ...
43511 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
43512 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
43513 to return int.
43514 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
43515 Remove unused prototypes. All users updated.
43516 * include/grub/powerpc/ieee1275/console.h: Removed.
43517 * include/grub/powerpc/ieee1275/ieee1275.h: Define
43518 `grub_ieee1275_cell_t'.
43519 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
43520 Cast comparisons with -1 to the correct type.
43521 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
43522 type to match `grub_ieee1275_entry_fn'.
43523
8b5f3938 435242005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
43525
43526 * DISTLIST: Added util/i386/pc/grub-probefs.c.
43527
43528 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
43529 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
43530 partmap/sun.c.
43531 (grub_probefs_SOURCES): New variable.
43532
43533 * util/i386/pc/grub-probefs.c: New file.
43534
43535 * util/i386/pc/grub-setup.c (main): Call
43536 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
43537 grub_hfs_init and grub_jfs_init to initialize the system. Call
43538 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
43539 grub_pc_partition_map_fini to finish the system.
43540
ea409713 435412005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
43542
43543 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
43544 function.
43545 (grub_multiboot_load_elf32): Likewise.
43546 (grub_multiboot_is_elf64): Likewise.
43547 (grub_multiboot_load_elf64): Likewise.
43548 (grub_multiboot_load_elf): Likewise.
43549 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
43550 an ELF32 or ELF64 file.
43551 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
43552
43553 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
43554 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
43555 NULL before calling FS->LABEL.
43556 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
43557 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
43558 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
43559 before calling FS->LABEL.
43560
141a288b 435612005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
43562
43563 * util/i386/pc/grub-install.in (datadir): New variable.
43564 (libdir): Removed.
43565 (pkgdatadir): New variable.
43566 (pkglibdir): Removed.
43567
0d5f8a54 435682005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
43569
43570 * DISTLIST: Added util/i386/pc/grub-install.in.
43571
43572 * util/i386/pc/grub-install.in: New file.
43573
43574 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
43575 (grub_install_SOURCES): Likewise.
43576
43577 * genmk.rb: Added support for scripts.
43578 (Script): New class.
43579 (scripts): New variable.
43580
43581 * Makefile.in (install-local): Install sbin_SCRIPTS by
43582 INSTALL_SCRIPT.
43583 (uninstall): Remove sbin_SCRIPTS.
43584
43585 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
43586 device, try to get a GRUB device by
43587 grub_util_biosdisk_get_grub_dev.
43588 Free DEST_DEV.
43589
43590 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
43591 description for --device-map.
43592
5f968e1e 435932005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
43594
43595 Change the semantics of variable hooks. They now return strings
43596 instead of error values.
f19dbdb7 43597
5f968e1e 43598 * util/i386/pc/grub-setup.c: Include grub/env.h.
43599 (setup): Use grub_device_set_root instead of grub_env_set.
43600
43601 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
43602 grub_env_get instead of grub_device_set_root and
43603 grub_device_get_root, respectively.
43604
43605 * kern/main.c (grub_env_write_root): New function.
43606 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
43607 grub_env_set instead of grub_device_set_root.
43608
43609 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
43610 many variables.
43611 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
43612 rather than calling ENV->WRITE_HOOK afterwards.
43613 (grub_env_get): Return the result of ENV->READ_HOOK rather than
43614 passing a pointer of a pointer.
43615 (grub_register_variable_hook): Change the types of "read_hook" and
43616 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
43617 respectively.
43618 Allocate the default empty string on the heap, because this string
43619 may be freed later.
43620
43621 * kern/device.c: Include grub/env.h.
43622 (grub_device_set_root): Removed.
43623 (grub_device_get_root): Likewise.
43624 (grub_device_open): Use grub_env_get instead of
43625 grub_device_get_root.
43626
43627 * include/grub/env.h (grub_env_read_hook_t): New type.
43628 (grub_env_write_hook_t): Likewise.
43629 (grub_env_var): Change the types of "read_hook" and "write_hook"
43630 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
43631 (grub_register_variable_hook): Likewise.
43632
43633 * include/grub/device.h (grub_device_set_root): Removed.
43634 (grub_device_set_root): Likewise.
43635
43636 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
43637 make sure that DIRNAME terminates with '/', so that
43638 grub_fat_find_dir will fail if PATH is not a directory.
43639
43640 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
43641 from DIRNAME.
43642 Use the qualifier auto for print_files and print_files_long.
43643 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
43644 as a regular file.
43645 Put a newline only if there is no error.
43646 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
43647 used.
43648
896f0afd 436492005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
43650
43651 * kern/partition.c (grub_partition_probe): Initialize PART to
43652 NULL. Otherwise, when no partition map is registered, this returns
43653 a garbage.
43654
b28b81b2 436552005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
43656
43657 * partmap/apple.c (apple_partition_map_iterate): Check if POS
43658 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
43659 valid.
43660
5f3607e0 436612005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
43662
43663 * commands/ls.c (grub_ls_list_disks): Print the filesystem
43664 information on each device, if it does not have partitions. Print
43665 "Device" instead of "Disk", because this function is not specific
43666 to disk devices.
43667
43668 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
43669 static to ensure that it is put on the memory rather than a
43670 register.
43671
502c87e8 436722005-07-17 Yoshinori Okuji <okuji@enbug.org>
43673
43674 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
43675 (grub_cat_init): Likewise.
43676 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
43677 (options): Likewise.
43678 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
43679 (grub_configfile_init): Likewise.
43680 * font/manager.c (GRUB_MOD_INIT): Likewise.
43681 * commands/help.c (GRUB_MOD_INIT): Likewise.
43682 (grub_help_init): Likewise.
43683 * normal/command.c (grub_command_init): Likewise.
43684 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
43685 * disk/loopback.c (grub_loop_init): Likewise.
43686 (GRUB_MOD_INIT): Likewise.
43687 * commands/ls.c (grub_ls_init): Likewise.
43688 (GRUB_MOD_INIT): Likewise.
43689 (options): Likewise.
43690 * commands/boot.c (grub_boot_init): Likewise.
43691 (GRUB_MOD_INIT): Likewise.
43692 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
43693 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
43694 (GRUB_MOD_INIT): Likewise.
43695 * commands/cmp.c (grub_cmp_init): Likewise.
43696 (GRUB_MOD_INIT): Likewise.
43697
43698 * normal/arg.c: Use <> instead of "" to include header files.
43699 (SHORT_ARG_HELP): New macro.
43700 (SHORT_ARG_USAGE): Likewise.
43701 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
43702 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
43703 descriptions.
43704 (find_short): Check if C is 'h' or 'u' explicitly.
43705 (grub_arg_show_help): Use space characters instead of tabs. Treat
43706 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
43707 are shown with --help and --usage only if they are not used for
43708 the command itself.
43709 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
43710 'h' and 'u'.
43711
43712 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
43713 const into "longarg". Change the type of "shortarg" to int.
43714
f806d18e 437152005-07-17 Yoshinori Okuji <okuji@enbug.org>
43716
43717 * boot/i386/pc/boot.S (boot_drive_check): New label.
43718
43719 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
43720 macro.
43721
43722 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
43723 which do not pass a boot drive correctly. Copied from GRUB Legacy.
43724
e293232b 437252005-07-17 Yoshinori Okuji <okuji@enbug.org>
43726
43727 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
43728 When turning off Gate A20, skip the check and return immediately,
43729 because this is not fatal usually.
43730
ebedfd00 437312005-07-17 Yoshinori Okuji <okuji@enbug.org>
43732
43733 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
43734 be 0x7C00 instead of 0x8000.
43735
43736 * boot/i386/pc/pxeboot.S: Rewritten.
43737
43738 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
43739 EXT_C.
43740 (gate_a20_check_state): Read a byte from 0x108000. Invert the
43741 result.
43742
654fc59f 437432005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
43744
43745 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
43746 robustness. This routine now supports a BIOS call and System
43747 Control Port A to modify the gate A20.
43748
43749 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
43750 Increased to 0x440.
43751
09f9923f 437522005-07-12 Hollis Blanchard <hollis@penguinppc.org>
43753
43754 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
43755 device path and resulting ihandle.
43756 (grub_ofdisk_close): dprintf the ihandle being closed.
43757 (grub_ofdisk_read): dprintf function parameters.
43758 * kern/mm.c (grub_mm_init_region): Likewise.
43759 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
43760 (grub_linux_boot): dprintf the Linux entry point, initrd address and
43761 size, and boot arguments.
43762 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
43763 before loading into memory.
43764 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
43765 before loading into memory.
43766
7ef504d8 437672005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
43768
43769 * kern/mm.c: Added much documentation.
43770 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
43771 8, set to 5 instead of 8.
43772
e0f050c2 437732005-07-10 Yoshinori Okuji <okuji@enbug.org>
43774
43775 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
43776
43777 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
43778 (grub_mkdevicemap_SOURCES): New variable.
43779
43780 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
43781 lib/device.c of GRUB Legacy.
43782
7224189a 437832005-07-10 Yoshinori Okuji <okuji@enbug.org>
43784
43785 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
43786 instead of PATH is NULL.
43787
68c864eb 437882005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
43789
43790 * commands/cmp.c (BUFFER_SIZE): New macro.
43791 (grub_cmd_cmp): Close the right file at the right time. Compare
43792 only data just read. Don't report files of different size as
43793 identical. Dynamically allocate buffers. Move variable
43794 declarations at the beginning of function.
43795
e6f3e614 437962005-07-09 Yoshinori Okuji <okuji@enbug.org>
43797
43798 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
43799 reverse.
43800
f8f1559a 438012004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
43802
43803 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
43804 when backspace is pressed at beginning of line.
43805
39c9d41d 438062005-07-03 Yoshinori Okuji <okuji@enbug.org>
43807
43808 * DISTLIST: Added genfslist.sh.
43809
43810 * normal/main.c (fs_module_list): New variable.
43811 (autoload_fs_module): New function.
43812 (read_fs_list): Likewise.
43813 (grub_normal_execute): Call read_fs_list.
43814
43815 * kern/fs.c (grub_fs_autoload_hook): New variable.
43816 (grub_fs_probe): Added support for auto-loading.
43817
43818 * include/grub/normal.h (struct grub_fs_module_list): New struct.
43819 (grub_fs_module_list_t): New type.
43820
43821 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
43822 (grub_fs_autoload_hook): New prototype.
43823
43824 * genfslist.sh: New file.
f19dbdb7 43825
39c9d41d 43826 * genmk.rb: Added a rule to generate a filesystem list.
43827
121c1d83 438282005-06-30 Marco Gerards <metgerards@student.han.nl>
43829
43830 * configure.ac: Fix the test for cross-compiling.
43831
43832 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
43833 define GRUB_UTIL anymore.
43834
43835 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
43836 so this function works on other systems than just big endian.
43837 (load_modules): Likewise.
43838 (add_segments): Likewise.
43839
e75d76e1 438402005-06-23 Hollis Blanchard <hollis@penguinppc.org>
43841
43842 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
43843 contains `l' modifier, get a long from va_arg().
43844
50b5a0a7 438452005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
43846
43847 * kern/mm.c (grub_free): If the next free block which is being
43848 merged is the first free block, set the first block to the block
43849 being freed.
43850 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
43851
89371b20 438522005-05-08 Hollis Blanchard <hollis@penguinppc.org>
43853
43854 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
43855 `grub_ieee1275_chosen'.
43856
168d6e58 438572005-05-08 Hollis Blanchard <hollis@penguinppc.org>
43858
43859 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
43860 (grub_ieee1275_chosen): New variable.
43861 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
43862 `chosen'.
43863 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
43864 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
43865 Rename first argument to `phandle' for consistency.
43866 (grub_ieee1275_get_property_length): Likewise.
43867 (grub_ieee1275_next_property): Likewise. Change type of first argument
43868 to grub_ieee1275_phandle_t.
43869 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
43870 Move export next to declaration.
43871 (grub_ieee1275_chosen): New variable.
43872 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
43873 Correct cosmetic typo.
43874 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
43875 `grub_ieee1275_chosen'.
43876 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
43877 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
43878 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
43879 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
43880 `grub_ieee1275_chosen'.
43881
ca5baa3f 438822005-05-10 Hollis Blanchard <hollis@penguinppc.org>
43883
43884 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
43885 /chosen/bootargs.
43886 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
43887 /chosen/bootargs as "variable=value" pairs.
43888
708b345f 438892005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
43890
43891 * include/grub/misc.h (grub_dprintf): New macro.
43892 (grub_real_dprintf): New prototype.
43893 (grub_strword): Likewise.
43894 (grub_iswordseparator): Likewise.
43895 * kern/misc.c (grub_real_dprintf): New function.
43896 (grub_strword): Likewise.
43897 (grub_iswordseparator): Likewise.
43898
f4c5e67c 438992005-04-30 Hollis Blanchard <hollis@penguinppc.org>
43900
43901 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
43902 (roundup): Remove macro.
43903 (grub_ieee1275_flags): Make static.
43904 (grub_ieee1275_realmode): Remove.
43905 (grub_ieee1275_test_flag): New function.
43906 (grub_ieee1275_set_flag): Likewise.
43907 (find_options): Rename to `grub_ieee1275_find_options'; update
43908 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
43909 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
43910 (cmain): New prototype.
43911 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
43912 `grub_ieee1275_flags' directly.
43913 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
43914 machine/biosdisk.h.
43915 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
43916 Don't include grub/machine/init.h.
43917 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
43918 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
43919 Remove prototype.
43920 (grub_ieee1275_realmode): Likewise.
43921 (grub_ieee1275_flag): New enum.
43922 (grub_ieee1275_test_flag): New prototype.
43923 (grub_ieee1275_set_flag): New prototype.
43924 * include/grub/powerpc/ieee1275/init.h: Remove file.
43925 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
43926 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
43927 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
43928 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
43929 comment.
43930 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
43931 `grub_ieee1275_test_flag'.
43932 (grub_ieee1275_encode_devname): Likewise.
43933
ed16607e 439342005-04-21 Hollis Blanchard <hollis@penguinppc.org>
43935
43936 * include/grub/powerpc/ieee1275/ieee1275.h
43937 (grub_ieee1275_encode_devname): New prototype.
43938 (grub_ieee1275_get_filename): Likewise.
43939 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
43940 function.
43941 (grub_set_prefix): Likewise.
43942 (grub_machine_init): Call grub_set_prefix.
43943 * kern/powerpc/ieee1275/openfw.c: Fix typos.
43944 (grub_parse_type): New enum.
43945 (grub_ieee1275_get_devargs): New function.
43946 (grub_ieee1275_get_devname): Likewise.
43947 (grub_ieee1275_parse_args): Likewise.
43948 (grub_ieee1275_get_filename): Likewise.
43949 (grub_ieee1275_encode_devname): Likewise.
43950
be369920 439512005-03-30 Marco Gerards <metgerards@student.han.nl>
43952
43953 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
43954 `grub_loader_unset'.
43955
a5ce3a4a 439562005-03-26 Hollis Blanchard <hollis@penguinppc.org>
43957
43958 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
43959 instead of grub_ieee1275_interpret.
43960 (grub_halt_init): New function.
43961 (grub_halt_fini): Likewise.
43962 (GRUB_MOD_INIT): Correct message grammar.
43963 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
43964 instead of grub_ieee1275_interpret.
43965 (grub_reboot_init): New function.
43966 (grub_reboot_fini): Likewise.
43967 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
43968 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
43969 util/i386/pc/misc.c with commands/ieee1275/halt.c,
43970 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
43971 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
43972 function.
43973 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
43974 Add prototype.
43975 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
43976 prototype.
43977 (grub_halt): Likewise.
43978 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
43979 (cmain): Remove __attribute__((unused)).
43980 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
43981 (grub_heap_len): Likewise.
43982 (grub_machine_fini): New function.
43983 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
43984 (grub_halt): Likewise.
43985 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
43986 function.
43987 * util/powerpc/ieee1275/misc.c: New file.
43988
0058f771 439892005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
43990
43991 * DISTLIST: New file.
43992 * gendistlist.sh: Likewise.
f19dbdb7 43993
0058f771 43994 * Makefile.in (COMMON_DISTFILES): Removed.
43995 (BOOT_DISTFILES): Likewise.
43996 (CONF_DISTFILES): Likewise.
43997 (DISK_DISTFILES): Likewise.
43998 (FS_DISTFILES): Likewise.
43999 (INCLUDE_DISTFILES): Likewise.
44000 (KERN_DISTFILES): Likewise.
44001 (LOADER_DISTFILES): Likewise.
44002 (TERM_DISTFILES): Likewise.
44003 (UTIL_DISTFILES): Likewise.
44004 (DISTFILES): Likewise.
44005 (uninstall): Uninstall files in $(pkgdata_DATA).
44006 (DISTLIST): New target.
44007 (distdir): Use the contents of the file DISTLIST to get a list of
44008 distributed files.
44009
46b3b8a5 440102005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
44011
44012 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
44013 descriptor. This is ported from GRUB Legacy.
44014
44015 * gencmdlist.sh: Added an extra semicolon to make it work with
44016 old sed versions. Reported by Robert Bihlmeyer
44017 <robbe@orcus.priv.at>.
44018
5822ff87 440192005-03-08 Yoshinori Okuji <okuji@enbug.org>
44020
44021 Automatic loading of commands is supported.
f19dbdb7 44022
5822ff87 44023 * normal/main.c (read_command_list): New function.
44024 (grub_normal_execute): Call read_command_list.
44025
44026 * normal/command.c (grub_register_command): Return zero or CMD.
44027 Allocate CMD->NAME from the heap.
44028 Initialize CMD->MODULE_NAME to zero.
44029 Find the same name as well. If the same command is found and it is
44030 a dummy command, overwrite members. If it is not a dummy command,
44031 return zero.
44032 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
44033 (grub_command_find): If a dummy command is found, load a module
44034 and retry to find a command only once.
44035
44036 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
44037 make sure that each command is loaded.
44038
44039 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
44040 macro.
44041 (struct grub_command): Remove const from the member `name'.
44042 Add a new member `module_name'.
44043 (grub_register_command): Return grub_command_t.
44044
44045 * commands/help.c (grub_cmd_help): Call grub_command_find to make
44046 sure that each command is loaded.
44047
44048 * genmk.rb (PModule::rule): Specify a module name without the
44049 suffix ".mod" to gencmdlist.sh.
44050
7b1f4b57 440512005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
44052
44053 * gencmdlist.sh: New file.
f19dbdb7 44054
7b1f4b57 44055 * genmk.rb (PModule::rule): Generate a rule for a command list.
44056 Clean command.lst.
44057 Generate command.lst from $(COMMANDFILES).
44058
44059 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
44060 (DATA): Added $(pkgdata_DATA).
44061 (install-local): Install files in $(pkgdata_DATA).
44062
062aaf39 440632005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
44064
44065 * term/i386/pc/vga.c (debug_command): Removed.
44066 (GRUB_MOD_INIT): Do not register the command "debug".
44067
44068 From Hollis Blanchard:
44069 * commands/configfile.c: New file.
44070 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44071 commands/configfile.c.
44072 (pkgdata_MODULES): Added configfile.mod.
44073 (configfile_mod_SOURCES): New variable.
44074 (configfile_mod_CFLAGS): Likewise.
44075 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
44076 commands/configfile.c.
44077 (pkgdata_MODULES): Added configfile.mod.
44078 (configfile_mod_SOURCES): New variable.
44079 (configfile_mod_CFLAGS): Likewise.
44080 * util/grub-emu.c (main): Call grub_configfile_init and
44081 grub_configfile_fini.
44082 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
44083 prototype.
44084 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 44085
cee01aa6 440862005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
44087
44088 * normal/arg.c (grub_arg_show_help): Do not show the bug report
44089 address.
44090
44091 * commands/help.c (grub_cmd_help): Do not print newlines after
44092 the last command in print_command_help.
44093
93f3a1d8 440942005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
44095
44096 * commands/default.h: New file.
44097 * commands/timeout.h: Likewise.
44098 * normal/context.c: Likewise.
f19dbdb7 44099
93f3a1d8 44100 * util/misc.c: Do not include sys/times.h.
44101 Include sys/time.h and grub/machine/time.h.
44102 (grub_get_rtc): Rewritten with gettimeofday.
44103
44104 * util/grub-emu.c (main): Call grub_default_init and
44105 grub_timeout_init before grub_normal_init, and call
44106 grub_timeout_fini and grub_default_fini after grub_main.
44107
44108 * util/console.c (grub_ncurses_checkkey): Return the read
44109 character or -1.
44110
44111 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
44112 timeouts.
44113
44114 * normal/main.c (read_config_file): Push MENU. If this fails,
44115 print an error and wait for a user input.
44116 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
44117 If a menu is empty or an error occurs, pop MENU.
44118 (grub_normal_execute): Pop and free MENU after grub_menu_run
44119 returns.
44120
44121 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
44122
44123 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
44124 include time.h.
44125 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
44126 without GRUB_UTIL.
44127 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
44128 time.h.
44129 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
44130 without GRUB_UTIL.
44131
44132 * include/grub/normal.h (struct grub_menu_list): New struct.
44133 (grub_menu_list_t): New type.
44134 (struct grub_context): New struct.
44135 (grub_context_t): New type.
44136 (grub_register_command): Got rid of EXPORT_FUNC.
44137 (grub_unregister_command): Likewise.
44138 (grub_context_get): New prototype.
44139 (grub_context_get_current_menu): Likewise.
44140 (grub_context_push_menu): Likewise.
44141 (grub_context_pop_menu): Likewise.
44142 [GRUB_UTIL] (grub_default_init): Likewise.
44143 [GRUB_UTIL] (grub_default_fini): Likewise.
44144 [GRUB_UTIL] (grub_timeout_init): Likewise.
44145 [GRUB_UTIL] (grub_timeout_fini): Likewise.
44146
44147 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
44148 commands/timeout.c and normal/context.c.
44149 (pkgdata_MODULES): Added default.mod and timeout.mod.
44150 (normal_mod_SOURCES): Added normal/context.c.
44151 (default_mod_SOURCES): New variable.
44152 (default_mod_CFLAGS): Likewise.
44153 (timeout_mod_SOURCES): Likewise.
44154 (timeout_mod_CFLAGS): Likewise.
44155 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
44156 conf/i386-pc.rmk.
44157 (pkgdata_MODULES): Added default.mod and timeout.mod.
44158 (normal_mod_SOURCES): Added normal/context.c.
44159 (default_mod_SOURCES): New variable.
44160 (default_mod_CFLAGS): Likewise.
44161 (timeout_mod_SOURCES): Likewise.
44162 (timeout_mod_CFLAGS): Likewise.
44163
44164 * Makefile.in (all-local): Added $(MKFILES).
44165
4ed2e1dd 441662005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
44167
44168 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
44169 (grub_emu_SOURCES): Likewise.
44170 (pkgdata_MODULES): Add `sun.mod'.
44171 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
44172 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44173 `partmap/sun.c'.
44174 (pkgdata_MODULES): Add `sun.mod'.
44175 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
44176 * include/grub/partition.h (grub_sun_partition_map_init): New
44177 prototype.
44178 (grub_sun_partition_map_fini): Likewise.
44179 * partmap/sun.c: New file.
44180 * util/grub-emu.c (main): Initialize and de-initialize the sun
44181 partitionmap support.
44182
4d4e372e 441832005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
44184
44185 This implements an Emacs-like menu entry editor.
f19dbdb7 44186
4d4e372e 44187 * normal/menu_entry.c: New file.
f19dbdb7 44188
4d4e372e 44189 * util/console.c (grub_ncurses_putchar): Translate some Unicode
44190 characters to ASCII.
44191 (saved_char): New variable.
44192 (grub_ncurses_checkkey): Rewritten completely.
44193 (grub_ncurses_getkey): Likewise.
44194 (grub_ncurses_init): Call raw instead of cbreak.
44195
44196 * normal/menu.c (print_entry): Do not put a space.
44197 (init_page): Renamed to ...
44198 (grub_menu_init_page): ... this. All callers changed.
44199 (edit_menu_entry): Removed.
44200 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
44201
44202 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
44203
44204 * kern/misc.c (grub_vprintf): Call grub_refresh.
44205
44206 * normal/menu.c (DISP_LEFT): Renamed to ...
44207 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
44208 * normal/menu.c (DISP_UP): Renamed to ...
44209 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
44210 * normal/menu.c (DISP_RIGHT): Renamed to ...
44211 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
44212 * normal/menu.c (DISP_DOWN): Renamed to ...
44213 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
44214 * normal/menu.c (DISP_HLINE): Renamed to ...
44215 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
44216 * normal/menu.c (DISP_VLINE): Renamed to ...
44217 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
44218 * normal/menu.c (DISP_UL): Renamed to ...
44219 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
44220 * normal/menu.c (DISP_UR): Renamed to ...
44221 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
44222 * normal/menu.c (DISP_LL): Renamed to ...
44223 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
44224 * normal/menu.c (DISP_LR): Renamed to ...
44225 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
44226 * normal/menu.c (TERM_WIDTH): Renamed to ...
44227 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
44228 * normal/menu.c (TERM_HEIGHT): Renamed to ...
44229 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
44230 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
44231 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
44232 * normal/menu.c (TERM_MARGIN): Renamed to ...
44233 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
44234 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
44235 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
44236 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
44237 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
44238 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
44239 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
44240 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
44241 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
44242 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
44243 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
44244 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
44245 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
44246 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
44247 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
44248 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
44249 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
44250 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
44251 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
44252 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
44253 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
44254 All callers changed.
44255
44256 * include/grub/normal.h: New prototype.
44257
44258 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44259 normal/menu_entry.c.
44260 (normal_mod_SOURCES): Likewise.
44261 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44262 (normal_mod_SOURCES): Likewise.
44263
e6b92c8a 442642005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
44265
44266 * include/grub/normal.h (grub_halt_init): New prototype.
44267 (grub_halt_fini): Likewise.
44268 (grub_reboot_init): Likewise.
44269 (grub_reboot_fini): Likewise.
44270
44271 * util/grub-emu.c: Include signal.h.
44272 (main_env): New global variable.
44273 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
44274 catch C-c.
44275 (grub_machine_fini): New function.
44276 (main): Call grub_halt_init and grub_reboot_init before
44277 grub_main, and grub_reboot_fini and grub_halt_fini after it.
44278 Call setjmp with MAIN_ENV to go back afterwards.
44279 Call grub_machine_fini right before return.
44280
44281 * include/grub/util/misc.h: Include setjmp.h.
44282 (main_env): New prototype.
44283
44284 * include/grub/kernel.h (grub_machine_fini): New prototype.
44285 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
44286 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
44287
44288 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
44289 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
44290 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 44291
e6b92c8a 44292 * util/i386/pc/misc.c: New file.
f19dbdb7 44293
e6b92c8a 44294 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44295 util/i386/pc/misc.c, commands/i386/pc/halt.c and
44296 commands/i386/pc/reboot.c.
44297
c642636f 442982005-02-14 Guillem Jover <guillem@hadrons.org>
44299
44300 * include/grub/dl.h (grub_dl_check_header): New prototype.
44301 (grub_arch_dl_check_header): Change return type to grub_err_t,
44302 remove size parameter and export function. Update all callers.
44303 * kern/dl.c (grub_dl_check_header): New function.
44304 (grub_dl_load_core): Use `grub_dl_check_header' instead of
44305 `grub_arch_dl_check_header'. Check ELF type. Check if sections
44306 are inside the core.
44307 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
44308 independent ELF header checks.
44309 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
44310 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
44311 `grub_dl_check_header' instead of explicit checks. Check for the
44312 ELF type.
44313 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
44314 `grub_dl_check_header' instead of explicit checks. Remove arch
44315 specific ELF header checks.
44316
e6b92c8a 44317 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
44318 argument SIZE.
44319
5eabe94b 443202005-02-13 Hollis Blanchard <hollis@penguinppc.org>
44321
44322 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
44323 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
44324
1b14a681 443252005-02-12 Hollis Blanchard <hollis@penguinppc.org>
44326
44327 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 44328 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 44329 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 44330 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 44331 * partmap/amiga.c (amiga_partition_map_iterate): Return
44332 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
44333 * partmap/apple.c (apple_partition_map_iterate): Likewise.
44334
aca108aa 443352005-02-01 Guillem Jover <guillem@hadrons.org>
44336
44337 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
44338 help info.
44339
c9f9c556 443402005-01-31 Marco Gerards <metgerards@student.han.nl>
44341
44342 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
44343 Removed prototype.
44344 (grub_rescue_cmd_linux): New prototype.
44345 (grub_rescue_cmd_initrd): Likewise.
44346 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
44347 `bi_rec'.
44348 (grub_linux_release_mem): Release the memory for the initrd.
44349 (grub_load_linux): Renamed from this...
44350 (grub_rescue_cmd_linux): ...To this. Changed all callers.
44351 Changed `entry' not to be static. Loop over memory regions to
44352 find another one when the default fails.
44353 (grub_rescue_cmd_initrd): New function.
44354 (grub_linux_init): Remove function.
44355 (grub_linux_fini): Likewise.
44356 (GRUB_MOD_INIT): Register `initrd'.
44357 (GRUB_MOD_FINI): Unregister `initrd'.
44358 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
44359 Function removed.
44360 (grub_linux_normal_fini): Likewise.
44361 (GRUB_MOD_INIT): Register `initrd'.
44362 (GRUB_MOD_FINI): Unregister `initrd'.
44363
990cf3aa 443642005-01-31 Marco Gerards <metgerards@student.han.nl>
44365
44366 * commands/help.c: New file.
44367 * normal/arg.c (show_help): Renamed to...
44368 (grub_arg_show_help): ... this.
44369 * commands/i386/pc/halt.c: New file.
44370 * commands/i386/pc/reboot.c: Likewise.
44371 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
44372 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
44373 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
44374 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
44375 variables.
44376 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44377 `commands/help.c'.
44378 (pkgdata_MODULES): Add `help.mod'.
44379 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
44380 * grub/i386/pc/init.h (grub_reboot): New prototype.
44381 (grub_halt): Likewise.
44382 * include/grub/normal.h (grub_arg_show_help): New prototype.
44383 (grub_help_init): Likewise.
44384 (grub_help_fini): Likewise.
44385 * util/grub-emu.c (main): Initialize and deinitialize the help
44386 command.
44387
44388 * normal/cmdline.c (grub_cmdline_get): Doc fix.
44389
44390 * normal/command.c (grub_command_init): Fixed the description of
44391 the `set' and `unset' commands.
44392
443932005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 44394
44395 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
44396 function.
44397 * commands/ieee1275/halt.c: New file.
44398 * commands/ieee1275/reboot.c: Likewise.
44399 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
44400 `__attribute__ ((unused))'. Some GCS related fixed.
44401 (grub_suspend_init) [GRUB_UTIL]: Function removed.
44402 (grub_suspend_fini): Likewise.
44403 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
44404 and `halt.mod'.
44405 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
44406 (halt_mod_CFLAGS): New variables.
44407 * include/grub/powerpc/ieee1275/ieee1275.h
44408 (grub_ieee1275_interpret): New prototype.
44409
1ab09cc7 444102005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
44411
44412 * include/grub/misc.h (memmove): New prototype.
44413 (memcpy): Likewise.
44414
8b8cbdb2 444152005-01-22 Hollis Blanchard <hollis@penguinppc.org>
44416
44417 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
44418 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
44419
e3741a27 444202005-01-22 Marco Gerards <metgerards@student.han.nl>
44421
44422 * kern/misc.c (grub_strndup): Function rewritten.
44423
776bd780 444242005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
44425
44426 * normal/menu.c (TERM_WIDTH): Macro redefined.
44427 (TERM_TOP_BORDER_Y): Likewise.
44428 (draw_border): Replaced while-loop by a for-loop. Make the number
44429 of lines consistent with the number of lines displayed in
44430 print_entries. Added a margin below the rectangle.
44431 (print_entry): Make the entry fit in the rectangle.
44432 (print_entries): Display the scroll arrows next to the right
44433 border.
44434
78026bce 444352005-01-21 Marco Gerards <metgerards@student.han.nl>
44436
44437 * fs/minix.c (grub_minix_find_file): Reserve more space for
44438 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
44439 `grub_strncpy' to copy `path' into it.
44440
67bbaf0f 444412005-01-21 Marco Gerards <metgerards@student.han.nl>
44442
44443 Add the loopback device, a device via which files can be accessed
44444 as devices.
f19dbdb7 44445
67bbaf0f 44446 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
44447 (pkgdata_MODULES): Add loopback.mod.
44448 (loopback_mod_SOURCES): New variable.
44449 (loopback_mod_CFLAGS): Likewise.
44450 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44451 `disk/loopback.c'.
44452 (pkgdata_MODULES): Add loopback.mod.
44453 (loopback_mod_SOURCES): New variable.
44454 (loopback_mod_CFLAGS): Likewise.
44455 * disk/loopback.c: new file.
44456 * include/grub/normal.h (grub_loop_init): New prototype.
44457 (grub_loop_fini): New prototype.
44458 * util/grub-emu.c (main): Initialize and de-initialize loopback
44459 support.
44460 * include/grub/disk.h (grub_disk_dev_id): Add
44461 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
44462
6f1c18bd 444632005-01-20 Hollis Blanchard <hollis@penguinppc.org>
44464
44465 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
44466 function.
44467 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
44468 (suspend_mod_SOURCES): New variable.
44469 (suspend_mod_CFLAGS): Likewise.
44470 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
44471 New prototype.
44472 * commands/ieee1275/suspend.c: New file.
44473
b38551da 444742005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44475
44476 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 44477 ((unused))' to `__attribute__ ((used))'.
b38551da 44478 (GRUB_MOD_FINI): Likewise.
44479 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
44480 * genmk.rb (PModule): Assign space to common symbols when linking
44481 modules.
44482
777aff39 444832005-01-20 Marco Gerards <metgerards@student.han.nl>
44484
44485 * include/grub/mm.h (grub_mm_init_region): Change the type of the
44486 `unsigned' arguments to `grub_size_t'.
44487 (grub_malloc): Likewise.
44488 (grub_realloc): Likewise.
44489 (grub_memalign): Likewise.
44490 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
44491 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
44492 * util/misc.c (grub_malloc): Likewise.
44493 (grub_realloc): Likewise.
44494 * kern/mm.c (get_header_from_pointer): Change the casts to
44495 `unsigned' into a cast to `grub_size_t'.
44496
44497 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
44498 point to `currnode' when `currnode' is changed.
44499
44500 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
44501 Schottelius <nico-linux@schottelius.org>.
44502
d0ff18e1 445032005-01-09 Hollis Blanchard <hollis@penguinppc.org>
44504
44505 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
44506 (note_path): Remove variable.
44507 (GRUB_IEEE1275_NOTE_NAME): New macro.
44508 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
44509 (grub_ieee1275_note_hdr): New structure.
44510 (grub_ieee1275_note_desc): Likewise.
44511 (grub_ieee1275_note): Likewise.
44512 (load_note): Remove `dir' argument. All callers updated. Remove
44513 `note_img' and `path'. Do not load a file from `note_path'.
44514 Initialize a struct grub_ieee1275_note and write that to `out'.
44515 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
44516
4ca7004c 445172005-01-05 Marco Gerards <metgerards@student.han.nl>
44518
44519 * util/misc.c (grub_util_read_image): Revert last change. It
44520 called `grub_util_read_at', which seeks from the beginning of the
44521 file.
44522
0b412211 445232005-01-04 Hollis Blanchard <hollis@penguinppc.org>
44524
44525 * TODO: Add note about endianness in grub-mkimage.
44526 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
44527 section.
44528 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
44529 (grub_mkimage_SOURCES): New target.
44530 * include/grub/kernel.h (grub_start_addr): Remove variable.
44531 (grub_end_addr): Likewise.
44532 (grub_total_module_size): Likewise.
44533 (grub_kernel_image_size): Likewise.
44534 (GRUB_MODULE_MAGIC): New constant.
44535 (grub_module_info): New structure.
44536 (grub_arch_modules_addr): New prototype.
44537 (grub_get_end_addr): Remove prototype.
44538 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
44539 * include/grub/powerpc/ieee1275/kernel.h: New file.
44540 * include/grub/util/misc.h (grub_util_get_fp_size): New
44541 prototype.
44542 (grub_util_read_at): Likewise.
44543 (grub_util_write_image_at): Likewise.
44544 * kern/main.c (grub_get_end_addr): Remove function.
44545 (grub_load_modules): Call grub_arch_modules_addr instead of using
44546 grub_end_addr. Look for a grub_module_info struct in memory. Use
44547 the grub_module_info fields instead of calling grub_get_end_addr
44548 as loop conditions. Move grub_add_unused_region code here.
44549 (grub_add_unused_region): Remove function.
44550 * kern/i386/pc/init.c: Include grub/cache.h.
44551 (grub_machine_init): Remove call to grub_get_end_addr. Remove
44552 one call to add_mem_region.
44553 (grub_arch_modules_addr): New function.
44554 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
44555 (grub_total_module_size): Likewise.
44556 Include grub/machine/kernel.h.
44557 (grub_arch_modules_addr): New function.
44558 * util/grub-emu.c (grub_end_addr): Remove variable.
44559 (grub_total_module_size): Likewise.
44560 (grub_arch_modules_addr): New function.
44561 * util/misc.c: Include unistd.h.
44562 (grub_util_get_fp_size): New function.
44563 (grub_util_read_at): Likewise.
44564 (grub_util_write_image_at): Likewise.
44565 (grub_util_read_image): Call grub_util_read_at.
44566 (grub_util_write_image): Call grub_util_write_image_at.
44567 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
44568 additional memory in kernel_img for a struct grub_module_info.
44569 Fill in that grub_module_info.
44570 * util/powerpc/ieee1275/grub-mkimage.c: New file.
44571
458786f8 445722005-01-03 Hollis Blanchard <hollis@penguinppc.org>
44573
44574 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
44575 New function.
44576 * include/grub/powerpc/ieee1275/ieee1275.h
44577 (grub_ieee1275_milliseconds): New prototype.
44578 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
44579 Change to 1000.
44580 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
44581 grub_ieee1275_milliseconds.
44582
ac507d1b 445832005-01-03 Hollis Blanchard <hollis@penguinppc.org>
44584
44585 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
44586 variable.
44587 (find_options): New function.
44588 (cmain): Call find_options.
44589 * include/grub/powerpc/ieee1275/ieee1275.h
44590 (grub_ieee1275_realmode): New extern variable.
44591 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
44592 grub_map if grub_ieee1275_realmode is false.
44593
6b8fd1c4 445942004-12-29 Marco Gerards <metgerards@student.han.nl>
44595
44596 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
44597 lines are inserted and make it work like readline. Reported by
44598 Vincent Pelletier <subdino2004@yahoo.fr>.
44599
8514a1e0 446002004-12-28 Marco Gerards <metgerards@student.han.nl>
44601
44602 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
44603
44604 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
44605 `kern/powerpc/cache.S'.
44606
924b6140 446072004-12-27 Marco Gerards <metgerards@student.han.nl>
44608
44609 * genmk.rb: Handle the `Program' class in the main loop. Written
44610 by Johan Rydberg <jrydberg@gnu.org>.
44611 (Program): New class.
44612 (programs): New variable.
44613 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
44614 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
44615 instead of "grub/kernel.h". Include <grub/machine/init.h>.
44616 (help_arch): Function removed.
44617 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
44618 `powerpc/libgcc.h' and `loader.h'.
44619 (pkgdata_PROGRAMS): New variable.
44620 (sbin_UTILITIES): Variable removed.
44621 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
44622 (grubof_SOURCES): Variable re-defined so it only includes the
44623 core functionality.
44624 (grubof_CFLAGS): Remove `-DGRUBOF'.
44625 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
44626 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
44627 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
44628 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
44629 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
44630 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
44631 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
44632 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
44633 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
44634 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
44635 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
44636 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
44637 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
44638 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
44639 (pc_mod_CFLAGS): New variables.
44640 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
44641 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
44642 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
44643 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
44644 Moved from here...
44645 * include/grub/i386/pc/init.h (grub_os_area_addr)
44646 (rub_os_area_size): ... to here.
44647 * include/grub/powerpc/ieee1275/ieee1275.h
44648 (grub_ieee1275_entry_fn): Export symbol.
44649 * include/grub/powerpc/ieee1275/init.h: New file.
44650 * include/grub/powerpc/libgcc.h: Likewise.
44651 * include/grub/cache.h: Likewise.
44652 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
44653 <hollis@penguinppc.org>.
44654 * kern/dl.c: Include <grub/cache.h>.
44655 (grub_dl_flush_cache): New function.
44656 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
44657 for this module.
44658 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
44659 (grub_console_init): Removed prototypes.
44660 (grub_machine_init): Don't initialize the modules anymore.
44661 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
44662 static.
44663 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
44664 Macro undef removed.
44665 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
44666 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
44667 relocation `R_PPC_REL32'. Return an error when the relocation is
44668 unknown.
44669 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
44670 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
44671 * util/misc.c (grub_arch_sync_caches): Likewise.
44672
e4b47e0c 446732004-12-19 Marco Gerards <metgerards@student.han.nl>
44674
44675 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
44676 `symlist.c', add `grubof_symlist.c'.
44677 (symlist.c): Variable removed.
44678 (grubof_HEADERS): Variable added.
44679 (grubof_symlist.c): New target.
44680 (kernel_syms.lst): Use `grubof_HEADERS' instead of
44681 `kernel_img_HEADERS'.
44682 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
44683 * kern/powerpc/dl.c: New file.
44684 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
44685 Function removed.
44686 (grub_arch_dl_relocate_symbols): Likewise.
44687 (grub_register_exported_symbols): Likewise.
44688
4ceb3636 446892004-12-13 Marco Gerards <metgerards@student.han.nl>
44690
44691 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
44692 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
44693 to fail instead. Reported by Vincent Pelletier
44694 <subdino2004@yahoo.fr>.
44695
44696 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
44697 it is not allocated. Reported by Vincent Pelletier
44698 <subdino2004@yahoo.fr>.
44699
44700 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
44701 output so the output looks better.
f19dbdb7 44702
3f1578fe 447032004-12-04 Marco Gerards <metgerards@student.han.nl>
44704
44705 Modulize the partition map support and add support for the amiga
44706 partition map.
f19dbdb7 44707
3f1578fe 44708 * commands/ls.c: Include <grub/partition.h> instead of
44709 <grub/machine/partition.h>.
44710 * kern/disk.c: Likewise.
44711 * kern/rescue.c: Likewise.
44712 * loader/i386/pc/chainloader.c: Likewise.
44713 * normal/cmdline.c: Likewise.
44714 * kern/powerpc/ieee1275/init.c: Likewise.
44715 (grub_machine_init): Call `grub_pc_partition_map_init',
44716 `grub_amiga_partition_map_init' and
44717 `grub_apple_partition_map_init'.
44718 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
44719 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
44720 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
44721 `partition.h' and `pc_partition.h'.
44722 (grub_setup_SOURCES): Remove
44723 `disk/i386/pc/partition.c'. Add `kern/partition.c',
44724 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
44725 (grub_emu_SOURCES): Likewise.
44726 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
44727 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
44728 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
44729 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
44730 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
44731 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
44732 (grubof_SOURCES): Likewise.
44733 * disk/i386/pc/partition.c: File removed.
44734 * disk/powerpc/ieee1275/partition.c: Likewise.
44735 * include/grub/powerpc/ieee1275/partition.h: Likewise.
44736 * include/grub/i386/pc/partition.h: Likewise.
44737 * kern/partition.c: New file.
44738 * partmap/amiga.c: Likewise.
44739 * partmap/apple.c: Likewise.
44740 * partmap/pc.c: Likewise.
44741 * include/grub/partition.h: Likewise..
44742 * include/grub/pc_partition.h: Likewise.
44743 * util/grub-emu.c: Include <grub/partition.h> instead of
44744 <grub/machine/partition.h>.
44745 (main): Call `grub_pc_partition_map_init',
44746 `grub_amiga_partition_map_init' and
44747 `grub_apple_partition_map_init' and deinitialize afterwards.
44748 * util/i386/pc/biosdisk.c: Include `#include
44749 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
44750 `<grub/machine/partition.h>'.
44751 * util/i386/pc/grub-setup.c: Likewise.
44752 * util/i386/pc/biosdisk.c: Likewise.
44753 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
44754 partition information in case of a PC partition.
44755 * util/i386/pc/grub-setup.c: Include `#include
44756 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
44757 `<grub/machine/partition.h>'.
44758 (setup): Only access the PC specific partition information in case
44759 of a PC partition.
44760
0ef4ced9 447612004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 44762
0ef4ced9 44763 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
44764 (grub_longjmp): Likewise.
44765 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
44766 20.
44767 * normal/powerpc/setjmp.S: New file.
44768 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
44769 `normal/powerpc/setjmp.S'.
44770 (grubof_CFLAGS): Add `-DGRUBOF'.
44771 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
44772 [GRUB_UTIL && !GRUBOF].
f19dbdb7 44773
19950e29 447742004-11-16 Marco Gerards <metgerards@student.han.nl>
44775
44776 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
44777 property named `name'. Correctly handle the error returned by
44778 `grub_ieee1275_finddevice' if a device can not be opened.
44779
a2fea427 447802004-11-02 Hollis Blanchard <hollis@penguinppc.org>
44781
44782 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
44783 `actual' for negativity.
44784 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
44785 kern/fshelp.c.
44786
41ea0ea3 447872004-11-01 Marco Gerards <metgerards@student.han.nl>
44788
44789 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
44790 (PAGE_OFFSET): New macro.
44791 (CRTC_ADDR_PORT): Likewise.
44792 (CRTC_DATA_PORT): Likewise.
44793 (START_ADDR_HIGH_REGISTER): Likewise.
44794 (START_ADDR_LOW_REGISTER): Likewise.
44795 (GRAPHICS_ADDR_PORT): Likewise.
44796 (GRAPHICS_DATA_PORT): Likewise.
44797 (READ_MAP_REGISTER): Likewise.
44798 (INPUT_STATUS1_REGISTER): Likewise.
44799 (INPUT_STATUS1_VERTR_BIT): Likewise.
44800 (page): New variable.
44801 (wait_vretrace): New function.
44802 (set_read_map): Likewise.
44803 (set_start_address): Likewise.
44804 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
44805 the right page.
44806 (check_vga_mem): Take the page into account.
44807 (write_char): Likewise.
44808 (write_cursor): Likewise.
44809 (scroll_up): Likewise. Copy the page to the page that is not
44810 shown and switch between both pages.
44811 (grub_vga_putchar): Fix off by one error.
44812 (grub_vga_cls): Wait for the vertical retrace. Take the page into
44813 account.
44814
ad0bd20b 448152004-11-01 Marco Gerards <metgerards@student.han.nl>
44816
44817 Add support for iso9660 (including rockridge).
f19dbdb7 44818
ad0bd20b 44819 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
44820 (iso9660_mod_SOURCES): New variable.
44821 (iso9660_mod_CFLAGS): Likewise.
44822 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
44823 * include/grub/fs.h (grub_iso9660_init): New prototype.
44824 * util/grub-emu.c (main): Call `grub_iso9660_init'.
44825 * fs/iso9660.c: New file.
44826
44827 * include/grub/misc.h (grub_strncat): New prototype.
44828 * kern/misc.c (grub_strncat): New function.
f19dbdb7 44829
ad0bd20b 44830 * fs/hfs.c (grub_hfs_mount): Translate the error
44831 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
44832 * fs/jfs.c (grub_jfs_mount): Likewise.
44833 * fs/ufs.c (grub_ufs_mount): Likewise.
44834
a5477a59 448352004-10-28 Hollis Blanchard <hollis@penguinppc.org>
44836
44837 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
44838 which initialized BAT registers.
44839 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
44840 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
44841 Move from here...
44842 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
44843 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
44844 ... to here.
44845 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
44846 (grub_mapclaim): Likewise.
44847 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
44848 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
44849 hand.
44850
9304c1f8 448512004-10-19 Hollis Blanchard <hollis@penguinppc.org>
44852
44853 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
44854 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
44855 -ffreestanding and -msoft-float.
44856
86f4ae25 448572004-10-15 Hollis Blanchard <hollis@penguinppc.org>
44858
44859 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
44860 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
44861 set in grub_ieee1275_flags.
44862
38912228 448632004-10-14 Hollis Blanchard <hollis@penguinppc.org>
44864
44865 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
44866 prototype.
44867 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
44868 grub_console_init first.
44869 Change the memory range used for grub_ieee1275_claim and
44870 grub_mm_init_region.
44871 Print an error message if the claim fails.
44872 Include <grub/misc.h>.
44873
d1923dc8 448742004-10-13 Hollis Blanchard <hollis@penguinppc.org>
44875
44876 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
44877 Call grub_children_iterate for device nodes of type `scsi',
44878 `ide', or `ata'.
44879 (grub_ofdisk_open): Remove manual device alias resolution.
44880 Fix memory leak when device cannot be opened.
f19dbdb7 44881 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 44882 (grub_children_iterate): New prototype.
44883 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
44884 New function.
44885 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
44886 Return -1 if args.size was -1.
44887
4512e4f3 448882004-10-11 Hollis Blanchard <hollis@penguinppc.org>
44889
44890 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
44891 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
44892 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
44893 Open Firmware's memory for it; claim memory from _start to _end.
44894 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
44895 (_end): New extern.
44896 (_start): Zero BSS from __bss_start to _end.
44897 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
44898 New extern.
44899 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
44900
4d61feb0 449012004-10-11 Hollis Blanchard <hollis@penguinppc.org>
44902
ad0bd20b 44903 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
44904 -1 if args.base was -1.
4d61feb0 44905
026fa2f9 449062004-10-08 Hollis Blanchard <hollis@penguinppc.org>
44907
44908 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
44909 escape sequence instead of a literal ^L. Also call
44910 grub_ofconsole_gotoxy.
44911
9f2220ef 449122004-10-03 Hollis Blanchard <hollis@penguinppc.org>
44913
44914 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
44915 void * arguments to grub_addr_t. All callers updated. Also make
44916 the `result' argument optional.
44917 (grub_ieee1275_release): change void * arguments to grub_addr_t.
44918 All callers updated.
44919
8a572cd7 449202004-09-22 Hollis Blanchard <hollis@penguinppc.org>
44921
44922 * commands/ls.c (grub_ls_list_files): Use the string following the
44923 initial ')', if present, as the filesystem path.
44924 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
44925
44926 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
44927
18aa81f2 449282004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
44929
44930 Make the source code of the menu interface more readable.
f19dbdb7 44931
18aa81f2 44932 * normal/menu.c: Include grub/mm.h.
44933 (TERM_WIDTH): New macro.
44934 (TERM_HEIGHT): Likewise.
44935 (TERM_INFO_HEIGHT): Likewise.
44936 (TERM_MARGIN): Likewise.
44937 (TERM_SCROLL_WIDTH): Likewise.
44938 (TERM_TOP_BORDER_Y): Likewise.
44939 (TERM_LEFT_BORDER_X): Likewise.
44940 (TERM_BORDER_WIDTH): Likewise.
44941 (TERM_MESSAGE_HEIGHT): Likewise.
44942 (TERM_BORDER_HEIGHT): Likewise.
44943 (TERM_NUM_ENTRIES): Likewise.
44944 (TERM_FIRST_ENTRY_Y): Likewise.
44945 (TERM_ENTRY_WIDTH): Likewise.
44946 (TERM_CURSOR_X): Likewise.
44947 (draw_border): Use macros instead of magic numbers.
44948 (print_entry): Likewise.
44949 (print_entries): Likewise.
44950 (run_menu): Likewise. Also, handle the key 'e'.
44951 (run_menu_entry): Ignore empty command lines.
44952 (print_message): Added a new argument EDIT. If EDIT is true,
44953 print a different message.
44954 (init_page): Likewise.
44955 (edit_menu_entry): New function. Not implemented yet.
44956
b47efe30 449572004-09-17 Marco Gerards <metgerards@student.han.nl>
44958
44959 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
44960 can be loaded from normal mode.
f19dbdb7 44961
b47efe30 44962 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
44963 `multiboot.mod'.
44964 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
44965 (multiboot_mod_CFLAGS): New variables.
44966 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 44967 * loader/i386/pc/multiboot_normal.c: Likewise.
44968
b47efe30 44969 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
44970 attribute `unused'.
f19dbdb7 44971
b47efe30 44972 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
44973 `fdiro' to read the mode information from instead of `diro'.
44974
44975 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
44976 looking up a symlink.
44977
44978 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
44979 macro.
44980 * normal/command.c (grub_command_execute): Don't parse the
44981 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
44982 flags of the command.
44983
44984 * normal/menu.c (grub_menu_run): Fix typo.
44985
da75ac71 449862004-09-14 Hollis Blanchard <hollis@penguinppc.org>
44987
44988 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
44989
44990 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
44991 `y + 1' instead of `y - 1'.
44992
44993 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 44994
062b24c2 449952004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
44996
44997 From Hollis Blanchard <hollis@penguinppc.org>:
44998 * kern/misc.c (memmove): New alias for grub_memmove.
44999 (memcmp): New alias for grub_memcmp.
45000 (memset): New alias for grub_memset.
f19dbdb7 45001 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 45002 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 45003 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 45004 (grub_ieee1275_get_property): Likewise.
f19dbdb7 45005
8ddad845 450062004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
45007
45008 Added normal mode command `chainloader' as module chain.mod, which
45009 depends on normal.mod and _chain.mod.
f19dbdb7 45010
8ddad845 45011 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
45012 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
45013 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
45014 Deleted prototype.
45015 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
45016 but arguments parsing moved to ...
45017 (grub_chainloader_cmd): ... here. New function.
45018 * include/grub/i386/pc/chainloader.h: New file.
45019 * loader/i386/pc/chainloader_normal.c: Likewise.
45020
2c1f4ce3 450212004-09-11 Marco Gerards <metgerards@student.han.nl>
45022
45023 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
45024 (grub_mkimage_LDFLAGS): Likewise.
45025 (grub_emu_SOURCES): Likewise.
45026 (kernel_img_HEADERS): Added fshelp.h.
45027 * fs/ext2.c: Include <grub/fshelp.h>.
45028 (FILETYPE_REG): New macro.
45029 (FILETYPE_INO_REG): Likewise.
45030 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
45031 Changed all users.
45032 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
45033 all users.
45034 (grub_fshelp_node): New struct.
45035 (grub_ext2_data): Added member `diropen'. Changed member `inode'
45036 to a pointer.
45037 (grub_ext2_get_file_block): Removed function.
45038 (grub_ext2_read_block): New function.
45039 (grub_ext2_read_file): Replaced parameter `data' by `node'.
45040 This function was written.
45041 (grub_ext2_mount): Read the root inode. Create a diropen struct.
45042 (grub_ext2_find_file): Removed function.
45043 (grub_ext2_read_symlink): New function.
45044 (grub_ext2_iterate_dir): Likewise.
45045 (grub_ext2_open): Rewritten.
45046 (grub_ext2_dir): Rewritten.
45047 * include/grub/fshelp.h: New file.
45048 * fs/fshelp.c: Likewise.
45049
3c52136a 450502004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
45051
45052 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
45053 (print_message): Add a missing newline.
45054 (run_menu): Added timeout support.
45055 (run_menu_entry): New local function.
45056 (grub_menu_run): Added support for booting.
45057
45058 * kern/loader.c (grub_loader_is_loaded): New function.
45059
45060 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
45061 (grub_get_rtc): Exported.
45062
45063 * include/grub/i386/pc/time.h: Include grub/symbol.h.
45064 (grub_get_rtc): Exported.
45065
45066 * include/grub/normal.h (struct grub_command_list): Remove
45067 constant from the member `command'.
45068
45069 * include/grub/loader.h (grub_loader_is_loaded): Declared.
45070
45071 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
45072
45073 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
45074
aa033560 450752004-08-28 Marco Gerards <metgerards@student.han.nl>
45076
45077 Add support for the JFS filesystem.
45078
45079 * fs/jfs.c: New file.
45080 * include/grub/fs.h (grub_jfs_init): New prototype.
45081 (grub_jfs_fini): New prototype.
45082 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
45083 (grub_emu_SOURCES): Likewise.
45084 (pkgdata_MODULES): Add jfs.mod.
45085 (jfs_mod_SOURCES): New variable.
45086 (jfs_mod_CFLAGS): Likewise.
45087 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
45088 (grubof_SOURCES): Likewise.
45089 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
45090
45091 * fs/fat.c (grub_fat_find_dir): Convert the filename little
45092 endian to the host endian.
45093 (grub_fat_utf16_to_utf8): Move function from there...
45094 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 45095 the endianness of the source string anymore.
aa033560 45096 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
45097
94bc45af 450982004-08-24 Marco Gerards <metgerards@student.han.nl>
45099
45100 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
45101 (grub_boot_fini) [GRUB_UTIL]: Likewise.
45102 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
45103 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 45104
94bc45af 45105 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
45106 (grub_hfs_iterate_dir): Make the function static. Add prototypes
45107 for `node_found' and `it_dir'.
45108 (grub_hfs_dir): Add prototype for `dir_hook'.
45109
45110 * fs/minix.c (grub_minix_get_file_block): Add prototype for
45111 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
45112 and `indir32' to silence a gcc warning.
45113
45114 * include/grub/fs.h (grub_hfs_init): New prototype.
45115 (grub_hfs_fini): Likewise.
f19dbdb7 45116
45117
97543f08 451182004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
45119
45120 Each disk device has its own id now. This is useful to make use
45121 of multiple disk devices.
f19dbdb7 45122
97543f08 45123 * include/grub/disk.h (grub_disk_dev_id): New enum.
45124 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
45125 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
45126
45127 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
45128 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
45129
45130 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
45131 GRUB_DISK_DEVICE_OFDISK_ID as an id.
45132
45133 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
45134 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
45135
45136 * include/grub/disk.h (struct grub_disk_dev): Added a new member
45137 "id" which is used by the cache manager.
45138
45139 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
45140 of just "GRUB".
45141
64372eb4 451422004-08-18 Marco Gerards <metgerards@student.han.nl>
45143
45144 * fs/hfs.c: New file.
45145 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
45146 (grub_emu_SOURCES): Likewise.
45147 (pkgdata_MODULES): Add hfs.mod.
45148 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
45149 (grubof_SOURCES): Likewise.
45150 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
45151
45152 * include/grub/misc.h (grub_strncasecmp): Add prototype.
45153 * kern/misc.c (grub_strncasecmp): Add function.
45154
cc61b58f 451552004-08-14 Marco Gerards <metgerards@student.han.nl>
45156
45157 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
45158 with parentheses.
45159
45160 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
45161 (grub_ext2_dir): In case the directory entry type is unknown, read
45162 it from the inode.
45163
0ef123f6 451642004-08-02 Peter Bruin <pjbruin@dds.nl>
45165
45166 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
45167 grub_load_linux instead of grub_rescue_cmd_linux as second
45168 argument of grub_rescue_register_command.
45169
45170 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
45171
a447c5df 451722004-07-27 Marco Gerards <metgerards@student.han.nl>
45173
45174 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
45175 function.
45176 * commands/boot.c: Remove the check for `GRUB_UTIL'.
45177 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
45178 `loader/powerpc/ieee1275/linux.c',
45179 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
45180 * include/grub/powerpc/ieee1275/ieee1275.h
45181 (grub_ieee1275_release): New prototype.
45182 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
45183 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
45184 normal, boot, linux and linux_normal.
45185 * loader/powerpc/ieee1275/linux.c: New file.
45186 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
45187
5a9e3546 451882004-07-12 Marco Gerards <metgerards@student.han.nl>
45189
45190 * normal/arg.c (grub_arg_parse): Correct error handling after
45191 reallocating the argumentlist (check if `argl' is not null instead
45192 of checking if `args' is not null).
45193 * kern/mm.c (grub_realloc): Return the same pointer when using the
45194 same region, instead of returning the header address.
45195
e15199cb 451962004-07-11 Marco Gerards <metgerards@student.han.nl>
45197
45198 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
45199 one block instead of two when looking for the initial partition.
45200 (grub_partition_probe): Initialize the local variable `p' with 0.
45201 Use base 10 for the grub_strtoul call.
45202 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
45203 need for one local variable.
45204 (grub_strtoul): Don't add the new value to `num', instead of that
45205 just assign it.
45206
020616c2 452072004-07-11 Marco Gerards <metgerards@student.han.nl>
45208
45209 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
45210 (pxeboot_img_SOURCES): New variable.
45211 (pxeboot_img_ASFLAGS): Likewise.
45212 (pxeboot_img_LDFLAGS): Likewise.
45213 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
45214 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
45215 <lode_leroy@hotmail.com>.
45216
6c51eb64 452172004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45218
45219 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
45220 there was no input.
45221
cfb12aff 452222004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45223
45224 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
45225 the history buffer logic.
45226
6eabba74 452272004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45228
45229 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
45230 (FILETYPE_INO_SYMLINK): New macros.
45231 (grub_ext2_find_file): Check if the node is a directory using the
45232 inode stat information instead of using the filetype in the
45233 dirent. Exclude the first character of an absolute symlink.
45234 (grub_ext2_dir): Mask out the filetype part of the mode member of
45235 the inode.
45236
66e19ef8 452372004-05-24 Marco Gerards <metgerards@student.han.nl>
45238
45239 Add support for UFS version 1 and 2. Add support for the minix
45240 filesystem version 1 and 2, both the variants with 14 and 30 long
45241 filenames.
f19dbdb7 45242
66e19ef8 45243 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
45244 fs/minix.c.
45245 (grub_emu_SOURCES): Likewise.
45246 (pkgdata_MODULES): Add ufs.mod and minix.mod.
45247 (ufs_mod_SOURCES): New variable.
45248 (ufs_mod_CFLAGS): Likewise.
45249 (minix_mod_SOURCES): Likewise.
45250 (minix_mod_CFLAGS): Likewise.
45251 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
45252 fs/minix.c.
45253 (grubof_SOURCES): Likewise.
45254 * fs/ufs.c: New file.
45255 * fs/minix.c: New file.
45256 * include/grub/fs.h (grub_ufs_init): New prototype.
45257 (grub_ufs_fini): Likewise.
45258 (grub_minix_init): Likewise.
45259 (grub_minix_fini): Likewise.
45260 * util/grub-emu.c (main): Initialize and deinitialize UFS and
45261 minix fs.
45262
cc2e748a 452632004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
45264
45265 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
45266 commands/ls.c, commands/terminal.c, commands/boot.c,
45267 commands/cmp.c and commands/cat.c.
45268 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
45269
45270 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
45271 "env.h"
45272
4b13b216 452732004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
45274
45275 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
45276 and grub_, respectively. Because the conversion is trivial and
45277 mechanical, I omit the details here. Please refer to the CVS
45278 if you need more information.
45279
6a142551 452802004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
45281
45282 * include/pupa: Renamed to ...
45283 * include/grub: ... this.
45284 * util/i386/pc/pupa-mkimage.c: Renamed to ...
45285 * util/i386/pc/grub-mkimage.c: ... this.
45286 * util/i386/pc/pupa-setup.c: Renamed to ...
45287 * util/i386/pc/grub-setup.c: ... this.
45288 * util/pupa-emu.c: Renamed to ...
45289 * util/grub-emu.c: ... this.
45290
e56cdf21 452912004-03-29 Marco Gerards <metgerards@student.han.nl>
45292
45293 Add support for the newworld apple macintosh (PPC). This has been
45294 tested on the powerbook 2000 only. It only adds support for
45295 generic ieee1275 functions, console and disk support. This should
45296 be easy to port to other architectures with support for Open
45297 Firmware.
f19dbdb7 45298
e56cdf21 45299 * configure.ac: Accept the powerpc as host_cpu. In the case of
45300 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
45301 specific tests are only executed while building for the i386.
45302 Inverse test for crosscompile.
45303 * genmk.rb (Utility): Allow assembler files.
45304 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
45305 * conf/powerpc-ieee1275.rmk: New file.
45306 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
45307 * disk/powerpc/ieee1275/partition.c: Likewise.
45308 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
45309 * include/pupa/powerpc/ieee1275/console.h: Likewise.
45310 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
45311 * include/pupa/powerpc/ieee1275/time.h: Likewise.
45312 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
45313 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
45314 * include/pupa/powerpc/ieee1275/loader.h
45315 * include/pupa/powerpc/setjmp.h: Likewise.
45316 * include/pupa/powerpc/types.h: Likewise.
45317 * kern/powerpc/ieee1275/init.c: Likewise.
45318 * kern/powerpc/ieee1275/openfw.c: Likewise.
45319 * term/powerpc/ieee1275/ofconsole.c: Likewise.
45320
45321 These files were written by Johan Rydberg
45322 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 45323
e56cdf21 45324 * boot/powerpc/ieee1275/cmain.c: New file.
45325 * boot/powerpc/ieee1275/crt0.S: Likewise.
45326 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
45327 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
45328
8c8cc205 453292004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
45330
45331 * Makefile.in: Update copyright.
45332 * genmodsrc.sh: Likewise.
45333 * gensymlist.sh: Likewise.
45334 * term/i386/pc/vga.c: Indent correctly.
45335
45336 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
45337 bugreporting address.
45338 * util/i386/pc/pupa-setup.c (usage): Likewise,
45339 (main): Call pupa_ext2_init and pupa_ext2_fini.
45340
f19dbdb7 45341 * fs/fat.c (log2): Renamed to ...
8c8cc205 45342 (fat_log2): ... this.
45343 All callers changed.
45344 * kern/misc.c (memcpy): Alias to pupa_memmove.
45345 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
45346 lvalue cast.
45347 * util/console.c (pupa_ncurses_fini): Return 0.
45348
45349 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
45350 Move fail label here.
45351 [__GNU__]: Don't warn when using stat.
45352 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
45353 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
45354 long int. Use strtol instead of strtoul.
f19dbdb7 45355
db1771cf 453562004-03-14 Marco Gerards <metgerards@student.han.nl>
45357
45358 * commands/boot.c: New file.
45359 * commands/cat.c: Likewise.
45360 * commands/cmp.c: Likewise.
45361 * commands/ls.c: Likewise.
45362 * commands/terminal.c: Likewise.
45363 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
45364 (pupa_register_command): Changed interface to match the new
45365 argument parser.
45366 (pupa_command_execute): Changed (almost rewritten) so it uses
45367 pupa_split_command. Added support for setting variables using the
45368 syntax `foo=bar'.
45369 (rescue_command): Changed to work with the new argument parser.
45370 (terminal_command): Moved from here to commands/terminal.c.
45371 (set_command): New function.
45372 (unset_command): New function.
45373 (insmod_command): New function.
45374 (rmmod_command): New function.
45375 (lsmod_command): New function.
45376 (pupa_command_init): Don't initialize the command terminal
45377 anymore. Initialize the commands set, unset, insmod, rmmod and
45378 lsmod.
45379 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
45380 (kernel_img_HEADERS): Add arg.h and env.h.
45381 (pupa_mkimage_LDFLAGS): Add kern/env.c.
45382 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
45383 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
45384 normal/arg.c.
45385 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
45386 terminal.mod.
45387 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
45388 (boot_mod_SOURCES): New variable.
45389 (terminal_mod_SOURCES): Likewise.
45390 (ls_mod_SOURCES): Likewise.
45391 (cmp_mod_SOURCES): Likewise.
45392 (cat_mod_SOURCES): Likewise.
45393
45394 * normal/arg.c: New file.
45395 * kern/env.c: Likewise.
45396 * include/pupa/arg.h: Likewise.
45397 * include/pupa/env.h: Likewise.
45398 * font/manager.c (font_command): Changed to match argument parsing
45399 interface changes.
45400 (PUPA_MOD_INIT): Likewise.
45401 * hello/hello.c (pupa_cmd_hello): Likewise.
45402 (PUPA_MOD_INIT): Likewise.
45403 * include/pupa/disk.h: Include <pupa/device.h>.
45404 (pupa_print_partinfo): New prototype.
45405 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
45406 (pupa_dl_get_prefix): Likewise.
45407 * include/pupa/misc.h: Include <pupa/err.h>.
45408 (pupa_isgraph): New prototype.
45409 (pupa_isdigit): Likewise.
45410 (pupa_split_cmdline): Likewise.
45411 * include/pupa/normal.h: Include <pupa/arg.h>.
45412 (pupa_command): Changed the prototype of the member `func' to
45413 match the argument parsing interface. Added member `options'.
45414 (pupa_register_command): Updated to match function.
45415 (pupa_arg_parse): New prototype.
45416 (pupa_hello_init) [PUPA_UTIL]: New prototype.
45417 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
45418 (pupa_ls_init) [PUPA_UTIL]: Likewise.
45419 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
45420 (pupa_cat_init) [PUPA_UTIL]: Likewise.
45421 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
45422 (pupa_boot_init) [PUPA_UTIL]: Likewise.
45423 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
45424 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
45425 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
45426 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
45427 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
45428 * kern/disk.c: Include <pupa/file.h>.
45429 (pupa_print_partinfo): New function.
45430 * kern/dl.c: Include <pupa/env.h>.
45431 (pupa_dl_dir): Variable removed.
45432 (pupa_dl_load): Use the environment variable `prefix' instead of
45433 the variable pupa_dl_dir.
45434 (pupa_dl_set_prefix): Function removed.
45435 (pupa_dl_get_prefix): Likewise.
45436 * kern/i386/pc/init.c: Include <pupa/env.h>.
45437 (pupa_machine_init): Use the environment variable `prefix' instead of
45438 using pupa_dl_set_prefix to set the prefix.
45439 * kern/main.c: Include <pupa/env.h>.
45440 (pupa_set_root_dev): Use the environment variable `prefix' instead of
45441 using pupa_dl_get_prefix to get the prefix.
45442 * kern/misc.c: Include <pupa/env.h>.
45443 (pupa_isdigit): New function.
45444 (pupa_isgraph): Likewise.
45445 (pupa_ftoa): Likewise.
45446 (pupa_vsprintf): Added support for printing values of the type
45447 `double'. Make it possible to format variable output when using
45448 formatting like `%1.2%f'.
45449 (pupa_split_cmdline): New function.
45450 * kern/rescue.c: Include <pupa/env.h>.
45451 (next_word): Removed function.
45452 (pupa_rescue_cmd_prefix): Likewise.
45453 (pupa_rescue_cmd_set): New function.
45454 (pupa_rescue_cmd_unset): New function.
45455 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
45456 split the command line instead of splitting it here. Added
45457 support for setting variables using the syntax `foo=bar'. Don't
45458 initialize the prefix command anymore. Initialized the set and
45459 unset commands.
45460 * normal/cmdline.c: Include <pupa/env.h>.
45461 (pupa_tab_complete): Added prototypes for print_simple_completion,
45462 print_partition_completion, add_completion, iterate_commands,
45463 iterate_dev, iterate_part and iterate_dir. Moved code to print
45464 partition information from here to kern/disk.c.
fe6b695a 45465 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 45466 * normal/main.c: Include <pupa/env.h>.
45467 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
45468 instead of using pupa_dl_get_prefix to get the prefix.
45469 * term/i386/pc/vga.c: Include <pupa/arg.h>.
45470 (check_vga_mem): Cast pointers to `void *' to silence a gcc
45471 warning.
45472 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
45473 (pupa_vga_setcolor): Declare unused variables with `__attribute__
45474 ((unused))' to silence a gcc warning.
45475 (pupa_vga_setcolor): Likewise.
45476 (debug_command): Changed to match argument parsing
45477 interface changes.
45478 * util/pupa-emu.c: Include <pupa/env.h>.
45479 (options): Added 0's for unused fields to silence a gcc warning.
45480 (argp): Likewise.
45481 (main): Use the environment variable `prefix' instead of using
45482 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
45483 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
45484 and terminal.
45485
45486 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
45487 * util/misc.c: Include <malloc.h>.
45488 (pupa_malloc): Rewritten so errors are correctly reported.
45489 (pupa_realloc): Likewise.
45490 (pupa_memalign): Likewise.
45491 (pupa_mm_init_region): Declare unused variables with
45492 `__attribute__ ((unused))' to silence a gcc warning.
45493 * normal/i386/setjmp.S: Remove tab at the end of the file to
45494 silence a gcc warning.
45495 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
45496 variables with `__attribute__ ((unused))' to silence a gcc
45497 warning.
45498 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
45499 local variable i unsigned to silence a gcc warning.
45500
45501 * kern/term.c: Include <pupa/misc.h>.
45502 (pupa_more_lines): New variable.
45503 (pupa_more): Likewise.
45504 (pupa_putcode): When the pager is active pause at the end of every
45505 screen.
45506 (pupa_set_more): New function.
45507 * include/pupa/term.h (pupa_set_more): New prototype.
45508
45509
3b1139cb 455102004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
45511
45512 Now this project is GRUB 2 rather than PUPA. The location of
45513 the CVS repository was moved to GRUB's.
f19dbdb7 45514
3b1139cb 45515 * configure.ac: Use bug-grub as the reporting address.
45516 Use GRUB instead of PUPA.
45517 Change the version number to 1.90.
45518
8367695c 455192004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
45520
45521 * genkernsyms.sh: Updated copyright information.
45522 * genmk.rb: Likewise.
45523 * genmodsrc.sh: Likewise.
45524 * gensymlist.sh: Likewise.
45525 * boot/i386/pc/boot.S: Likewise.
45526 * boot/i386/pc/diskboot.S: Likewise.
45527 * disk/i386/pc/biosdisk.c: Likewise.
45528 * disk/i386/pc/partition.c: Likewise.
45529 * font/manager.c: Likewise.
45530 * fs/ext2.c: Likewise.
45531 * fs/fat.c: Likewise.
45532 * include/pupa/boot.h: Likewise.
45533 * include/pupa/device.h: Likewise.
45534 * include/pupa/disk.h: Likewise.
45535 * include/pupa/dl.h: Likewise.
45536 * include/pupa/elf.h: Likewise.
45537 * include/pupa/err.h: Likewise.
45538 * include/pupa/file.h: Likewise.
45539 * include/pupa/font.h: Likewise.
45540 * include/pupa/fs.h: Likewise.
45541 * include/pupa/kernel.h: Likewise.
45542 * include/pupa/loader.h: Likewise.
45543 * include/pupa/misc.h: Likewise.
45544 * include/pupa/mm.h: Likewise.
45545 * include/pupa/net.h: Likewise.
45546 * include/pupa/normal.h: Likewise.
45547 * include/pupa/rescue.h: Likewise.
45548 * include/pupa/setjmp.h: Likewise.
45549 * include/pupa/symbol.h: Likewise.
45550 * include/pupa/term.h: Likewise.
45551 * include/pupa/types.h: Likewise.
45552 * include/pupa/i386/setjmp.h: Likewise.
45553 * include/pupa/i386/types.h: Likewise.
45554 * include/pupa/i386/pc/biosdisk.h: Likewise.
45555 * include/pupa/i386/pc/boot.h: Likewise.
45556 * include/pupa/i386/pc/console.h: Likewise.
45557 * include/pupa/i386/pc/init.h: Likewise.
45558 * include/pupa/i386/pc/kernel.h: Likewise.
45559 * include/pupa/i386/pc/linux.h: Likewise.
45560 * include/pupa/i386/pc/loader.h: Likewise.
45561 * include/pupa/i386/pc/memory.h: Likewise.
45562 * include/pupa/i386/pc/multiboot.h: Likewise.
45563 * include/pupa/i386/pc/partition.h: Likewise.
45564 * include/pupa/i386/pc/time.h: Likewise.
45565 * include/pupa/i386/pc/vga.h: Likewise.
45566 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
45567 * include/pupa/util/getroot.h: Likewise.
45568 * include/pupa/util/misc.h: Likewise.
45569 * include/pupa/util/resolve.h: Likewise.
45570 * kern/device.c: Likewise.
45571 * kern/disk.c: Likewise.
45572 * kern/dl.c: Likewise.
45573 * kern/err.c: Likewise.
45574 * kern/file.c: Likewise.
45575 * kern/fs.c: Likewise.
45576 * kern/loader.c: Likewise.
45577 * kern/main.c: Likewise.
45578 * kern/misc.c: Likewise.
45579 * kern/mm.c: Likewise.
45580 * kern/rescue.c: Likewise.
45581 * kern/term.c: Likewise.
45582 * kern/i386/dl.c: Likewise.
45583 * kern/i386/pc/init.c: Likewise.
45584 * kern/i386/pc/lzo1x.S: Likewise.
45585 * kern/i386/pc/startup.S: Likewise.
45586 * loader/i386/pc/chainloader.c: Likewise.
45587 * loader/i386/pc/linux.c: Likewise.
45588 * loader/i386/pc/multiboot.c: Likewise.
45589 * normal/cmdline.c: Likewise.
45590 * normal/command.c: Likewise.
45591 * normal/main.c: Likewise.
45592 * normal/menu.c: Likewise.
45593 * normal/i386/setjmp.S: Likewise.
45594 * term/i386/pc/console.c: Likewise.
45595 * term/i386/pc/vga.c: Likewise.
45596 * util/console.c: Likewise.
45597 * util/genmoddep.c: Likewise.
45598 * util/misc.c: Likewise.
45599 * util/pupa-emu.c: Likewise.
45600 * util/resolve.c: Likewise.
45601 * util/unifont2pff.rb: Likewise.
45602 * util/i386/pc/biosdisk.c: Likewise.
45603 * util/i386/pc/getroot.c: Likewise.
45604 * util/i386/pc/pupa-mkimage.c: Likewise.
45605 * util/i386/pc/pupa-setup.c: Likewise.
45606
e6eced71 456072004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
45608
45609 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
45610 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
45611 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
45612 reading and reset it after reading.
45613 (pupa_ext2_close): Return PUPA_ERR_NONE.
45614
45615 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
45616 Correct value.
45617 (struct linux_kernel_header): Add kernel_version and
45618 initrd_addr_max.
45619 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
45620 pupa_file_read succeeds.
45621 (pupa_rescue_cmd_initrd): Implement.
45622
5aded270 456232003-12-03 Marco Gerards <metgerards@student.han.nl>
45624
45625 * fs/ext2.c (pupa_ext2_label): New function.
45626 (pupa_ext2_fs): Added label.
45627 * fs/fat.c (pupa_fat_label): New function.
45628 (pupa_fat_fs): Added label.
45629 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
45630
45631 * kern/misc.c (pupa_strndup): New function.
45632 * include/pupa/misc.h (pupa_strndup): New prototype.
45633
45634 * include/pupa/normal.h: Include <pupa/err.h>.
45635 (pupa_set_history): New prototype.
45636 (pupa_iterate_commands): New prototype.
45637 * normal/cmdline.c: Include <pupa/machine/partition.h>,
45638 <pupa/disk.h>, <pupa/file.h>.
45639 (hist_size): New variable.
45640 (hist_lines): Likewise.
45641 (hist_end): Likewise.
45642 (hist_used): Likewise.
45643 (pupa_set_history): New function.
45644 (pupa_history_get): Likewise.
45645 (pupa_history_add): Likewise.
45646 (pupa_history_replace): Likewise.
45647 (pupa_tab_complete): Likewise.
45648 (pupa_cmdline_run): Added tab completion and history buffer. Tab
45649 completion shows partitionnames while completing partitions, this
45650 feature was suggested by Jeff Bailey.
45651 * normal/command.c (pupa_iterate_commands): New function.
45652 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
45653 (pupa_normal_init): Initialize history buffer.
45654 (PUPA_MOD_INIT): Likewise.
45655 (pupa_normal_fini): Free the history buffer.
45656 (PUPA_MOD_FINI): Likewise.
45657
45658 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
45659 key.
45660
45661 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
45662 * configure.ac [i386]: Check for regparam bug.
45663 (NESTED_FUNC_ATTR) [! i386]: Defined.
45664
1f7315a3 456652003-11-17 Marco Gerards <metgerards@student.han.nl>
45666
45667 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
45668 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
45669 (pupa_emu_SOURCES): New variable.
45670 (pupa_emu_LDFLAGS): Likewise.
45671 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
45672 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
45673 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
45674 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
45675 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
45676 (pupa_jmp_buf): New typedef.
45677 (pupa_setjmp) [PUPA_UTIL]: New macro.
45678 (pupa_longjmp) [PUPA_UTIL]: Likewise.
45679 * include/pupa/term.h (struct pupa_term): New member `refresh'.
45680 (pupa_refresh): New prototype.
45681 * include/pupa/util/getroot.h: New file.
45682 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
45683 it.
45684 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
45685 (pupa_rescue_cmd_cat): Likewise.
45686 (pupa_rescue_cmd_ls): Likewise.
45687 (pupa_rescue_cmd_testload): Likewise.
45688 (pupa_rescue_cmd_lsmod): Likewise.
45689 * normal/cmdline.c (pupa_cmdline_get): Likewise.
45690 * normal/menu.c (run_menu): Likewise.
45691 * kern/term.c (pupa_cls): Likewise.
45692 (pupa_refresh): New function.
45693 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
45694 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
45695 * util/console.c: New file.
f19dbdb7 45696
1f7315a3 45697 * util/i386/pc/getroot.c: New file.
45698 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
45699 (pupa_putchar): New function.
45700 (pupa_refresh): Likewise.
45701 (xgetcwd): Function moved to ...
45702 (strip_extra_slashes): Likewise.
45703 (get_prefix): Likewise.
f19dbdb7 45704 * util/i386/pc/getroot.c: ... here.
1f7315a3 45705 (find_root_device): Function moved and renamed to...
45706 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
45707 Changed all callers.
45708 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
45709 and renamed to...
45710 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
45711 Changed all callers.
45712 * util/misc.c (pupa_memalign): New function.
45713 (pupa_mm_init_region): Likewise.
45714 (pupa_register_exported_symbols): Likewise.
45715 (pupa_putchar): Function removed.
45716 * util/pupa-emu.c: New file.
45717
9a5c1ade 457182003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
45719
45720 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
45721 (_multiboot_mod_SOURCES): New variable.
45722 (_multiboot_mod_CFLAGS): Likewise.
45723 * loader/i386/pc/multiboot.c: New file.
45724 * include/pupa/i386/pc/multiboot.h: Likewise.
45725 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
45726 (pupa_multiboot_real_boot): New function.
45727 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
45728 (pupa_multiboot_real_boot): New prototype.
45729 (pupa_rescue_cmd_multiboot): Likewise
45730 (pupa_rescue_cmd_module): Likewise.
45731
45732 * kern/loader.c (pupa_loader_set): Continue when
45733 pupa_loader_unload_func() fails.
45734 (pupa_loader_unset): New function.
45735 * include/pupa/loader.h (pupa_loader_unset): New prototype.
45736
45737 * kern/misc.c (pupa_stpcpy): New function.
45738 * include/pupa/misc.h (pupa_stpcpy): New prototype.
45739
8e72a9c0 457402003-11-12 Marco Gerards <metgerards@student.han.nl>
45741
45742 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
45743 for available extensions.
45744
45745 * include/pupa/i386/pc/time.h: New file.
45746 * kern/disk.c: Include <pupa/machine/time.h>.
45747 (PUPA_CACHE_TIMEOUT): New macro.
45748 (pupa_last_time): New variable.
45749 (pupa_disk_open): Flush the cache when there was a timeout.
45750 (pupa_disk_close): Reset the timer.
45751 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
45752 pupa_currticks.
45753 * util/misc.c: Include <sys/times.h>
45754 (pupa_get_rtc): New function.
45755
c4adbd32 457562003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
45757
45758 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
45759 as blocks.
45760 (pupa_ext2_get_file_block): Use blocks member.
45761
45762 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
45763 first block. Return -1 instead of pupa_errno on error.
45764
bfd30f06 457652003-10-27 Marco Gerards <metgerards@student.han.nl>
45766
45767 * README: In the pupa-mkimage example use _chain instead of chain
45768 and ext2 instead of fat.
45769 * TODO: Replace ext2fs with jfs as an example. Add an item for
45770 adding journal playback for ext2fs.
45771 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
45772 (pkgdata_MODULES): Added ext2.mod.
45773 (ext2_mod_SOURCES): New variable.
45774 (ext2_mod_CFLAGS): Likewise.
45775 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
45776 * include/pupa/misc.h (pupa_strncpy): New prototype.
45777 (pupa_strcat): Likewise.
45778 (pupa_strncmp): Likewise.
45779 * kern/misc.c (pupa_strcat): Enable function.
45780 (pupa_strncpy): New function.
45781 (pupa_strncmp): Likewise.
45782 * fs/ext2.c: New file.
f19dbdb7 45783
bfd30f06 45784 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
45785 when the read failed before retrying.
45786 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
45787 (_FILE_OFFSET_BITS): Likewise.
45788 * configure.ac: Added AC_SYS_LARGEFILE.
45789
98d15063 457902003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
45791
45792 * genmk.rb (PModule#rule): Make sure to get only symbol names
45793 from the output of nm.
59cad637 45794 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 45795
18d9c7cd 457962003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
45797
45798 I forgot to check in these changes for a long time. This adds
45799 incomplete support for VGA console, and this is still very
45800 buggy. Also, a lot of consideration is required for I18N,
45801 UNICODE, and VGA font issues. Therefore, assume that this is
45802 such that "better than nothing".
f19dbdb7 45803
18d9c7cd 45804 * font/manager.c: New file.
45805 * include/pupa/font.h: Likewise.
45806 * include/pupa/i386/pc/vga.h: Likewise.
45807 * term/i386/pc/vga.c: Likewise.
45808 * util/unifont2pff.rb: Likewise.
45809
45810 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
45811 (pkgdata_MODULES): Added vga.mod and font.mod.
45812 (vga_mod_SOURCES): New variables.
45813 (vga_mod_CFLAGS): Likewise.
45814 (font_mod_SOURCES): Likewise.
45815 (font_mod_CFLAGS): Likewise.
45816
45817 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
45818
45819 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 45820 (struct pupa_term): Added init and fini.
18d9c7cd 45821 Changed the argument of putchar to pupa_uint32_t.
45822
45823 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
45824 (pupa_console_real_putchar): New prototype.
45825 (pupa_console_putchar): Removed.
45826 (pupa_console_checkkey): Exported.
45827 (pupa_console_getkey): Likewise.
45828
45829 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
45830 characters.
45831
45832 * kern/term.c (pupa_term_set_current): Rewritten.
45833 (pupa_putchar): Likewise.
45834 (pupa_putcode): New function.
45835
45836 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
45837 (pupa_console_real_putchar): ... this.
45838 (pupa_vga_set_mode): New function.
45839 (pupa_vga_get_font): Likewise.
45840
45841 * normal/command.c: Include pupa/term.h.
45842 (terminal_command): New function.
45843 (pupa_command_init): Register the command "terminal".
45844
45845 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
45846 (DISP_UP): Likewise.
45847 (DISP_RIGHT): Likewise.
45848 (DISP_DOWN): Likewise.
45849 (DISP_HLINE): Likewise.
45850 (DISP_VLINE): Likewise.
45851 (DISP_UL): Likewise.
45852 (DISP_UR): Likewise.
45853 (DISP_LL): Likewise.
45854 (DISP_LR): Likewise.
45855
45856 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 45857
977329f5 458582003-02-08 NIIBE Yutaka <gniibe@m17n.org>
45859
45860 * util/resolve.c (pupa_util_resolve_dependencies): BUG
45861 FIX. Reverse the path_list.
45862
45863 * include/pupa/normal.h: Export pupa_register_command and
45864 pupa_unregister_command.
45865
45866 * hello/hello.c (pupa_cmd_hello): New module.
45867 * conf/i386-pc.rmk: Added hello.mod.
45868
1f5ab428 458692003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
45870
45871 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 45872
1f5ab428 45873 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
45874 (compress_kernel): New variable.
45875 (generate_image): Heavily modified to support compressing a
45876 large part of the core image.
45877
45878 * util/misc.c (pupa_util_read_image): Fix a file descriptor
45879 leak.
45880 (pupa_util_load_image): New function.
45881
45882 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
45883 (pupa_compressed_size): New variable.
45884 (codestart): Enable Gate A20 here.
45885 Decompress the compressed part of the core image.
45886 Rearrange the code to put functions and variables which are
45887 required for initialization in the non-compressed part.
45888 Include lzo1x.S.
45889
45890 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
45891 here.
45892
45893 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
45894
f19dbdb7 45895 * include/pupa/i386/pc/kernel.h
1f5ab428 45896 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
45897 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
45898 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
45899 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
45900 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
45901
45902 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
45903
45904 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
45905 (Utility#rule): Likewise.
45906
45907 * configure.ac: Check if LZO is available.
45908
ce5bf700 459092003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
45910
45911 * include/pupa/normal.h: New file.
45912 * include/pupa/setjmp.h: Likewise.
45913 * include/pupa/i386/setjmp.h: Likewise.
45914 * normal/cmdline.c: Likewise.
45915 * normal/command.c: Likewise.
45916 * normal/main.c: Likewise.
45917 * normal/menu.c: Likewise.
45918 * normal/i386/setjmp.S: Likewise.
f19dbdb7 45919
ce5bf700 45920 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
45921 (pupa_rescue_cmd_initrd): Likewise.
45922
45923 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
45924 Likewise.
45925
45926 * kern/i386/pc/startup.S (translation_table): New variable.
45927 (translate_keycode): New function.
45928 (pupa_console_getkey): Call translate_keycode.
45929
45930 * kern/rescue.c (attempt_normal_mode): New function.
45931 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
45932 it failed, print a message.
45933
45934 * kern/mm.c (pupa_real_malloc): Print more information when a
45935 free magic is broken.
45936 (pupa_free): If the first free header is not free actually, set
45937 it to P.
45938
45939 * kern/main.c (pupa_load_normal_mode): Just load the module
45940 "normal".
45941 (pupa_main): Don't print the message
45942 "Entering into rescue mode..." here.
45943
45944 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
45945 Declared.
45946 (pupa_rescue_cmd_initrd): Likewise.
45947 (pupa_rescue_cmd_initrd): Likewise.
45948
45949 * include/pupa/symbol.h (FUNCTION): Specify the type.
45950 (VARIABLE): Likewise.
45951
45952 * include/pupa/err.h (pupa_err_t): Added
45953 PUPA_ERR_UNKNOWN_COMMAND.
45954
45955 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
45956 (pupa_dl_get_prefix): Likewise.
45957
45958 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
45959 Added _chain.mod and _linux.mod instead of chain.mod and
45960 linux.mod.
45961 (chain_mod_SOURCES): Renamed to ...
45962 (_chain_mod_SOURCES): ... this.
45963 (chain_mod_CFLAGS): Renamed to ...
45964 (_chain_mod_CFLAGS): ... this.
45965 (linux_mod_SOURCES): Renamed to ...
45966 (_linux_mod_SOURCES): ... this.
45967 (linux_mod_CFLAGS): Renamed to ...
45968 (_linux_mod_CFLAGS): ... this.
45969 (normal_mod_SOURCES): New variable.
45970 (normal_mod_CFLAGS): Likewise.
45971 (normal_mod_ASFLAGS): Likewise.
45972
459732003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
45974
45975 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
45976 possible.
45977
fe6b695a 45978 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 45979 recursively.
45980 (pupa_dl_unref): Unrefer depending modules recursively.
45981 Don't call pupa_dl_unload implicitly, because PUPA can crash if
45982 a module is unloaded before one depending on that module is
45983 unloaded.
45984 (pupa_dl_unload): Unload depending modules explicitly,
45985 if possible.
45986
c04da074 459872003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
45988
45989 * include/pupa/i386/pc/linux.h: New file.
45990 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 45991
c04da074 45992 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
45993 Removed.
45994 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
45995 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
45996 of PUPA_CHAINLOADER_BOOT_SECTOR.
45997
45998 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
45999 (pupa_linux_prot_size): New variable.
46000 (pupa_linux_tmp_addr): Likewise.
46001 (pupa_linux_real_addr): Likewise.
46002 (pupa_linux_boot_zimage): New function.
46003 (pupa_linux_boot_bzimage): Likewise.
46004
46005 * kern/i386/pc/init.c (struct mem_region): New structure.
46006 (MAX_REGIONS): New macro.
46007 (mem_regions): New variable.
46008 (num_regions): Likewise.
46009 (pupa_os_area_addr): Likewise.
46010 (pupa_os_area_size): Likewise.
46011 (pupa_lower_mem): Likewise.
46012 (pupa_upper_mem): Likewise.
46013 (add_mem_region): New function.
46014 (compact_mem_regions): Likewise.
46015 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
46016 the size of the conventional memory and that of so-called upper
46017 memory (before the first memory hole).
46018 Instead of adding each found region to free memory, use
46019 add_mem_region and add them after removing overlaps.
46020 Also, add only 1/4 of the upper memory to free memory. The rest
46021 is used for loading OS images. Maybe this is ad hoc, but this
46022 makes it much easier to relocate OS images when booting.
46023
46024 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
46025 (pupa_enter_rescue_mode): Don't register initrd and module.
46026
46027 * kern/mm.c: Include pupa/dl.h.
46028
46029 * kern/main.c: Include pupa/file.h and pupa/device.h.
46030
46031 * kern/loader.c (pupa_loader_load_module_func): Removed.
46032 (pupa_loader_load_module): Likewise.
46033
46034 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
46035 ``.o''.
46036
46037 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
46038 (pupa_linux_tmp_addr): Likewise.
46039 (pupa_linux_real_addr): Likewise.
46040 (pupa_linux_boot_zimage): Likewise.
46041 (pupa_linux_boot_bzimage): Likewise.
46042
46043 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
46044 (pupa_upper_mem): Likewise.
46045 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
46046 module is too dangerous.
46047
46048 * include/pupa/loader.h (pupa_os_area_addr): Declared.
46049 (pupa_os_area_size): Likewise.
46050 (pupa_loader_set): Remove the first argument. Loader doesn't
46051 manage modules or initrd any longer.
46052 (pupa_loader_load_module): Removed.
46053
46054 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
46055 (linux_mod_SOURCES): New variable.
46056 (linux_mod_CFLAGS): Likewise.
46057
a13f9237 460582003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
46059
46060 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
46061 the length of a blocklist correctly.
46062
46063 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
46064 Use ioctl only if the OS file is a block device.
46065 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
46066 not very useful for normal files.
46067
46068 * kern/main.c (pupa_set_root_dev): New function.
46069 (pupa_load_normal_mode): Likewise.
46070 (pupa_main): Call those above.
46071
46072 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
46073 pupa_uint16_t.
46074
46075 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
46076
a5ffe966 460772003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46078
46079 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
46080 (setup): Configure the installed partition information and the
46081 dl prefix.
46082
46083 * loader/i386/pc/chainloader.c (my_mod): New variable.
46084 (pupa_chainloader_unload): New function.
46085 (pupa_rescue_cmd_chainloader): Refer itself.
46086 (PUPA_MOD_INIT): Save its own module in MY_MOD.
46087
46088 * kern/i386/pc/startup.S (install_partition): Removed.
46089 (version_string): Likewise.
46090 (config_file): Likewise.
46091 (pupa_install_dos_part): New variable.
46092 (pupa_install_bsd_part): Likewise.
46093 (pupa_prefix): Likewise.
46094 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
46095
46096 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
46097 and pupa/misc.h.
46098 (make_install_device): New function.
46099 (pupa_machine_init): Set the dl prefix.
46100
46101 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
46102 (buf): Renamed to ...
46103 (linebuf): ... this.
46104 (pupa_rescue_cmd_prefix): New function.
46105 (pupa_rescue_cmd_insmod): Likewise.
46106 (pupa_rescue_cmd_rmmod): Likewise.
46107 (pupa_rescue_cmd_lsmod): Likewise.
46108 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
46109 rmmod and lsmod.
46110
46111 * kern/mm.c (pupa_memalign): If failed even after invalidating
46112 disk caches, unload unneeded modules and retry.
46113
46114 * kern/misc.c (pupa_memmove): New function.
46115 (pupa_memcpy): Removed.
46116 (pupa_strcpy): New function.
46117 (pupa_itoa): Made static.
46118
46119 * kern/dl.c (pupa_dl_iterate): New function.
46120 (pupa_dl_ref): Likewise.
46121 (pupa_dl_unref): Likewise.
46122 (pupa_dl_unload): Return if succeeded or not.
46123 (pupa_dl_unload_unneeded): New function.
46124 (pupa_dl_unload_all): Likewise.
46125 (pupa_dl_init): Renamed to ...
46126 (pupa_dl_set_prefix): ... this.
46127 (pupa_dl_get_prefix): New function.
46128
46129 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
46130 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
46131 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
46132 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
46133 (pupa_install_dos_part): Declared.
46134 (pupa_install_bsd_part): Likewise.
46135 (pupa_prefix): Likewise.
46136 (pupa_boot_drive): Likewise.
46137
46138 * include/pupa/types.h: Fix a typo.
46139
46140 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
46141 pupa_memmove.
46142 (pupa_memmove): Declared.
46143 (pupa_strcpy): Likewise.
46144
46145 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
46146 pupa_mod_init takes one argument, its own module.
46147 (pupa_dl_unload_unneeded): Declared.
46148 (pupa_dl_unload_all): Likewise.
46149 (pupa_dl_ref): Likewise.
46150 (pupa_dl_unref): Likewise.
46151 (pupa_dl_iterate): Likewise.
46152 (pupa_dl_init): Renamed to ...
46153 (pupa_dl_set_prefix): ... this.
46154 (pupa_dl_get_prefix): Declared.
46155
46156 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 46157 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 46158 unloaded.
46159 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
46160 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
46161
46162 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
46163 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
46164
012d7999 461652003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
46166
46167 * util/i386/pc/pupa-setup.c (setup): Define the internal
46168 function find_first_partition_start at the top level, because GCC
46169 3.0.x cannot compile internal functions in deeper scopes
46170 correctly.
46171 (find_root_device): Use lstat instead of stat.
46172 Don't follow symbolic links.
46173 Fix the path-constructing code.
46174
46175 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
46176 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
46177 by a BLKGETSIZE ioctl first, because block devices don't fill
46178 the member st_mode of the structure stat on Linux.
46179 [__linux__] (linux_find_partition): Use a temporary buffer
46180 REAL_DEV for the working space. Copy it to DEV before returning.
46181 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
46182 buffer cache consistent.
46183 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
46184 strncmp. The previous value was merely wrong.
46185 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
46186
46187 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
46188 FAT size is 12. The previous value was merely wrong.
46189
46190 * kern/main.c (pupa_main): Don't split the starting message from
46191 newlines.
46192
46193 * kern/term.c (pupa_putchar): Put CR after LF instead of before
46194 LF, because BIOS goes crazy about character attributes in this
46195 case.
46196
1cc73a62 461972003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
46198
46199 * include/i386/pc/util/biosdisk.h: New file.
46200 * util/i386/pc/biosdisk.c: Likewise.
46201 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 46202
1cc73a62 46203 * Makefile.in (INCLUDE_DISTFILES): Added
46204 include/pupa/i386/pc/util/biosdisk.h.
46205 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
46206 directory util/i386/pc.
46207 (install-local): Added a rule for sbin_UTILITIES.
46208 (uninstall): Likewise.
46209
46210 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
46211
46212 * util/misc.c (xrealloc): New function.
46213 (pupa_malloc): Likewise.
46214 (pupa_free): Likewise.
46215 (pupa_realloc): Likewise.
46216 (pupa_stop): Likewise.
46217 (pupa_putchar): Likewise.
46218
46219 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
46220
46221 * include/pupa/util/misc.h (xrealloc): Declared.
46222
46223 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
46224 macro.
46225 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
46226 (PUPA_BOOT_MACHINE_BPB_END): ... this.
46227
46228 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
46229 [PUPA_UTIL] (pupa_fat_fini): Likewise.
46230
46231 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
46232 way should be implemented.
46233 [PUPA_UTIL] (pupa_fat_fini): Likewise.
46234
46235 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
46236 the size of NAME for safety.
46237 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
46238 0x88.
46239
46240 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
46241 (pupa_setup_SOURCES): Likewise.
46242
46243 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
46244
08b70fe8 462452002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
46246
46247 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
46248 bunch of pushl's from pusha, because this destroys the return
46249 value.
46250
62ddcc8f 462512002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
46252
46253 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
46254 This means that any missing prototypes could be fatal. Also, you
46255 must take care when writing assembly code. See the comments at
46256 the beginning of startup.S, for more details.
f19dbdb7 46257
62ddcc8f 46258 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
46259 compilation mechanism.
46260 (pupa_chainloader_real_boot): Likewise.
46261 (pupa_biosdisk_rw_int13_extensions): Likewise.
46262 (pupa_biosdisk_rw_standard): Likewise.
46263 (pupa_biosdisk_check_int13_extensions): Likewise.
46264 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
46265 (pupa_biosdisk_get_diskinfo_standard): Likewise.
46266 (pupa_get_memsize): Likewise.
46267 (pupa_get_mmap_entry): Likewise.
46268 (pupa_console_putchar): Likewise.
46269 (pupa_console_setcursor): Likewise.
46270 (pupa_getrtsecs): Use pushl instead of push.
46271
46272 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
46273 memory instead of the stack for a mmap entry, because some
46274 BIOSes may ignore the maximum size and overflow.
46275
46276 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
46277
46278 * genmk.rb (PModule#rule): Compile automatically generated
46279 sources with module-specific CFLAGS as well as other sources.
46280
9962ed99 462812002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46282
46283 * configure.ac: Check ld.
46284 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
46285 respectively, before checking endianness and sizes.
46286
46287 * Makefile.in (LD): New variable.
f19dbdb7 46288
abdfc3c5 462892002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46290
46291 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
46292
6a161fa9 462932002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46294
46295 * Changelog: New file.
46296