]> git.proxmox.com Git - grub2.git/blame - ChangeLog
Fix overflow in grub_util_get_fd_size for NetBSD.
[grub2.git] / ChangeLog
CommitLineData
650cfcfe
GS
12012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
2
3 Fix overflow.
4
5 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
6 [__NetBSD__]: Add explicit cast before bitshift.
7
8a4d6a44
VS
82012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9
10 * configure.ac: Bump to 2.00~rc1.
11
2fb97ed3
VS
122012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13
14 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
15 half of $a0.
16
1fa097dc
VS
172012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
182012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
19
20 * docs/grub.texi: Fix search syntax.
21 (Multi-boot manual config): Put msdos rather than GPT example.
22 Grammar corrections.
23
c890ba78
VS
242012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
25
26 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
27
0f92dca7
VS
282012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
29
30 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
31
3988c4a0
VS
322012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
33
34 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
35 message on double free. Put the value of magic in case of mismatch.
36
9e86d4c5
VS
372012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
38
39 Speed-up video on yeeloong.
40
41 * grub-core/video/sm712.c (framebuffer): Remove render_target and
42 add cached_ptr.
43 (grub_video_sm712_video_fini): Unmap cached_ptr.
44 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
45 (grub_video_sm712_set_active_render_target): Removed.
46 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
47 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
48 sync caches.
49
ed24c312
VS
502012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
51
52 Avoid flushing the same line multiple times on loongson.
53
54 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
55 Step in 32 bytes and not 1 byte.
56 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
57 Likewise.
58
d1718e7d
VS
592012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
60
61 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
62 subvolumes.
63
982f1909
VS
642012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
65
66 Implement flow control for http.
67
68 * grub-core/net/http.c (parse_line): Handle response 206.
69 (http_receive): Stall if too many packets are in the queue.
70 (http_establish): Fix range header.
71 (http_seek): Fix double free.
72 (http_close): Likewise.
73 (http_packets_pulled): New function.
74 (grub_http_protocol): Set http_seek
75 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
76 (ack_real): Set window depending on i_stall.
77 (grub_net_send_tcp_packet): Likewise.
78 (grub_net_tcp_stall): New function.
79 (grub_net_tcp_unstall): Likewise.
80 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
81 (grub_net_tcp_unstall): Likewise.
82
bd407d6e
VS
832012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
84
85 * grub-core/net/tftp.c: Decrease stall to 50 packets.
86
c7564b8e
VS
872012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
88
89 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
90
a3706162
VS
912012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
92
93 * tests/util/grub-shell.in: Fix a typo.
94
b27069e0
VS
952012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
96
97 Implement flow control for tftp.
98
99 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
100 packets but stop only if stop condition is satisfied.
101 (grub_net_fs_read_real): Call packets_pulled after real read. Use
102 `stall' instead of `eof' as stop condition.
103 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
104 (http_err): Likewise.
105 * grub-core/net/tftp.c (ack): Replace the first argument with data
106 instead of socket.
107 (tftp_receive): Stall if too many packets are in wait queue.
108 (tftp_packets_pulled): New function.
109 (grub_tftp_protocol): Set packets_pulled.
110 * include/grub/net.h (grub_net_packets): New field count.
111 (grub_net_put_packet): Increment count.
112 (grub_net_remove_packet): Likewise.
113 (grub_net_app_protocol): New field `packets_pulled'.
114 (grub_net): New field `stall'.
115
6b9cfac6
VS
1162012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
117
118 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
119 sync part to handle them.
120
f35abd81
VS
1212012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
122
123 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
124 * grub-core/net/drivers/ieee1275/ofnet.c
125 (grub_ieee1275_net_config_real): Likewise.
126
0e7ec820
VS
1272012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
128
129 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
130 the direct route for server/gateway.
131
9d611a31
VS
1322012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
133
134 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
135 IP address to server name since we may not hame the DNS.
136
418f45ab
VS
1372012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
138
139 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
140 freeing random buffer on failure.
141 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
142
44a0efc1
VS
1432012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
144
145 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
146
531e2241
VS
1472012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
148
149 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
150 reserved bytes.
151 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
152 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
153 Handle malloc error correctly.
154
cde393c9
VS
1552012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
156
157 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
158 blocks.
159
538478d0
VS
1602012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
161
162 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
163 increment.
164
9b55efe0
VS
1652012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
166
167 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
168 none is explicitly specified.
169
9eb832c3
VS
1702012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
171
172 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
173 while reallocating.
174
d6b7c7c9
VS
1752012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
176
177 Respect netmask from bootp/dhcp.
178
179 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
180 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
181 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
182 into ...
183 (grub_net_add_ipv4_local): ... this.
184 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
185 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
186 (grub_net_add_ipv4_local): New proto.
187
67caf9eb
VS
1882012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
189
190 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
191 determining EFI memory map size.
192
43657558
VS
1932012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
194
195 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
196
eb6d0dd3
VS
1972012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
198
199 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
200 when looking for partition separator.
201
31230544
VS
2022012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
203
204 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
205 Escape commas.
206
918a2517
VS
2072012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
208
209 Restructure FAT driver to avoid hook in label reading as it hits a
210 GCC bug.
211
212 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
213 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
214 (grub_fat_iterate_dir): Split into ...
215 (grub_fat_iterate_init): ... this, ...
216 (grub_fat_iterate_fini): ... this, ...
217 (grub_fat_iterate_dir_next): ... and this. All users updated.
218
9f1d654e
VS
2192012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
220
221 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
222 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
223 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
224 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
225 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
226 New fields last_key and last_key_time.
227 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
228 extended key-esc into extended key-extended key.
229
52f0f643
VS
2302012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
231
232 Avoid unnecessary memcpy of whole video buffer.
233
234 * grub-core/video/fb/video_fb.c (dirty): New struct.
235 (framebuffer): Add members current_dirty and previous_dirty.
236 (dirty): New function.
237 (grub_video_fb_fill_rect): Update dirty.
238 (common_blitter): Likewise.
239 (grub_video_fb_scroll): Likewise.
240 (doublebuf_blit_update_screen): Copy only dirty part.
241 (doublebuf_pageflipping_update_screen): Likewise.
242 (grub_video_fb_doublebuf_blit_init): Init dirty.
243 (doublebuf_pageflipping_init): Likewise.
244 (grub_video_fb_setup): Likewise.
245
e169a180
VS
2462012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
247
248 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
249 poll rate.
250
48556879
VS
2512012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
252
253 Fix wildcard regexp dot and other special characters handling.
254 Reported by: Robert Mabee.
255
256 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
257 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
258 (split_path): Trigger expansion on '?'.
259 (unescape): New function.
260 (wildcard_expand): Unescape parts copied without globbing.
261 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
262 (grub_script_arglist_to_argv): Don't unescape expansions.
263
0494408e
VS
2642012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
265
266 * include/grub/net.h (grub_net_card): New member txbufsize.
267 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
268 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
269 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
270 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
271 txbufsize.
272 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
273 compatible property to check for macs. Set
274 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
275 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
276 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
277 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
278 (send_card_buffer): Use txbuf.
279 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
280 nested function out of the parent while on it.
281
cc35fe8f
VS
2822012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
283
284 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
285 presence check.
286 (grub_ieee1275_net_config_real): Fix config pointer.
287
970a0a09
VS
2882012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
289
290 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
291 filename parsing to non-block devices.
292
3e19bf87
VS
2932012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
294
295 * grub-core/kern/device.c (grub_device_open): Remove dead code.
296
c62d1a0c
VS
2972012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
298
299 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
300 All users updated.
301
ef76bec3
VS
3022012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
303
304 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
305 UUID search command even if hints probing failed.
306
3072012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
308
309 * po/POTFILES.in: Regenerated.
310
70aaf305
VS
3112012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
312
313 Speed-up video on fuloong.
314
315 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
316 New function.
317 (grub_pci_device_unmap_range): Handle non-cached address.
318 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
319 add direct_ptr.
320 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
321 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
322 (grub_video_sis315pro_set_active_render_target): Removed.
323 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
324 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
325 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
326 sync caches.
327 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
328 New proto.
329
10400f0b
VS
3302012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
331
332 * docs/grub.texi (Multi-boot manual config): New section.
333
ba67e2c6
VS
3342012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
335
336 Avoid slow read-back from VRAM.
337
338 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
339 Move from here ...
340 * grub-core/video/fb/video_fb.c
341 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
342 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
343 (front_target): Remove front_target. Add pages.
344 (grub_video_fb_init): Skip setting front_pages.
345 (grub_video_fb_fini): Likewise.
346 (doublebuf_blit_update_screen): Use pages.
347 (grub_video_fb_doublebuf_blit_init): Likewise.
348 (doublebuf_pageflipping_init): Allocate offscreen buffer.
349 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
350 (grub_video_fb_setup): Prefer doublebuffing.
351
377c98cb
VS
3522012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
353
354 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
355 gzio.
356
eac49cff
VS
3572012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
358
359 Add loongson tests.
360
361 * tests/util/grub-shell.in: Handle loongson.
362 * tests/partmap_test.in: Add loongson to the list of platform using ATA
363 drivers.
364 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
365 Reboot instead of shutdown if REBOOT is defined.
366
0321415e
VS
3672012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
368
369 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
370 sized ports since unlike on real hardware qemu supports only 32-bit
371 regs.
372
3f2bdd8f
VS
3732012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
374
375 * Makefile.util.def (grub-mkrescue): Enable on loongson.
376 * util/grub-mkrescue.in: Handle loongson.
377
29a049c9
VS
3782012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
379
380 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
381 Set is_part appropriately.
382 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
383 names. Canonicalize partition without full disk.
384
4abde346
VS
3852012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
386
387 Revert usb-quiesce since it's wrong.
388
389 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
390 (grub_ofdisk_init): Don't do quiesce.
391
61f1d93b
VS
3922012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
393
394 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
395 PowerMac workaround to Xserves as well.
396 Information supplied by: Benjamin Herrenschmidt.
397
a09eb541
VS
3982012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
399
400 Don't assume that beginning address is also the entry point on ppc.
401
402 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
403 (grub_linux_boot): Use linux_entry.
404 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
405 (grub_linux_load64): Likewise.
406
505b3c9b
VS
4072012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
408
409 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
410
cbe0b4ef
VS
4112012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
412
413 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
414 needlessly lose the console.
415
3006e981
VS
4162012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
417
418 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
419 space.
420
4e5a96b0
VS
4212012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
422
7da036bb
VS
423 Remove non-functional EFI grub_get_rtc. Put a better fatal message
424 than current grub_get_rtc() not implemented when booted with
425 coreboot without TSC.
426
427 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
428 Add machine/time.h to kernel headers on loongson.
429 * grub-core/Makefile.core.def (kernel): Remove
430 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
431 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
432 (grub_get_rtc): Likewise.
433 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
434 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
435 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
436 * grub-core/kern/i386/tsc.c (grub_tsc_init)
437 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
438 rather than installing known non-working time source.
439 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
440 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
441 * include/grub/time.h: Don't include machine/time.h.
442 * include/grub/efi/time.h: Removed.
443 * include/grub/i386/efi/time.h: Likewise.
444 * include/grub/i386/ieee1275/time.h: Likewise.
445 * include/grub/powerpc/ieee1275/time.h: Likewise.
446 * include/grub/sparc64/ieee1275/time.h: Likewise.
447 * include/grub/x86_64/efi/time.h: Likewise.
448
4492012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
450
451 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
452
453 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
454 value.
455 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
456 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
457 with dotless variants when any combining above is present.
458
5561c22d
VS
4592012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
460
461 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
462 text and not binary.
463
96f7e60e
VS
4642012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
465
466 Stop polling as soon as we have the packet we were waiting for.
467
468 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
469 All users updated.
470 * grub-core/net/arp.c (have_pending): New var.
471 (pending_req): Likewise.
472 (grub_net_arp_send_request): Fill pending_req and use have_pending as
473 stop indicator.
474 (grub_net_arp_receive): Set have_pending.
475 * grub-core/net/dns.c (recv_data): New field stop.
476 (recv_hook): Set stop.
477 (grub_net_dns_lookup): Init stop and use as stop condition.
478 * grub-core/net/http.c (http_establish): Use headers_recv as stop
479 condition.
480 * grub-core/net/net.c (grub_net_poll_cards): New argument
481 stop_condition. Stop when it goes true.
482 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
483 indicator.
484 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
485
3e747239
VS
4862012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
487
488 Keep TX and RX buffers on EFI rather than always allocate new ones.
489
490 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
491 card. All users updated.
492 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
493 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
494 (get_card_packet): Likewise.
495 (grub_efinet_findcards): Init new fields.
496
f695e99a
VS
4972012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
498
499 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
500 compilation error on sparc64.
501
9e5e66d1
VS
5022012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
503
504 Use ITC on IA64 rather than broken routine based on daytime.
505
506 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
507 ia64.
508 (grub_get_rtc) [__ia64__]: Likewise.
509 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
510 (get_itc): New function.
511 (grub_rtc_get_time_ms): Likewise.
512 (grub_machine_init): Calibrate ITC.
513 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
514 Keep only on non-ia64. Don't export since it's broken and used only
515 if TSC is unavailable.
516
a1767404
VS
5172012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
518
519 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
520 even if it's used.
521 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
522 Skip if parent is unused.
523
34b2bced
VS
5242012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
525
526 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
527
5e619f40
VS
5282012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
529
530 Fix wildcard escaping.
531
532 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
533 * grub-core/script/execute.c (wildcard_escape): .. to here.
534 Don't escape dot.
535 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
536 * grub-core/script/execute.c (wildcard_unescape): .. to here.
537 Don't escape dot.
538 * grub-core/script/execute.c (gettext_append): Always escape.
539 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
540 * grub-core/script/yylex.l: Don't cut away the escaping.
541 * tests/grub_script_echo1.in: Add tests with wildcard.
542
c8ca5855
VS
5432012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
544
545 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
546 (ftdi_hw_configure): Likewise.
547 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
548 define.
549 (real_config): Handle 1.5 stop bits.
550 (pl2303_hw_configure): Likewise.
551
7183452c
VS
5522012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
553
554 * Makefile.am: Add ppc linux bootcheck.
555 * grub-core/tests/boot/linux-ppc.cfg: New file.
556 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
557
f57c84cd
VS
5582012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
559
560 * tests/grub_script_expansion.in: Skip network protocols.
561
ecfc6207
VS
5622012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
563
564 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
565
8d03d284
VS
5662012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
567
568 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
569 --rom-directory.
570 Add -graft-points.
571
61c42af0
VS
5722012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
573
574 ESCC serial driver for conducting sautomated tests in qemu.
575 Not tested on real hardware.
576
577 * include/grub/serial.h (grub_serial_port): New field escc_desc.
578 * grub-core/term/ieee1275/escc.c: New file.
579 * grub-core/Makefile.core.def (escc): New module.
580
08fd1291
VS
5812012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
582
583 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
584 invalid on error.
585 (serial_hw_fetch): Don't read invalid handle.
586 (serial_hw_put): Don't write into invalid handle.
587
08dafeea
VS
5882012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
589
590 Add a 1.5 stop bits value.
591
592 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
593 * include/grub/serial.h (grub_serial_stop_bits_t): Add
594 GRUB_SERIAL_STOP_BITS_1_5.
595
9068fdcf
VS
5962012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
597
598 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
599 value rather than let it uninited.
600
f4d5820f
VS
6012012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
602
603 * grub-core/commands/wildcard.c (+check_file): New function.
604 (wildcard_expand): Don't expand to non-existing files, expand with
605 suffix and not attempt to expand if not needed.
606
3d2de9a7
VS
6072012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
608
609 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
610 out of partitions containing other partitions.
611
c5c81ff9
VS
6122012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
613
614 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
615 on some qemu versions with GRUB.
616
617 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
618 define.
619 (grub_openbsd_bootarg_pcibios): New struct.
620 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
621 Add PCIINFO.
622
08a14e0b
VS
6232012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
624
625 * tests/util/grub-shell.in: Trim firmware output on EFI.
626
cede3ca3
VS
6272012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
628
629 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
630 and coreboot since it's already in kernel.
631
558d3a60
VS
6322012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
633
634 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
635 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
636 to here. New return value start. All users updated.
637 Recursively scan linear mappings.
638 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
639 proto.
640 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
641 Use grub_util_get_dm_node_linear_info.
642 * util/getroot.c (convert_system_partition_to_system_disk): Use
643 grub_util_info rather than grub_dprintf.
644 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
645
60fde14d
VS
6462012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
647
648 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
649
650 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
651 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
652
24bd8838
VS
6532012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
654
655 * include/grub/types.h (grub_set_unaligned64): New function.
656 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
657 (setup): Likewise.
658
7bc06a49
VS
6592012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
660
661 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
662 (grub_ofdisk_fini): Quiesce USB devices.
663
49cea015
VS
6642012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
665
666 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
667 caches.
668
8dcbe03b
VS
6692012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
670
671 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
672
5b258735
VS
6732012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
674
675 * grub-core/disk/pata.c (grub_pata_pio_read)
676 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
677 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
678
37ba07eb
VS
6792012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
680
681 Extend automated tests to qemu-mips.
682
683 * Makefile.am: reorganise tests and enable qemu-mips.
684 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
685 * grub-core/tests/boot/linux.init-mips.S: New file.
686 * tests/partmap_test.in: Handle ata0 disks.
687 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
688 non-pc i386.
689
070038f8
VS
6902012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
691
692 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
693 ia64.
694 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
695 quotes while on it.
696
004be2cd
VS
6972012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
698
699 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
700 (grub_halt): Likewise.
701 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
702
b1622487
VS
7032012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
704
705 * grub-core/term/serial.c (grub_serial_register)
706 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
707 the behaviour in line with x86 platforms.
708
b7b4ab33
VS
7092012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
710
711 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
712 (grub_ata_strncpy): Likewise.
713 (grub_ata_identify): Add missing byteswaps.
714
5e3535ae
VS
7152012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
716
717 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
718 byte-swap.
719 (screen_read_char): Likewise.
720 (grub_vga_text_cls): Likewise.
721
c21b17e6
VS
7222012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
723
724 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
725 filenames.
726 (make_file_path): Likewise.
727
bf293dec
VS
7282012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
729
730 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
731 machines.
732 Tested by: Paulo Flabiano Smorigo.
733 Crucial information about API supplied by: Coleen <Last name unknown>.
734 Reviewed by: Coleen <Last name unknown>.
735
81f6ef0e
VS
7362012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
737
738 * util/grub-mkimage.c: Disable -Wcast-align.
739
7284143a
VS
7402012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
741
742 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
743 as they are fatal.
744
b99f3e00
VS
7452012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
746
747 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
748
944f752d
VS
7492012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
750
751 * util/grub-probe.c (escape_of_path): Fix double free.
752
6cce6f38
VS
7532012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
754
755 * grub-core/commands/videoinfo.c (hook): Show pitch.
756
1e1eb50e
VS
7572012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
758
759 * util/grub.d/20_linux_xen.in: Skip xen-syms.
760
1c715b5a
VS
7612012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
762
763 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
764 (probe): Add ieee1275 to OFW devices.
765
007ae52d
VS
7662012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
767
768 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
769
4557a36d
VS
7702012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
771
772 Handle IBM OFW path.
773
774 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
775 available.
776 (of_path_of_scsi): Handle vdevice.
777
efbeefe9
VS
7782012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
779
780 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
781 Allocate in multiples of 16 to avoid adding a few bytes free region the
782 windows bugs upon.
783
15a940bb
VS
7842012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
785
786 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
787 Allocate in multiples of 16 to avoid adding a few bytes free region the
788 windows bugs upon.
789 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
790
6e5efd60
VS
7912012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
792
793 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
794 resolutions.
795 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
796 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
797
0d3d137e
IS
7982012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
799
800 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
801
45dbe300
VS
8022012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
803
804 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
805 resulted in \\ at the end of the line.
806
6d8db947
VS
8072012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
808
809 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
810 (grub_parser_cmdline_state): Likewise.
811 (grub_parser_split_cmdline): Likewise.
812
de89d338
VS
8132012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
814
815 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
816 /dev/root and /dev/dm-*.
817
00d41dee
VS
8182012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
819
820 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
821 fix partially stale display.
822
f95d1f11
VS
8232012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
824
825 * grub-core/normal/menu_entry.c (backward_char): Use right line for
826 substraction.
827
6297e197
VS
8282012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
829
830 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
831 Fix MBR remapping workaround.
832 (grub_util_biosdisk_read) [__linux__]: Likewise.
833
8a7ecad3
VS
8342012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
835
836 * util/grub-install.in: Check for ieee1275 and not ieee1276.
837
2b34f944
VS
8382012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
839
840 * configure.ac: Bump to beta6.
841
684aef11
CW
8422012-05-31 Christer Weinigel <christer@weinigel.se>
843
844 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
845
05b0bb91
VS
8462012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
847
848 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
849 (grub_cmd_linux): Likewise.
850
bda36bfa
CW
8512012-05-31 Christer Weinigel <christer@weinigel.se>
852
853 Fix EHCI low-speed.
854
855 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
856 (GRUB_EHCI_MULT_TWO): Likewise.
857 (GRUB_EHCI_MULT_THREE): Likewise.
858 (GRUB_EHCI_CMASK_MASK): New enum value.
859 (GRUB_EHCI_SMASK_MASK): Likewise.
860 (GRUB_EHCI_CMASK_OFF): Likewise.
861 (GRUB_EHCI_SMASK_OFF): Likewise.
862 (grub_ehci_pci_iter): Enable periodic schedule.
863 (grub_ehci_parse_notrun): Likewise.
864 (grub_ehci_restore_hw): Likewise.
865 (grub_ehci_setup_qh): Set flags for low speed transfers.
866 (grub_ehci_find_qh): Use periodic list for low speed.
867 (grub_ehci_setup_transfer): Check periodic queue as well.
868 (grub_ehci_check_transfer): Likewise.
869 (grub_ehci_cancel_transfer): Cancel periodic transfer.
870
e12bcb1c
PFS
8712012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
872
873 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
874 parameter is used.
875
bcc75fb3
PJ
8762012-05-31 Peter Jones <pjones@redhat.com>
877
878 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
879 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
880 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
881
f19cb95e
VS
8822012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
883
884 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
885 uninited variable. Allocate at least setup_sects.
886
a4e5ca80
VS
8872012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
888
889 Fix handling of EFI with big memory maps.
890
891 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
892 (real_mode_mem): Likewise.
893 (real_mode_target): Likewise.
894 (real_mode_pages): Likewise.
895 (prot_mode_pages): Likewise.
896 (linux_params): New var.
897 (linux_cmdline): Likewise.
898 (free_pages): Don't set real mode variables.
899 (allocate_pages): Don't allocate real mode memory.
900 (grub_e820_add_region): Remove the limit.
901 (grub_linux_boot): Allocate and copy real mode memory.
902 (grub_linux_unload): Free linux_cmdline.
903 (grub_cmd_linux): Use temporary storage for parameters.
904 (grub_cmd_initrd): Likewise.
905 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
906 (linux_kernel_params): Make it 1K big.
907
ddb73558
VS
9082012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
909
910 * Makefile.util.def: Remove -Wno-format.
911 * grub-core/Makefile.core.def: Likewise.
912
1c4afb60
VS
9132012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
914
915 * tests/cmp_unit_test.c: Add missing failure message.
916 * tests/example_unit_test.c: Likewise.
917 * tests/printf_unit_test.c: Likewise.
918
941e3a6d
VS
9192012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
920
921 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
922 relaxation of protective MBR requirements.
923
b105df76
VS
9242012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
925
926 * configure.ac: Add condition for COND_HOST_XNU.
927 * Makefile.util.def (10_xnu): New script.
928 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
929
84e1569e
VS
9302012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
931
932 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
933 objconv bug.
934
130c0f77
VS
9352012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
936
937 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
938 Binary on other platforms stays identical.
939
6fd0b143
VS
9402012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
941
942 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
943 Apple.
944
0af1751d
VS
9452012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
946
947 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
948
176d5f7d
VS
9492012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
950
951 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
952 rather than defining size_t ourselves to avoid conflict.
953
7de5e20a
VS
9542012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
955
956 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
957 initialisation to avoid __bzero reference.
958
f7143efe
VS
9592012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
960
961 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
962 version.
963 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
964 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
965 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
966 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
967 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
968
e6ad0555
VS
9692012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
970
971 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
972 * grub-core/kern/misc.c: Likewise.
973 * grub-core/loader/i386/xnu.c: Likewise.
974 * include/grub/i386/tsc.h: Likewise.
975 * include/grub/symbol.h: Likewise.
976
4a5a3c4a
VS
9772012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
978
979 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
980 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
981 on older compiler.
982
037f6d90
VS
9832012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
984
985 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
986 Implement Apple flavour.
987 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
988
f7194551
VS
9892012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
990
991 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
992 (memmove) [__APPLE__]: Likewise.
993 (memcpy) [__APPLE__]: Likewise.
994 (memset) [__APPLE__]: Likewise.
995 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
996 (memmove) [__APPLE__]: Likewise.
997 (memcpy) [__APPLE__]: Likewise.
998 (memset) [__APPLE__]: Likewise.
999
85a730ca
VS
10002012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1001
1002 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
1003 dependency discard.
1004
40e80b94
VS
10052012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1006
1007 * grub-core/normal/main.c (read_config_file): Provide config_file and
1008 config_directory.
1009 * util/grub.d/41_custom.in: Use config_directoy when available.
1010
9da59c32
VS
10112012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1012
1013 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
1014 (grub_bfs_dir): Likewise.
1015
2787ae53
PJ
10162012-05-27 Peter Jones <pjones@redhat.com>
1017
1018 The old code gives arguments to a printf function which can't work
1019 correctly, and the compiler complains.
1020
1021 * grub-core/tests/example_functional_test.c (example_test): Add
1022 missing text.
1023 * grub-core/tests/lib/test.c (add_failure): Rewrite.
1024 * include/grub/test.h (grub_test_assert_helper): New declaration.
1025 (grub_test_assert): Use grub_test_assert_helper.
1026
526ef13d
VS
10272012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1028
1029 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
1030 (exfctest): ... this to avoid overlong filenames.
1031 All users updated.
1032
20dd511c
VS
10332012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1034
1035 Handle "." and ".." on squashfs.
1036
1037 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
1038 Make inode numbers into stack.
1039 (grub_squash_read_symlink): Use stack.
1040 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
1041 (make_root_node): Fill stack.
1042 (grub_squash_open): Use stack.
1043
1d80c62a
VS
10442012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1045
1046 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
1047 freeing.
1048
d336f652
VS
10492012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1050
1051 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
1052 stderr on test calls.
1053
8b43f587
VS
10542012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1055
1056 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
1057
80a3dc3f
VS
10582012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1059
1060 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
1061
47e297d4
VS
10622012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1063
1064 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
1065 "..".
1066
df042ccb
VS
10672012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1068
1069 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
1070 (grub_hfsplus_iterate_dir): Add "." and "..".
1071
fc977f48
VS
10722012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1073
1074 * grub-core/fs/cpio.c (canonicalize): Handle "..".
1075 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
1076
f3250e5f
VS
10772012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1078
1079 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
1080 (find_path): Handle "." and "..".
1081
fd8ed4c5
VS
10822012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1083
1084 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
1085 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
1086 (grub_affs_iterate_dir): Handle hardlinks.
1087
4ce776d2
MG
10882012-05-26 Matthew Garrett <mjg@redhat.com>
1089
1090 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
1091 (grub_efi_console_fini): Likewise.
1092 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
1093 (grub_video_gop_fill_mode_info): Rename to ...
1094 (grub_video_gop_fill_real_mode_info): ... this.
1095 (grub_video_gop_fill_mode_info): New function.
1096 (grub_video_gop_setup): Setup double framebuffer.
1097 (grub_video_gop_get_info_and_fini): Use original framebuffer.
1098 Free offscreen.
1099 (grub_video_gop_swap_buffers): Copy framebuffer.
1100 (grub_video_gop_fini): Free offscreen buffer.
1101 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
1102 New enum.
1103 (grub_efi_gop_blt_pixel): New struct.
1104
683031ba
VS
11052012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1106
1107 * gentpl.py: Remove error disabling for objconv.
1108
c2deb798
VS
11092012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1110
1111 * configure.ac: Remove -Wunitialized as it's not available on older
1112 compilers.
1113
11142012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
1115
1116 Fix extent overflow comparator.
1117
1118 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
1119 (grub_hfsplus_read_block): Set type.
1120 (grub_hfsplus_cmp_extkey): Compare type.
1121
d6b1fd36
VS
11222012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
1123
1124 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
1125
0a9aa0f6
VS
11262012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1127
1128 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
1129 than 0.
1130
8360e159
VS
11312012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1132
1133 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
1134 (dejavu_bold_14.pf2): New target.
1135
501b9e4b
VS
11362012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1137
1138 * configure.ac: Fix djvu font detection.
1139
7026b0e2
VS
11402012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1141
1142 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
1143 ext* instead of ext2.
1144
c2a51ade
VS
11452012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1146
1147 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
1148 name with \0.
1149
8f803a5d
JU
11502012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
1151
1152 * docs/grub-dev.texi: Remove dot from .png.
1153
13c6353f
VS
11542012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1155
1156 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
1157 protective entry in any slot.
1158 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
1159 if protective entry is found in any slot.
1160
1161 Protective entry in non-first slot make no sense but is a widespread
1162 brain damage.
1163
4cf6be1b
VS
11642012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1165
1166 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
1167
937d1c44
VS
11682012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1169
1170 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
1171 with old reiserfs.
1172 (grub_reiserfs_open): Don't free root.
1173
021d90ec
VS
11742012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1175
1176 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
1177 after freeing for safety.
1178
967b2b64
VS
11792012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1180
1181 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
1182 Reported by: Jordan Uggla.
1183
34274d02
JU
11842012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
1185
967b2b64
VS
1186 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
1187 actual implementation. Specifically, clarify that the grub menu will
1188 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
1189 passed.
34274d02 1190
dcaaae9d
BH
11912012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
1192
1193 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
1194 of r0.
1195
7086ad52
VS
11962012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1197
1198 Remove unjustified hard dependency of normal.mod on gfxterm.
1199
1200 * include/grub/term.h (grub_term_output): New member fullscreen.
1201 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
1202 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
1203 (grub_gfxterm): Set .fullscreen.
1204 * grub-core/normal/menu.c (menu_init): Use fullscreen.
1205 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
1206
37ed2c9b
VS
12072012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1208
1209 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
1210 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 1211 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 1212
a4469c88
VS
12132012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1214
1215 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
1216
4e461486
VS
12172012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1218
1219 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
1220 a bad FS.
1221
aa78f5c4
VS
12222012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1223
1224 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
1225 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
1226
197626b5
VS
12272012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1228
1229 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
1230 (grub_jfs_mount): Fill caseins.
1231 (grub_jfs_find_file): Respect caseins.
1232
8ad3f28c
VS
12332012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1234
1235 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
1236 through UTF-16.
1237
0c6c324e
VS
12382012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1239
1240 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
1241 New argument origpath. All users updated.
1242
c6666ba6
VS
12432012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1244
1245 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
1246 (read_attr): Ensure that we read start of possibly compressed block.
1247
e28e5fe5
VS
12482012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1249
1250 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
1251 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
1252 All users updated.
1253
5fc23ab2
VS
12542012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1255
1256 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
1257 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
1258 (dejavu.pf2): Replace with ...
1259 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
1260 this.
1261
79dbc21c
VS
12622012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1263
1264 * util/grub.d/20_linux_xen.in: Add missing line.
1265
d2fcfb0c
VS
12662012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1267
1268 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
1269 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
1270 (grub_utf16_to_utf8): Likewise.
1271
5560e9d6
VS
12722012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1273
1274 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
1275 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
1276 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1277 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
1278 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
1279 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
1280
12812012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
1282
1283 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
1284 a bad FS.
1285
5560e9d6 12862012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
1287
1288 * grub-core/fs/udf.c (read_string): Bail out on size=0.
1289 (grub_udf_read_symlink): Handle read_string failure.
1290
5eae3175
VS
12912012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1292
1293 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
1294 comment.
1295
c1ad82db
VS
12962012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1297
1298 Fix handling of UDF symlinks.
1299
1300 * grub-core/fs/udf.c (read_string): New argument outbuf.
1301 All users updated.
1302 (grub_ufs_read_symlink): Rename to ...
1303 (grub_udf_read_symlink): ... this. All users updated.
1304 Handle symlinks with more than one component.
1305
33eca6e0
VS
13062012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1307
1308 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
1309 symlinks. Replace leading colon with a slash.
1310
57f4a70b
VS
13112012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1312
1313 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
1314 filename.
1315
38c8ee20
VS
13162012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1317
1318 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
1319 match in inner node.
1320
2e57f28f
VS
13212012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1322
1323 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
1324 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
1325 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
1326 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
1327 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
1328 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
1329 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
1330 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
1331 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
1332
fe8c2f11
VS
13332012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1334
1335 Use grub-probe and not cmp to check that disk is empty.
1336
1337 * util/grub-install.in: Use grub-probe for zero-check.
1338 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
1339 (probe): Handle PRINT_ZERO_CHECK.
1340 (argp_parser): Handle -t zero_check.
1341
13422012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
1343
1344 Flush block cache on adding disk to device map.
1345
1346 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
1347 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
1348 adding.
1349 (read_device_map): Likewise.
1350 (open_device): Flush on opening.
1351
690434e8
VS
13522012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1353
1354 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
1355 (handle_symlink): Fix off-by-one error.
1356 Canonicalize the target.
1357 (grub_cpio_dir): Canonicalize the name.
1358 Fix memory leak.
1359 Set directory.
1360 (grub_cpio_open): Canonicalize the name.
1361
742d2be6
VS
13622012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1363
1364 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
1365 handling.
1366
3244fe96
VS
13672012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1368
1369 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
1370 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
1371
8aeb1837
VS
13722012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1373
1374 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
1375 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 1376 All users updated.
8aeb1837 1377
9133fd05
VS
13782012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1379
1380 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
1381 counterpart.
1382
6d521c5b
VS
13832012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1384
1385 Fix UFS1 big file support.
1386
1387 * grub-core/fs/ufs.c (INODE): Removed.
1388 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
1389 64-bit.
1390 (INODE_MODE): Simplify.
1391 (grub_ufs_inode): Use uint64_t for size and not int64_t.
1392 (grub_ufs_lookup_symlink): Don't use INODE.
1393
21b82e17
VS
13942012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1395
1396 Fix minixfs with non-power-of-two blocks since it's supported by minix.
1397
1398 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
1399 (grub_minix_data): Replace log_block_size with block_size.
1400 (grub_minix_read_file): Use block_size but avoid 64-bit division.
1401 (grub_minix_mount): Fill block_size.
1402
14032012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
1404
1405 * configure.ac: Bump to beta5.
1406
f417ed04
VS
14072012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1408
1409 Fix wrapped HFS+ handling.
1410
1411 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
1412 blocks_start. All users updated.
1413 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
1414 wrapping offset.
1415 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
1416
607d282b
VS
14172012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1418
1419 Fix long symlinks on reiserfs.
1420
1421 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
1422 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
1423 (grub_reiserfs_iterate_dir): Save size for non-directories.
1424 (grub_reiserfs_open): Don't reread stat block as we already know the
1425 size.
1426 (grub_reiserfs_read): Split into...
1427 (grub_reiserfs_read_real): ... and ...
1428 (grub_reiserfs_read): ...this.
1429
ae16024d
VS
14302012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1431
1432 Fix non-indexed JFS.
1433
1434 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
1435 (grub_jfs_data): New field namecomponentlen.
1436 (grub_jfs_mount): Fill namecomponentlen.
1437 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
1438
eea1e26e
VS
14392012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1440
1441 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
1442 * tests/grub_script_echo1.in: Add tests.
1443
df760f77
VS
14442012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1445
1446 * util/grub-install.in: Ignore empty devicetree directory.
1447
5efb817d
B
14482012-05-08 Bean <bean123ch@gmail.com>
1449
1450 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
1451 All users updated.
1452 (free_rsm): Free header as well.
1453 (free_old_fragments): Fix memory leak.
1454 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
1455 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
1456 (destroy_pq): Likewise.
1457 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
1458
668ea6d2
VS
14592012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1460
1461 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
1462 resulting hash as a precaution.
1463
1739b1fe
VS
14642012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1465
1466 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
1467 '_' in variable names.
1468 * grub-core/net/net.c (grub_net_network_level_interface_register):
1469 Likewise.
1470
6ae485aa
VS
14712012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1472
1473 Fix AFFS with non-512B blocks.
1474
1475 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
1476 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
1477 (grub_affs_data): Replace blocksize with log_blocksize.
1478 (grub_affs_read_block): Fix non-512B blocks.
1479 (grub_affs_read_symlink): Likewise.
1480 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
1481 (grub_affs_read): Fix non-512B blocks.
1482 (grub_affs_label): Likewise.
1483 (grub_affs_mtime): Likewise.
1484 (grub_affs_mount): Fix block detection routine.
1485
d20fab84
VS
14862012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1487
1488 Add filesystem mtime to AFFS.
1489
1490 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
1491 (aftime2ctime): New function.
1492 (grub_affs_dir): Use aftime2ctime.
1493 (grub_affs_label): Fix return value.
1494 (grub_affs_mtime): New function.
1495 (grub_affs_fs): Add mtime.
1496
e87b10f5
VS
14972012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1498
1499 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
1500 UTF-8.
1501
7dceec9b
VS
15022012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1503
1504 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
1505 UTF-8.
1506
2f48221f
VS
15072012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1508
1509 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
1510
dacd85cf
VS
15112012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1512
1513 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
1514 flags.
1515 (FLAGS_CASE_SENSITIVE): New enum value.
1516 (cache_entry): New struct.
1517 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
1518 cache_size and cache.
1519 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
1520 Add log_blocksize and fshelp_flags.
1521 (grub_sfs_read_extent): Handle non-512 blocks.
1522 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
1523 (grub_sfs_read_file): Handle non-512 blocks.
1524 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
1525 fshelp_flags.
1526 (grub_sfs_read_symlink): Handle non-512 blocks.
1527 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
1528 (grub_sfs_dir): Free cache.
1529 (grub_sfs_close): Likewise.
1530
24e9a854
VS
15312012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1532
1533 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
1534 filesystems.
1535
62ace64d
VS
15362012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1537
1538 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
1539
83b2e89c
VS
15402012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1541
1542 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
1543
75ccaea3
VS
15442012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1545
1546 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
1547 (grub_sfs_read_extent): Likewise.
1548 (grub_sfs_read_block): Likewise.
1549 (grub_sfs_mount): Likewise.
1550 (grub_sfs_iterate_dir): Likewise.
1551 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
1552 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
1553
1b8463f2
VS
15542012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1555
1556 Fix errors on compressed NTFS with 512B clusters.
1557
1558 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
1559 types.
1560 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
1561 not 0.
1562 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
1563 Relax check for inline extents.
1564 (ntfscomp): Return correct -1 on error and not 0.
1565
4f8e368f
VS
15662012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1567
1568 * util/grub-install.in: Fix handling of prefix containing spaces.
1569
6f5d5ee8
VS
15702012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1571
1572 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
1573 (grub_squash_read_data): Fix offset byte-swapping.
1574
ce41ab7a
VS
15752012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1576
1577 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
1578 per common usage and preffered in several parts of code.
1579 (grub_memcmp): Likewise.
1580 (grub_strncmp): Likewise.
1581 * include/grub/misc.h (grub_strcasecmp): Likewise.
1582 (grub_strncasecmp): Likewise.
1583 * Makefile.util.def (cmp_test): New test.
1584 (grub_script_strcmp): Likewise.
1585 * tests/cmp_unit_test.c: New file.
1586 * tests/grub_script_strcmp.in: Likewise.
1587 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
1588
49717bf4
VS
15892012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1590
1591 * include/grub/pci.h: Move enums into no-asm part.
1592
0a308f64
VS
15932012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1594
1595 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
1596
1796965f
ST
15972012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
1598
1599 * util/getroot.c (find_hurd_root_device): Try to make error message
1600 and comments to translators clearer.
1601
4e9b2819
VS
16022012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1603
1604 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
1605
076aeb50
VS
16062012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1607
1608 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
1609 btrfs.
1610
19424d94
VS
16112012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1612
1613 * docs/grub.cfg: Update.
1614
ebb73076
VS
16152012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1616
1617 * docs/grub.texi (PXE): Remove not present variables.
1618
9a1b669c
VS
16192012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1620
1621 * grub-core/net/net.c (defserver_set_env): New function.
1622 (defserver_get_env): Likewise.
1623 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
1624
d38bf7d3
VS
16252012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1626
1627 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
1628 entries.
1629
16302012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
1631
1632 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
1633 * grub-core/kern/emu/hostdisk.c: Likewise.
1634
e5e4ca48
ST
16352012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
1636
1637 Handle hurd userspace partitions.
1638
1639 * util/getroot.c (find_hurd_root_device): New function.
1640 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
1641
56bb5dd5
VS
16422012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1643
1644 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
1645 names.
1646 Reported by: Bastian Blank.
1647
9e8bc27a
VS
16482012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1649
1650 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
1651 crossing page boundary.
1652
aa01499d
VS
16532012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1654
1655 Fix B-tree search in BFS, especially in presence of non-ASCII
1656 characters.
1657
1658 * grub-core/fs/bfs.c (bfs_strcmp): New function.
1659 (find_in_b_tree): Use standard bsearch + btree algorithm.
1660
57006035
VS
16612012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1662
1663 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
1664 and so on.
1665
9d34bb85
MG
16662012-05-03 Matthew Garrett <mjg@redhat.com>
16672012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1668
1669 Suspend broadcom cards in order to stop their DMA.
1670
1671 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
1672 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
1673 (pci): Don't build on x86 EFI.
1674 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
1675 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
1676 New function.
1677 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
1678 stop_broadcom if running on EFI.
1679 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
1680 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
1681 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
1682 (grub_pci_find_capability): New proto.
1683
01aab997
VS
16842012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1685
1686 * docs/grub.texi: Remove dot from the extension as it apparently
1687 doesn't work with some makeinfo versions.
1688
fbd8dca6
VS
16892012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1690
1691 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
1692 with GRUB expectance.
1693
dab797f4
VS
16942012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1695
1696 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
1697
1516bfb4
VS
16982012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1699
1700 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
1701 zero after directory block since last entry may be not 0-terminated if
1702 it ends on block boundary. Use continue instead of if spanning whole
1703 loop.
1704
a3a0eace
VS
17052012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1706
1707 Support 4K sectors UDF inline files.
1708
1709 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
1710 (grub_udf_extended_file_entry): Likewise.
1711 (grub_fshelp_node): Name the anonymous union. Put block at the end.
1712 All users updated.
1713 (get_fshelp_size): New function.
1714 (grub_udf_read_icb): Read whole block.
1715 (grub_udf_iterate_dir): Likewise.
1716 (grub_udf_dir): Likewise.
1717 (grub_udf_open): Likewise.
1718
c82f16c1
VS
17192012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1720
1721 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
1722
59fd2aac
VS
17232012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1724
1725 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
1726 inline symlinks in addition to workaround.
1727
3b4afb4d
VS
17282012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1729
1730 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
1731
f45c794a
VS
17322012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1733
1734 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
1735
f25cecbd
VS
17362012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1737
1738 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
1739
bb9a34e8
VS
17402012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1741
1742 Fix reiserfs big seek times.
1743
1744 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
1745 exact. All users updated.
1746 (grub_reiserfs_read): Use nearest btree search for seeking.
1747 Fix return value on error.
1748
dc478aea
VS
17492012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1750
1751 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
1752 entries.
1753 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
1754 * docs/grub.texi: Update menuentry description.
1755
8db10f47
VS
17562012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1757
1758 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
1759 crash when embedding onto filesystem.
1760
bcb288ed
VS
17612012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1762
1763 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
1764 name.
1765
a626fdd7
VS
17662012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1767
1768 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
1769
b2f68477
VS
17702012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1771
1772 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
1773 commit.
1774
ba15b2af
B
17752012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17762012-05-01 Bean <bean123ch@gmail.com>
1777
1778 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
1779
a188012e
VS
17802012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1781
1782 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
1783 Special behaviour for len = 0 to read whole file isn't used anywhere and
1784 can cause buffer ovewrflows in several places.
1785
f0a53ed2
VS
17862012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1787
1788 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
1789
5ed554f0
VS
17902012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 Handle RAIDZ on non-512B sectors.
1793
1794 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
1795 max_children_ashift.
1796 (fill_vdev_info_real): Fill max_children_ashift.
1797 (read_device): Use max_children_ashift.
1798
ddc58357
VS
17992012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1800
1801 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
1802
e3282399
VS
18032012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1804
1805 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
1806 disk names.
1807 * docs/grub.texi: Update device.map parts.
1808
ee618bd4
VS
18092012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1810
1811 Don't scan into non-diskfilter devices having diskfilter names.
1812
1813 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
1814 (scan_disk): New argument accept_diskfilter. Fix recursion depth
1815 handling.
1816 (scan_disk_hook): New function.
1817
bdf88864
B
18182012-04-29 Bean <bean123ch@gmail.com>
1819
1820 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
1821 allocation.
1822
32745f51
MK
18232012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
1824
1825 * configure.ac: Detect starfield theme font path
1826 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
1827
bc95c8c0
VS
18282012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1829
1830 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
1831 geometry on serial consoles.
1832
147fbcab
VS
18332012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1834
1835 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
1836 because of network consoles.
1837
0f42c889
VS
18382012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1839
1840 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
1841 handling.
1842
4a3594c9
VS
18432012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1844
1845 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
1846 falls on Q syndrom.
1847
5cb53879
VS
18482012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1849
1850 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
1851 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
1852
b282dfe5
VS
18532012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1854
1855 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
1856 Allocate at lest 8192 for temporary buffer as required for lzo.
1857
daa59f47
VS
18582012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1859
1860 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
1861 to cluster_bits, since it's already added in.
1862 (grub_fat_read_data): Likewise.
1863
986748ce
VS
18642012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1865
1866 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
1867 as long as cluster size is multiple of 512 bytes.
1868
a20f6ad0
VS
18692012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
1870
1871 * util/grub-mkrescue.in: Fix locale directory.
1872
385f9abb
VS
18732012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
1874
1875 * grub-core/kern/emu/hostdisk.c (map): Make static.
1876
1c557d30
B
18772012-04-23 Bean <bean123ch@gmail.com>
1878
1879 * util/grub-fstest.c (fstest): Add missing break.
1880
524b5d3a
ST
18812012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
1882
1883 Fix hurd build.
1884
1885 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
1886 not define nr variable.
fe4824e9 1887 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
1888 find_root_devices_from_poolname, find_root_devices_from_libzfs,
1889 grub_find_device): Do not define.
524b5d3a 1890
9a06490c
VS
18912012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1892
1893 Fix kfreebsd compile and behaviour.
1894
1895 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
1896 format-security.
1897 * util/getroot.c: Fix wait.h include.
1898 (grub_guess_root_devices): Error if grub_find_device fails.
1899 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
1900 (grub_util_get_dev_abstraction): Likewise.
1901 (grub_util_pull_device): Likewise.
1902 (grub_util_get_grub_dev): Likewise.
1903 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
1904
48143d96
VS
19052012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 Fix and unify wholedisk detection.
1908
1909 * util/getroot.c (convert_system_partition_to_system_disk): New argument
1910 is_part. All users updated.
1911 (device_is_wholedisk): Removed.
1912 (grub_util_biosdisk_get_grub_dev): Use is_part.
1913
ebbd24f3
VS
19142012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1915
1916 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
1917 mode.
1918
56f7aa1e
VS
19192012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1920
1921 * configure.ac: Bump to beta4.
1922
9c815e01
VS
19232012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1924
1925 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
1926 --fs-uuid --set UUID syntax.
1927
59e2651a
VS
19282012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1929
1930 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
1931 disunification.
1932
54e03cfc
VS
19332012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1934
1935 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
1936
81092a75
MK
19372012-04-18 Mads Kiilerich <mads@kiilerich.com>
1938
1939 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
1940
f8315e14
MG
19412012-04-18 Mike Gilbert <floppym@gentoo.org>
1942
1943 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
1944
1501ac21
B
19452012-04-18 Bean <bean123ch@gmail.com>
1946
1947 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
1948 place.
1949
cb7f944e
VS
19502012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1951
1952 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
1953 users updated.
1954 (grub_util_biosdisk_read): Handle Linux partitions not exactly
1955 corresponding to GRUB partitions.
1956 (grub_util_biosdisk_write): Likewise.
1957
b72d44a1
VS
19582012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1959
1960 Scan mdraid before LVM.
1961
1962 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
1963 (grub_diskfilter_register_front): ... this.
1964 (grub_diskfilter_register_back): New function.
1965 All users of grub_diskfilter_register updated.
1966
33d918b8
VS
19672012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1968
1969 * util/grub-install.in: Fix an automatic target detection bug.
1970
c6ca973d
VS
19712012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1972
1973 * util/grub-install.in: New option --efi-directory.
1974
b41be562
VS
19752012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1976
1977 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
1978 boot services if we have no other choice.
1979
19802012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1981
1982 * util/grub-mknetdir.in: Rename --override-directory to --directory and
1983 document it.
1984 * tests/util/grub-shell.in: Update to --directory.
1985
e0595a73
VS
19862012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1987
1988 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
1989
4ed80652
VS
19902012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1991
1992 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
1993 (grub_minix_read_file): Likewise.
1994 (grub_minix_read_inode): Likewise.
1995 (grub_minix_find_file): Likewise.
1996 (grub_minix_dir): Likewise.
1997
56008077
VS
19982012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1999
2000 * util/grub-setup.c (setup): Fix partition handling and blocklist
2001 check.
2002
ee520775
VS
20032012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2004
2005 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
2006 redundant buggy overlap check.
2007
16fc9293
VS
20082012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2009
2010 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
2011 and grub-mknetdir.
2012
9bab65c4
VS
20132012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2014
2015 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
2016 kh.loadflags on pre-2.00 kernels.
2017
3c491b47
VS
20182012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2019
2020 Terminate UNDI and PXE before launching the payload to avoid problems
2021 with DMA.
2022
2023 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
2024 (grub_loader_flags): ... this. All users updated.
2025 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
2026 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
2027 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
2028 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
2029 function.
2030 (grub_pxe_restore): Likewise.
2031 (fini_hnd): New var.
2032 (GRUB_MOD_INIT): Register shutdown hook.
2033 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
2034 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
2035 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
2036 (grub_loader_set): Rename second argument to flags.
2037
851ffada
VS
20382012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2039
2040 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
2041 written bytes.
2042 (grub_get_num_of_utf8_bytes): New function.
2043 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
2044 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
2045 executing it.
2046 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
2047 (grub_ucs4_to_utf8): Change return type.
2048
491c57a8
VS
20492012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2050
2051 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
2052 warning.
851ffada
VS
2053 * grub-core/fs/bfs.c (hop_level): Likewise.
2054 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 2055
756773df
VS
20562012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2057
2058 * grub-core/lib/adler32.c: Recode due to license unclearness.
2059
fd556a96
VS
20602012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2061
2062 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
2063 (test_header): Likewise.
2064
9f9d3f69
VS
20652012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2066
2067 Fix --help formatting.
2068
2069 * util/grub-mkconfig_lib.in (print_option_help): New function.
2070 (grub_fmt): Likewise.
2071 * util/grub-install.in: Use print_option_help and grub_fmt.
2072 * util/grub-kbdcomp.in: Likewise.
2073 * util/grub-mkconfig.in: Likewise.
2074 * util/grub-mknetdir.in: Likewise.
2075 * util/grub-mkrescue.in: Likewise.
2076 * util/grub-mkstandalone.in: Likewise.
2077 * util/grub-reboot.in: Likewise.
2078 * util/grub-set-default.in: Likewise.
2079 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2080
561ec77e
VS
20812012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2082
2083 * linguas.sh: Remove autogenerated *.po.
2084
7ec2b021
VS
20852012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2086
2087 * po/README: Move language fetcing to ...
2088 * linguas.sh: ... here.
2089 * po/README: Point to linguas.sh.
2090
a88f3270
VS
20912012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2092
2093 * po/README: Exclude ko.po due to disclaimer problems.
2094
d61357ce
VS
20952012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2096
2097 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
2098 len = 0.
2099 (grub_gettext_translate_real): Handle 0th string.
2100 (grub_gettext_translate): Ensure that "" isn't translated.
2101
505e41dc
VS
21022012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
2105 TRANSLATORS comment.
2106 (grub_diskfilter_print_partmap): Propagate changing of error into
2107 warning.
2108
e44092db
VS
21092012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2110
2111 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
2112 to uint64_t to prevent overflow.
2113 (grub_diskfilter_lv): Increase start_extent and extent_count
2114 to uint64_t to prevent overflow.
2115
9b83956a
VS
21162012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2117
2118 * configure.ac: Increase version.
2119
da0d5b3f
VS
21202012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2121
2122 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
2123
2124 * po/Rules-translit: New file.
2125 * po/arabic.sed: Likewise.
2126 * po/cyrillic.sed: Likewise.
2127 * po/greek.sed: Likewise.
2128 * po/hebrew.sed: Likewise.
2129 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
2130 * po/Makefile.in.in: Add extra_dist4.
2131
ac66b453
VS
21322012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2133
2134 Handle big-endian minixfs (fixes minixfs tests on bigendian).
2135
2136 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
2137 modify names. Introduce MODE_BIGENDIAN.
2138 * grub-core/fs/minix_be.c: New file.
2139 * grub-core/fs/minix2_be.c: Likewise
2140 * grub-core/fs/minix3_be.c: Likewise.
2141 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
2142 minix3_be.
2143 * grub-core/Makefile.core.def (minix_be): New module.
2144 (minix2_be): Likewise.
2145 (minix3_be): Likewise.
2146
21472012-04-01 Felix <email@hamburg.de>
2148
2149 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
2150 (devs): Add MBP 2011.
2151
0a2d5a82
VS
21522012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2153
2154 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
2155
d1625889
VS
21562012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2157
2158 * grub-core/normal/cmdline.c (print_completion): New field
2159 prompt_len.
2160 (grub_cmdline_get): Handle width properly.
2161
6d36a236
VS
21622012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2163
2164 * grub-core/commands/lsacpi.c (options): Add missing terminator.
2165
9576977e
VS
21662012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2167
2168 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 2169 after 29th of February.
9576977e 2170
d73ff15d
VS
21712012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2172
2173 Fix exfat endianness handling.
2174
2175 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
2176 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
2177 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
2178 Byte-swap utf16 when necessary.
2179 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
2180
bbb39a45
AB
21812012-03-31 Anton Blanchard <anton@samba.org>
21822012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2183
2184 Fix btrfs endianness handling.
2185
2186 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
2187 (lower_bound): Make root uint64_t. Use root in le.
2188 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
2189 (find_path): Fix template key init.
2190 (grub_btrfs_dir): Fix mtime byteswap.
2191 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
2192
354e0af7
VS
21932012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2194
2195 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
2196 recursion_depth. Break infinite resursions. All users updated.
2197
4e75f21c
VS
21982012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2199
2200 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
2201 after free.
2202 Reported by: Peter Jones.
2203
25581802
AB
22042012-03-31 Anton Blanchard <anton@samba.org>
2205
2206 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
2207 8 bit values.
2208
08fbf92e
VS
22092012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2210
2211 * util/grub-install.in: Fix nvram call for PreP.
2212
5d1182a6
VS
22132012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2214
2215 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
2216 the error when some elements are missing into a warning.
2217
3f8cdd90
VS
22182012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2219
2220 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
2221
51006716
CW
22222012-03-28 Colin Watson <cjwatson@ubuntu.com>
2223
2224 * docs/grub.texi (Invoking grub-probe): New section.
2225 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
2226
e1bd676b
VS
22272012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2228
2229 Fix tab and wide character handling in editor and menu.
2230
2231 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
2232 agglomerate control characters with combining marks.
2233 (bidi_line_wrap): Allow break on tab.
2234 (grub_unicode_get_comb_start): New function.
2235 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
2236 and tab correctly.
2237 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
2238 with a space.
2239 * grub-core/normal/term.c (print_ucs4_terminal): New argument
2240 fixed_tab_size. All users updated.
2241 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
2242 (grub_term_getcharwidth): Handle \t.
2243 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
2244 and copy.
2245
22e6a774
VS
22462012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2247
2248 Handle big-endian mdraid.
2249
2250 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
2251 * grub-core/Makefile.core.def (mdraid09_be): New module.
2252 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
2253 rather than grub_le_to_cpu* and grub_cpu_to_le*.
2254 * grub-core/disk/mdraid_linux_be.c: New file.
2255
3c0eae66
VS
22562012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2257
2258 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
2259
b6cf74c9
VS
22602012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2261
2262 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
2263 missing quotes which caused confusion among translators.
2264
83c93b9c
VS
22652012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2266
2267 * util/grub-mkconfig_lib.in: Fix typo.
2268
ac6fd218
VS
22692012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2270
2271 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
2272 spaces.
2273 * tests/grub_script_leading_whitespace.in: New file.
2274 * Makefile.util.def (grub_script_leading_whitespace): New test.
2275
ba287dd8
VS
22762012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2277
2278 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
2279 to work.
2280
d2d58d0a
VS
22812012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2282
2283 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
2284 starts with control character.
2285
0382d9bb
VS
22862012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2287
2288 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
2289 overflow.
2290 (grub_gdb_outbuf): Likewise.
2291
d83ff9f9
VS
22922012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2293
2294 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
2295 zero terminator. Fixes a crash.
2296
2282da4a
VS
22972012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2298
2299 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
2300 beyond 4 GiB.
2301 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
2302 images independently of preffered adderss field.
2303
0ae4f0bd
VS
23042012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2305
2306 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
2307 * grub-core/commands/regexp.c: Likewise.
2308 * grub-core/loader/i386/linux.c: Likewise.
2309 * grub-core/partmap/msdos.c: Likewise.
2310 * grub-core/script/execute.c: Likewise.
2311 * grub-core/term/gfxterm.c: Likewise.
2312
546fbe9b
VS
23132012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2314
2315 Add variable parsing in $"..." and fix several mismatches with bash.
2316
2317 * Makefile.util.def (grub_script_gettext): New test.
2318 * grub-core/script/execute.c (parse_string): New function.
2319 (gettext_append): Likewise.
2320 (grub_script_arglist_to_argv): Use gettext_append.
2321 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
2322 * tests/grub_script_gettext.in: New file.
2323
9fdb2d7b
VS
23242012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2325
2326 Fix handling of leading spaces in scripts.
2327
2328 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
2329 spaces.
2330 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
2331 other than skipping \r. All users updated.
2332 * tests/grub_script_echo1.in: Add space-related tests.
2333 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
2334
1a1ac4f6
VS
23352012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2336
2337 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
2338
b63d89b6
VS
23392012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2340
2341 * configure.ac: Bump up the version to beta2.
2342
17f38c0f
VS
23432012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2344
2345 Fix gettext reload bugs (e.g. inability to disable gettext
2346 once enabled).
2347
2348 * grub-core/gettext/gettext.c: Encapsulate all static variables in
2349 main_context and secondary_context. All functions updated.
2350 (grub_gettext_translate): Rename to ...
2351 (grub_gettext_translate_real): ... this. Return NULL on failed
2352 translate.
2353 (grub_gettext_translate): Handle secondary context.
2354 (grub_gettext_delete_list): Close file and zero-out the context.
2355 (grub_mofile_open): Don't call grub_gettext_delete_list.
2356 Don't close file.
2357 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
2358 if locale="" to avoid pointless error message.
2359 (grub_gettext_env_write_lang): Update lang even if load fails.
2360 Handle secondary context.
2361 (grub_gettext_reread_prefix): New function.
2362 (read_main): Likewise.
2363 (read_secondary): Likewise.
2364 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
2365 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
2366 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
2367 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
2368
8e56f870
VS
23692012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2370
2371 * configure.ac: Decrease warning level to avoid spurious warnings and
2372 to be able to compile with GCC 4.2.
2373 * Makefile.util.def: Remove -Wno-error=logical-op.
2374
82f6d455
WB
23752012-03-10 William Bittner <william.bittner@gmail.com>
2376
2377 * util/import_unicode.py: Add missing brackets around string for
2378 python 3 support.
2379
1ecd61a4
VS
23802012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2381
2382 Fix efi chainloader on network root.
2383
2384 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
2385 network devices.
2386 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
2387 New function.
2388
14361ee8
VS
23892012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2390
2391 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
2392 unused show_text member.
2393 * docs/grub.texi: Document "text" property.
2394
922aabf3
VS
23952012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2396
2397 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
2398 in dprintf.
2399
ec316771
VS
24002012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2401
2402 Fix IMSM handling on Fedora.
2403
2404 * util/getroot.c (grub_util_is_imsm): New function.
2405 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
2406
0f021838
VS
24072012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2408
2409 * Makefile.am: Strip gold section.
2410 * conf/Makefile.common: Likewise.
2411 * gentpl.py: Likewise.
2412 * grub-core/Makefile.core.def: Likewise.
2413 * grub-core/genmod.sh.in: Likewise.
2414
1039c8eb
VS
24152012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2416
2417 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
2418 * util/grub.d/20_linux_xen.in: Likewise.
2419 Based on Debian patch.
2420
6dd412cd
VS
24212012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2422
2423 * util/grub.d/10_linux.in: Fix syntax error resulting in
2424 Richard Laager's patch.
2425 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
2426
3fd8bae5
VS
24272012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2428
2429 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
2430 dependencies.
2431
7eea1671
RL
24322012-03-10 Richard Laager <rlaager@wiktel.com>
2433
2434 * util/grub.d/10_linux.in: Fix ZFS root passing.
2435
e8e0566b
VS
24362012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2437
2438 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
2439 * grub-core/commands/xnu_uuid.c: Likewise.
2440 * grub-core/loader/efi/appleloader.c: Likewise.
2441 * grub-core/script/execute.c: Likewise.
2442 * grub-core/script/main.c: Likewise.
2443 * util/grub-mkfont.c: Likewise.
2444
1acc5b1f
VS
24452012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2446
2447 * util/grub-mkfont.c (options): Use more appropriate "select" that
2448 "set" for face index.
2449
35d70620
VS
24502012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2451
2452 * util/grub-editenv.c (options): Gettextize command summaries.
2453
c9eb96b5
VS
24542012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2455
2456 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
2457 "out of memory" error messagge.
2458
1f493136
VS
24592012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2460
2461 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
2462 of diskfilter for diskfilter on diskfilter support.
2463
6d790129
VS
24642012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2465
2466 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
2467
005f46c9
VS
24682012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2469
2470 * util/grub-install.in: Check for themes/starfield/theme.txt and not
2471 themes/starfield.
2472
c8f778a0
VS
24732012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2474
2475 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
2476
de1e64eb
VS
24772012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2478
2479 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
2480
c6d54211
VS
24812012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2482
2483 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
2484 of error message.
2485
dd390777
VS
24862012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
2487
2488 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
2489
5fd1c522
VS
24902012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
2491
2492 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
2493 message.
c6d54211 2494 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 2495
fae01f6c
VS
24962012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2497
2498 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
2499 Gettextize.
2500 * util/grub-mount.c (options): Likewise.
2501
292fdaff
VS
25022012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2503
2504 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
2505 gettextize.
2506 * grub-core/commands/search_wrap.c (options): Likewise.
2507
ecdbae77
VS
25082012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2509
2510 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
2511
52bfedfa
VS
25122012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2513
2514 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
2515 size calculation.
2516 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
2517 none is known.
2518
55b20e58
VS
25192012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2520
2521 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
2522 "temporary" since it's used in identifier and is limited in space.
2523
fda9d101
VS
25242012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2525
2526 * po/POTFILES.in: Regenerate. Include *.h since they contain
2527 translatable strings as well.
2528
6a0295e2
VS
25292012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2530
2531 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
2532 byte-swap on big-endian.
2533 Reported by: Lennart Sorensen
2534
807fb77c
VS
25352012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
2536
2537 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
2538 (allocate_pages): Improve dprintf.
2539 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
2540 code32_start. Fill code32_start and kernel_alignment in params.
2541 (grub_cmd_initrd): Use prot_init_space.
2542
61ac50ba
VS
25432012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2544
2545 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
2546
abdd26dd
VS
25472012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2548
2549 * util/grub-install.in: Add missing dot at the end of sentence.
2550
6e69da9c
VS
25512012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2552
2553 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
2554 * grub-core/commands/videotest.c: Likewise.
2555 * grub-core/loader/i386/linux.c: Likewise.
2556
4a929343
VS
25572012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2558
2559 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
2560 sentence.
2561 Reported by: Milo Casagrande.
2562
bb51c6c6
VS
25632012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2564
2565 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
2566 * grub-core/commands/gptsync.c: Likewise.
2567 * grub-core/commands/hashsum.c: Likewise.
2568 * grub-core/commands/i386/pc/sendkey.c: Likewise.
2569 * grub-core/commands/legacycfg.c: Likewise.
2570 * grub-core/io/gzio.c: Likewise.
2571 * grub-core/net/net.c: Likewise.
2572 * grub-core/term/gfxterm.c: Likewise.
2573 * grub-core/term/terminfo.c: Likewise.
2574 * grub-core/tests/test_blockarg.c: Likewise.
2575 * grub-core/video/video.c: Likewise.
2576 * util/grub-install.in: Likewise.
2577 * util/grub-mkfont.c: Likewise.
2578
b2b149cb
VS
25792012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2580
2581 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
2582
c7c080ad
VS
25832012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2584
2585 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 2586 Reported by: David Prévot.
c7c080ad 2587
f2e243c0
VS
25882012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2589
2590 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
2591 description.
2592
09963c76
VS
25932012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2594
2595 * util/grub-script-check.c (main): Fix a syntax error message which was
2596 unclear.
2597
a50514a8
VS
25982012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2599
2600 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
2601
4650daec
VS
26022012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2603
2604 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
2605 messages.
2606
26072012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
2608
2609 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
2610 without argument.
2611 * util/grub-mount.c (options): Likewise.
2612
bbc5a342
VS
26132012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2614
2615 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
2616
ef292a87
VS
26172012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2618
2619 * grub-core/net/http.c: Add TRANSLATORS comments.
2620 * grub-core/normal/cmdline.c: Likewise.
2621 * grub-core/normal/misc.c: Likewise.
2622 * grub-core/partmap/msdos.c: Likewise.
2623 * grub-core/parttool/msdospart.c: Likewise.
2624 * grub-core/script/execute.c: Likewise.
2625 * grub-core/script/main.c: Likewise.
2626 * grub-core/term/terminfo.c: Likewise.
2627 * grub-core/video/bitmap.c: Likewise.
2628 * util/grub-install.in: Likewise.
2629 * util/grub-mkimage.c: Likewise.
2630 * util/grub-mklayout.c: Likewise.
2631 * util/grub-setup.c: Likewise.
2632
0fc19bd0
VS
26332012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2634
2635 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
2636 with similar messages in grub-fstest.
2637
d95862ef
VS
26382012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2639
2640 * util/grub-install.in: Unify "option requires an argument" message
2641 with similar messages in other files.
2642 * util/grub-mkconfig.in: Likewise.
2643
b7308f90
VS
26442012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2645
2646 * util/grub-set-default.in: Replace printf with gettext_printf (the
2647 string in in question is already translated from grub-reboot)
2648
559dc587
VS
26492012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2650
2651 * configure.ac: Bump up the version to beta1.
2652
1a11761f
VS
26532012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2654
2655 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
2656 case when min_align = 0.
2657
24539abd
VS
26582012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2659
2660 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
2661 and fix a case when line_start overflows.
2662
32bd735b
VS
26632012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2664
2665 * util/grub-reboot.in (usage): Mention id posibility.
2666 * util/grub-set-default.in (usage): Likewise.
2667
1a2fd1e6
VS
26682012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2669
2670 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
2671 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
2672 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
2673 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
2674 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
2675 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2676 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2677
90eeab76
VS
26782012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2679
2680 * grub-core/commands/menuentry.c (options): Remove
2681 GRUB_ARG_OPTION_REPEATABLE.
2682 Reported by: Andreas Vogel
2683
5ad1be82
AV
26842012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
2685
2686 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
2687
cb055286
HE
26882012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
2689
2690 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
2691 error.
2692
93b1cd79
VS
26932012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2694
2695 Use sort -V by the idea of Georgi Georgiev.
2696
2697 * util/grub-mkconfig_lib.in (version_sort): New function.
2698 (version_test_numeric): Use version_sort.
2699
0cdc126c
VS
27002012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2701
2702 Use submenus in grub-mkconfig.
2703
2704 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
2705 * util/grub-mkconfig_lib.in (grub_quote): New function.
2706 (gettext_printf): Use gettext and not gettext_quoted to fix several
2707 messages.
2708 * util/grub.d/10_hurd.in: Use submenus.
2709 * util/grub.d/10_kfreebsd.in: Likewise.
2710 * util/grub.d/10_linux.in: Likewise.
2711 * util/grub.d/10_netbsd.in: Likewise.
2712 * util/grub.d/20_linux_xen.in: Likewise.
2713 * util/grub.d/30_os-prober.in: Likewise.
2714 * util/grub.d/10_illumos.in: Add missing quoting.
2715 * util/grub.d/10_windows.in: Likewise.
2716
d9bef9bc
VS
27172012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2718
2719 Fix menu title instability bug.
2720
2721 * grub-core/commands/menuentry.c (options): New option --id.
2722 (grub_normal_add_menu_entry): New argument id. All users updated.
2723 (grub_cmd_menuentry): Handle --id.
2724 (grub_menu_init): Accept unknown arguments.
2725 * grub-core/normal/main.c (features): Add feature_menuentry_id and
2726 feature_menuentry_options.
2727 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
2728 saved_entry.
2729 (get_entry_number): Match with id as well.
2730 * include/grub/menu.h (grub_menu_entry): New member id.
2731 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
2732 * util/grub.d/00_header.in: Define menuentry_id_option.
2733 * util/grub.d/10_hurd.in: Define id.
2734 * util/grub.d/10_illumos.in: Likewise.
2735 * util/grub.d/10_kfreebsd.in: Likewise.
2736 * util/grub.d/10_linux.in: Likewise.
2737 * util/grub.d/10_netbsd.in: Likewise.
2738 * util/grub.d/10_windows.in: Likewise.
2739 * util/grub.d/20_linux_xen.in: Likewise.
2740 * util/grub.d/30_os-prober.in: Likewise.
2741
27422012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
2743
2744 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
2745 "scope" with "body".
2746
7c8d0ce7
VS
27472012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2748
2749 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
2750 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
2751 prot_size and prot_file_size.
2752
49de079b
VS
27532012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2754
2755 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
2756 All users updated. If easily=1 require raid-5/-6 to be full.
2757 (is_node_readable): Likewise.
2758 (scan_devices): Scan incomplete but readable LVs at the end.
2759 (grub_diskfilter_memberlist): Pull missing devices.
2760 (insert_array): Skip scanning until device is complete or scan is
2761 done otherwise.
2762 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
2763 check.
2764 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
2765 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
2766
aff05d45
MG
27672012-03-03 Matthew Garrett <mjg@redhat.com>
27682012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2769
2770 Avoid EFI boot services when loading Linux.
2771
2772 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
2773 avoid_efi_bootservices. All users updated.
2774 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
2775 argument avoid_efi_bootservices. All users updated.
2776 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
2777 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
2778 align, min_align, relocatable, prefered_address. All users updated.
2779 Allocate avoiding boot services if kernel is relocatable.
2780 (grub_cmd_linux): Check if kernel is relocatable.
2781 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
2782 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
2783 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
2784 avoid_efi_boot_services.
2785 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
2786 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
2787 (linux_kernel_params): Likewise.
2788
3935dde2
MG
27892012-03-03 Matthew Garrett <mjg@redhat.com>
27902012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2791
2792 Use EDID on EFI.
2793
2794 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
2795 datasize_out.
2796 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
2797 modes. Set gop_handle.
2798 (grub_video_gop_get_edid): New function.
2799 (grub_gop_get_preferred_mode): Likewise.
2800 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
2801 (grub_video_efi_gop_adapter): Set .get_edid.
2802 * include/grub/efi/edid.h: New file.
2803 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
2804
32107ec0
VS
28052012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2806
2807 * util/grub-install.in: Load efivars unconditionally.
2808
e70a2c50
VS
28092012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2810
2811 * po/Rules-piglatin: Change suffix from .po-update-en to
2812 .po-update-en-piglatin.
2813
8f9cace1
VS
28142012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2815
2816 Add a pig farm.
2817
2818 * po/piglatin.sed: New file.
2819 * po/en@piglatin.header: Likewise.
2820 * po/Rules-piglatin: Likewise.
2821 * po/README: Add en@piglatin to autogenerated languages.
2822
8f95d002
VS
28232012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2824
2825 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
2826 "Command for ...".
2827 * grub-core/commands/hdparm.c (options): Use "Display" rather than
2828 "Check" since we don't check anything.
2829 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
2830 is 64-bit one.
2831 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
2832 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
2833 (grub_md_sha512_real): Likewise.
2834
805a8dcc
VS
28352012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2836
2837 * grub-core/commands/gptsync.c: Fix typographic quoting.
2838 * grub-core/commands/ieee1275/suspend.c: Likewise.
2839 * grub-core/commands/parttool.c: Likewise.
2840 * grub-core/commands/search_wrap.c: Likewise.
2841 * grub-core/commands/videoinfo.c: Likewise.
2842 * grub-core/gfxmenu/gui_label.c: Likewise.
2843 * grub-core/hello/hello.c: Likewise.
2844 * grub-core/kern/emu/main.c: Likewise.
2845 * grub-core/net/net.c: Likewise.
2846 * grub-core/normal/menu.c: Likewise.
2847 * grub-core/normal/menu_text.c: Likewise.
2848 * grub-core/normal/misc.c: Likewise.
2849 * util/grub-editenv.c: Likewise.
2850 * util/grub-install.in: Likewise.
2851 * util/grub-kbdcomp.in: Likewise.
2852 * util/grub-mkconfig.in: Likewise.
2853 * util/grub-mknetdir.in: Likewise.
2854 * util/grub-mkrescue.in: Likewise.
2855 * util/grub-mkstandalone.in: Likewise.
2856 * util/grub-reboot.in: Likewise.
2857 * util/grub-set-default.in: Likewise.
2858 * util/grub-setup.c: Likewise.
2859 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2860
40211ab8
VS
28612012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2862
2863 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
2864 * grub-core/commands/keystatus.c: Likewise.
2865 * grub-core/commands/loadenv.c: Likewise.
2866 * grub-core/commands/probe.c: Likewise.
2867 * grub-core/commands/regexp.c: Likewise.
2868 * grub-core/commands/true.c: Likewise.
2869 * grub-core/commands/videoinfo.c: Likewise.
2870 * grub-core/disk/cryptodisk.c: Likewise.
2871 * grub-core/disk/ldm.c: Likewise.
2872 * grub-core/disk/loopback.c: Likewise.
2873 * grub-core/disk/luks.c: Likewise.
2874 * grub-core/fs/zfs/zfsinfo.c: Likewise.
2875 * grub-core/kern/disk.c: Likewise.
2876 * grub-core/kern/emu/hostdisk.c: Likewise.
2877
0c7d99c7
VS
28782012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2879
2880 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
2881 * util/grub-install.in: Add missing quote in the comment.
2882
e7d2559b
VS
28832012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2884
2885 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
2886 * grub-core/commands/lsmmap.c: Likewise.
2887 * grub-core/commands/minicmd.c: Likewise.
2888 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
2889 * grub-core/commands/regexp.c: Likewise.
2890 * grub-core/gdb/gdb.c: Likewise.
2891 * grub-core/term/gfxterm.c: Likewise.
2892 * util/grub-mkconfig.in: Likewise.
2893 * util/grub-mkfont.c: Likewise.
2894 * util/grub-mklayout.c: Likewise.
2895 * util/grub-mknetdir.in: Likewise.
2896 * util/grub-mkrescue.in: Likewise.
2897 * util/grub.d/30_os-prober.in: Likewise.
2898
49ce9e50
VS
28992012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2900
2901 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
2902 with "Direct color" and "Packed" with "Packed pixel".
2903 (grub_cmd_videoinfo): Simplify legend.
2904
e4b791fa
VS
29052012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2906
2907 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
2908 absolutely unclear error message.
2909
fd1265cb
VS
29102012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2911
2912 * util/grub-mkstandalone.in: Remove confusing leftover print.
2913
8822a8a0
VS
29142012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2915
2916 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
2917 comments.
2918 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
2919 (GRUB_MOD_INIT): Likewise.
2920 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
2921 VGA mode.
2922 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
2923 comments.
2924 * util/grub-install.in (usage): Likewise.
2925 Spell ID in whole letters.
2926 Add missing ending dot.
2927 Quote variables.
2928 * util/grub-reboot.in: Fix capitalisation.
2929 * util/grub-set-default.in: Likewise.
2930
937fd0cc
VS
29312012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2932
2933 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
2934 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
2935 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
2936 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
2937 Disable -Werror for -Wdeprecated-declarations.
2938 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
2939 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
2940 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
2941 (grub_util_get_grub_dev): Make luks handling dependent on
2942 HAVE_DEVICE_MAPPER and not __linux__.
2943 (get_win32_path): Fix format security.
2944 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
2945 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
2946 Don't try grub_find_zpool_from_dir.
2947 (grub_make_system_path_relative_to_its_root) [!__linux__]:
2948 #ifdef-out paresdir.
2949
1bab1ae3
VS
29502012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2951
2952 * util/grub-pe2elf.c (usage): Add missing noreturn.
2953 (write_section_data): Rename name to shname to avoid shadowing.
2954 (write_symbol_table): Rename name to symname to avoid shadowing.
2955 Fix write_reloc_section call.
2956
ef023e42
VS
29572012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2958
2959 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
2960 to ensure that it's after the last byte of .text.
2961
48afcb75
VS
29622012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2963
2964 * util/ieee1275/ofpath.c (my_isdigit): New function.
2965 (trailing_digits): Use my_isdigit.
2966 (strip_trailing_digits): Likewise.
2967
88d51eff
VS
29682012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2969
2970 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
2971 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
2972
17edc2ba
VS
29732012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2974
2975 * grub-core/kern/i386/pc/startup.S: Define __start.
2976
ad5518d7
VS
29772012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2978
2979 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
2980 strip already transforms he format.
2981
9e95e1bf
VS
29822012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2983
2984 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
2985
9cc3ee5c
VS
29862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2987
2988 * util/grub-install.in: Add missing gettext init.
2989 * util/grub-kbdcomp.in: Likewise.
2990 * util/grub-mkconfig.in: Likewise.
2991 * util/grub-mknetdir.in: Likewise.
2992 * util/grub-mkrescue.in: Likewise.
2993 * util/grub-mkstandalone.in: Likewise.
2994 * util/grub-reboot.in: Likewise.
2995 * util/grub-set-default.in: Likewise.
2996 * util/grub.d/00_header.in: Likewise.
2997 * util/grub.d/10_hurd.in: Likewise.
2998 * util/grub.d/10_windows.in: Likewise.
2999 * util/grub.d/30_os-prober.in: Likewise.
3000 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3001
49e08a06
VS
30022012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3003
3004 * po/Rules-swiss: Fix header comment.
3005
3809cb41
AV
30062012-02-29 Andreas Vogel <anvoit>
3007
3008 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
3009 resulted in leak of arguments.
3010
fa6ec573
VS
30112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3012
3013 * grub-core/boot/i386/pc/startup_raw.S: Use separate
3014 reed_solomon_size const definition instead of computing it since
3015 Apple assembler doesn't support the later.
3016
22899b9c
VS
30172012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3018
3019 * gentpl.py (kernel): Rewrite Apple part.
3020
a132afc3
VS
30212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3022
3023 * include/grub/kernel.h (FOR_MODULES): Check module magic.
3024
9d742bd4
VS
30252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3026
3027 * util/grub-mkimagexx.c (locate_sections): Support non-standard
3028 ELF section gap.
3029 (load_image): Likewise.
3030
f04a9a21
VS
30312012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3032
3033 * configure.ac: Fix a typo in previous commit.
3034
46cf439c
VS
30352012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3036
3037 Don't add -Wl,-N on Apple platform.
3038
3039 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
3040 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
3041
c4c48c54
VS
30422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3043
3044 * grub-core/Makefile.core.def (lzma_decompress): Use
3045 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
3046
31a12124
VS
30472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3048
3049 * grub-core/genmod.sh.in: Rewrite the Apple part.
3050
4f3aa1af
VS
30512012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3052
3053 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
3054 comparison.
3055
7bd8b0c7
VS
30562012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3057
3058 * acinclude.m4 (grub_CHECK_PIC): New test.
3059 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
3060
97304d7c
VS
30612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3062
3063 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
3064 to avoid the warning.
3065
fb883812
VS
30662012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3067
3068 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
3069 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
3070 after. All users updated.
3071
a121c964
VS
30722012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3073
3074 Use the common size routine in hostfs so we can read disks as well.
3075
3076 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
3077 (grub_util_get_fd_size): ... this. Return size in bytes.
3078 All users updated.
3079 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
3080 grub_util_get_fd_size.
3081
c66d6410
VS
30822012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3083
3084 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
3085 Add blocksize retrieval.
3086
dfc8aeb0
VS
30872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3088
3089 * configure.ac: Restore CFLAGS after efiemu check.
3090
403e25a5
VS
30912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3092
3093 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
3094 Apple bug.
3095
382775d1
VS
30962012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3097
3098 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
3099
6fd4e6e4
VS
31002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3101
3102 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
3103 (grub_cmd_halt): Likewise.
3104
bea359d6
VS
31052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3106
3107 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
3108 for local arithmetics.
3109 Break %sp init into 2 instructions.
3110 Add 0 byte at the end.
3111
32eb6ee1
VS
31122012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3113
3114 * grub-core/disk/diskfilter.c (read_segment): Initialise err
3115 before loops.
3116
e8377389
VS
31172012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
3120 for context.
3121
8cb17de7
VS
31222012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3123
3124 * grub-core/disk/ldm.c (make_vg): Init part.name.
3125 (grub_ldm_detect): Silence spurious warning.
3126 (grub_util_is_ldm): Likewise.
3127
595717e6
VS
31282012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3129
3130 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
3131 sane value to avoid a spurious warning.
3132
c4b7e588
VS
31332012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3134
3135 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
3136 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
3137
59824957
VS
31382012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3139
3140 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
3141 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
3142
70115b99
VS
31432012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3144
3145 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
3146 hardcoding the relevant info.
3147
56733740
VS
31482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3149
3150 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
3151 missing const qualifiers.
3152 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
3153
43481481
VS
31542012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3155
3156 * util/getroot.c [__APPLE__]: Add missing includes.
3157 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
3158
3cb38f01
VS
31592012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3160
3161 * util/grub-mkimage.c (generate_image): Silence spurious warning.
3162
d9dbf11e
VS
31632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3164
3165 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
3166 avoid conflicts.
3167
0c42a45d
VS
31682012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3169
3170 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
3171
46c34eb0
VS
31722012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3173
3174 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
3175 and grub_file_close call.
3176
99ce1597
VS
31772012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3178
3179 Add LZSS Mach-O support (needed for new xnu kernelcache).
3180
3181 * grub-core/Makefile.core.def (xnu): Add file lzss.c
3182 * grub-core/loader/lzss.c: New file.
3183 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
3184 on Mach-O open failure.
3185 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
3186 Don't free cmdsXX in uncompressedXX is set.
3187 (grub_macho_file): Init new fields.
3188 New argument is_64bit. All users updated.
3189 Handle compressed. Error out if no suitable architecture is found.
3190 Don't close file.
3191 (grub_macho_open): New argument is_64bit. All users updated.
3192 * grub-core/loader/macho32.c: Add defines for new fields.
3193 * grub-core/loader/macho64.c: Likewise.
3194 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
3195 (grub_macho_parse): Handle compressed.
3196 Defer actual processing if compressed.
3197 (grub_macho_cmds_iterate): Decompress if compressed. New argument
3198 "filename". All users updated.
3199 (grub_macho_size): New argument "filename". All users updated.
3200 (grub_macho_get_entry_point): Likewise.
3201 (grub_macho_load): Handle compressed.
3202 * include/grub/macho.h (grub_macho_lzss_header): New struct.
3203 (GRUB_MACHO_LZSS_OFFSET): New define.
3204 (grub_decompress_lzss): New proto.
3205 * include/grub/machoload.h (grub_macho_file): New fields to handle
3206 compressed.
3207 (grub_macho_contains_macho64): Remove proto.
3208 (grub_macho_contains_macho32): Likewise.
3209 * util/grub.d/30_os-prober.in: Use kernel cache if available.
3210
ebd17d6f
VS
32112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3212
3213 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
3214
2702b4e4
VS
32152012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3216
3217 Fix make dist.
3218
3219 * Makefile.am (starfield_theme_files): New var.
3220 (starfield_DATA): Use starfield_theme_files.
3221 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
3222 Add bootcheck-related files.
3223 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
3224 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
3225 and font_char_metrics.txt.
3226 * grub-core/Makefile.core.def (kernel): Update extra_dist.
3227 (setjmp): Add lib/ia64/longjmp.S.
3228 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
3229 * po/POTFILES.in: Regenerate.
3230 * po/Rules-swiss: use DISTFILES.common.extra2 and not
3231 DISTFILES.common.extra1.
3232 * util/devicemap.c: Removed.
3233 * grub-core/lib/i386/relocator_backward.S: Likewise.
3234 * util/import_gcry.py: Remove unused files. Add extra_dist for
3235 ChangeLog.
3236
cf1adfdf
VS
32372012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3238
3239 * grub-core/gettext/gettext.c (grub_mofile_open): Call
3240 grub_gettext_delete_list before changing grub_gettext_max to avoid
3241 running out of array bounds.
3242
32432012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
3244
3245 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
3246 grub_vga_text_init/grub_vga_text_fini.
3247
cf1adfdf 32482012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
3249
3250 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
3251
541d92e9
VS
32522012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3253
3254 * configure.ac: Bump to 2.00~beta0.
3255
7931dddf
VS
32562012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3257
3258 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
3259 missing initialisation.
3260
f1b16fa3
VS
32612012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3262
3263 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
3264
83ddae23
VS
32652012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3266
3267 Support v2 xnu boot arguments.
3268
3269 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
3270 New argument fsbfreq_out.
3271 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
3272 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
3273 be used.
3274 * grub-core/loader/machoXX.c (grub_macho_load): New argument
3275 darwin_version.
3276 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
3277 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
3278 (grub_xnu_boot_params): Rename to ...
3279 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
3280 (grub_xnu_boot_params_v2): New struct.
3281
dc693fe6
VS
32822012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3283
3284 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
3285 zeroing of CRC field before computing CRC.
3286
5a6e39c2
VS
32872012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3288
3289 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
3290 Change order of allocations to decrease fragmentation.
3291
6c21f5d7
VS
32922012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3293
3294 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
3295
cfe456dc
CW
32962012-02-27 Colin Watson <cjwatson@ubuntu.com>
3297
3298 Use write-combining MTRR to speed up video with buggy BIOSes.
3299
3300 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
3301 (cpuid): New define.
3302 (rdmsr): Likewise.
3303 (wrmsr): Likewise.
3304 (mtrr_base): Likewise.
3305 (mtrr_mask): Likewise.
3306 (grub_vbe_enable_mtrr_entry): New function.
3307 (grub_vbe_enable_mtrr): Likewise.
3308 (grub_vbe_disable_mtrr): Likewise.
3309 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
3310 control off to BIOS.
3311 (grub_video_vbe_init): Fill mtrr.
3312 (grub_video_vbe_fini): Disable mtrr.
3313 (grub_video_vbe_get_info_and_fini): Likewise.
3314 (grub_video_vbe_setup): Enable mtrr.
3315
e3c78337
CW
33162012-02-27 Colin Watson <cjwatson@ubuntu.com>
3317
3318 * include/grub/partition.h (grub_partition_map): Change prototype of
3319 embed to take a maximum value for nsectors.
3320 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
3321 * include/grub/fs.h (grub_fs): Likewise.
3322 * grub-core/partmap/msdos.c (embed_signatures): New array.
3323 (pc_partition_map_embed): Check for and avoid sectors matching any
3324 of the signatures in embed_signatures, up to max_nsectors.
3325 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
3326 returned sector map to max_nsectors.
3327 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
3328 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
3329 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
3330 * util/grub-setup.c (setup): Allow for the embedding area being
3331 split into multiple blocklists. Tell dest_partmap->embed the
3332 maximum number of sectors we care about.
3333
33342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3335
3336 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
3337 Specify blocklist_install and reserver_first_sector for all fs.
3338 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
3339 blocklists.
3340
984b973f
VS
33412012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3342
3343 * util/grub-install.in: Clarify strings.
3344 Fix source dir check.
3345
f122e0d6
RL
33462012-02-27 Richard Laager <rlaager@wiktel.com>
3347
3348 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
3349 "zfs" and "fuse.zfs" as synonyms.
3350
071114bb
VS
33512012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3352
3353 * configure.ac: Put platform and target_cpu substitutions back since
3354 they are used for directories.
3355
817e6abc
RL
33562012-02-27 Richard Laager <rlaager@wiktel.com>
33572012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3358
3359 * util/grub.d/10_linux.in: Add ZFS-related arguments.
3360 * util/grub.d/20_linux_xen.in: Likewise.
3361
897b7419
RL
33622012-02-27 Richard Laager <rlaager@wiktel.com>
3363
3364 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
3365 with full paths.
3366
a414bd15
RL
33672012-02-27 Richard Laager <rlaager@wiktel.com>
3368
3369 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
3370 unescape.
3371
30ac48c4
VS
33722012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3373
3374 Don't use insecure popen in getroot.
3375
3376 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
3377 (exec_pipe): ... here.
3378 (find_root_devices_from_poolname): Use exec_pipe.
3379
53f13848
VS
33802012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3381
3382 Remove platform and target_cpu replacement.
3383
3384 * configure.ac: Remove platform and target_cpu substitutions.
3385 * tests/util/grub-shell.in: Use modinfo.
3386 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
3387 explicitly.
3388
90cb2803
VS
33892012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3390
3391 Autodetect platform in grub-install but allow override.
3392
3393 * util/grub-install.in: Autodetect platform. Support --target and
3394 --directory. Read platform from modinfo.sh.
3395
b9136427
VS
33962012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3397
3398 Support btrfs multi-volume probe.
3399
3400 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
3401 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
3402 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
3403 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
3404 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
3405 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
3406 grub_find_root_devices_from_btrfs if on btrfs.
3407
c36e5cd1
VS
34082012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3409
3410 Remove any awareness of *.c util files about target.
3411
3412 * Makefile.util.def (grub-setup): Split to ...
3413 (grub-bios-setup): ... and this.
3414 (grub-sparc64-setup): ... and this.
3415 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
3416 * docs/man/grub-setup.h2m: Split into ...
3417 * docs/man/grub-sparc64-setup.h2m: ... this.
3418 * docs/man/grub-bios-setup.h2m: ... and this.
3419 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
3420 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
3421 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
3422 (grub_target_addr_t): Remove.
3423 (grub_target_size_t): Remove.
3424 (grub_target_ssize_t): Remove.
3425 * util/grub-install.in: Use new grub-*-setup.
3426 * util/grub-mkimagexx.c (Elf_Word): New define.
3427 (Elf_Half): Likewise.
3428 (Elf_Section): Likewise.
3429 (ELF_ST_TYPE): Likewise.
3430 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
3431 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
3432
584b2f8a
VS
34332012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3434
3435 Replace grub_target_addr with more appropriate types.
3436
3437 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
3438 grub_target_addr with grub_addr.
3439 * grub-core/commands/iorw.c (grub_cmd_read): Replace
3440 grub_target_addr with grub_port.
3441 (grub_cmd_write): Likewise.
3442 * grub-core/commands/memrw.c (grub_cmd_read): Replace
3443 grub_target_addr with grub_addr.
3444 (grub_cmd_write): Likewise.
3445 * grub-core/video/efi_uga.c (find_line_len): Likewise.
3446
5a0dc6fb
VS
34472012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3448
3449 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
3450 const qualifier for vendor_guid.
3451
786aff6e
VS
34522012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3453
3454 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
3455 const qualifier.
3456 (efiemu_memequal): Likewise.
3457 (find_variable): Likewise.
3458
49017b17
VS
34592012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3460
3461 Fix missing console prototype on qemu-mips.
3462
3463 * include/grub/mips/qemu_mips/console.h: New file.
3464
c5988629
MG
34652012-02-27 Matthew Garrett <mjg@redhat.com>
34662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3467
3468 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
3469 * include/grub/efi/efi.h: Likewise.
3470 * include/grub/efi/api.h: Add guid for EFI-specified variables.
3471 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
3472 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
3473 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
3474 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
3475 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
3476
e33f8d69
MG
34772012-02-27 Matthew Garrett <mjg@redhat.com>
3478
3479 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
3480
fb312cd9
VS
34812012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3482
3483 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
3484 error.
3485
7134247c
VS
34862012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3487
3488 * configure.ac: Remove inappropriate use of program_transform_name
3489 on grubdir and bootdir but allow explicit specification of those
3490 variables.
3491
6a313124
VS
34922012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3493
3494 * util/grub-mknetdir.in (grub_prefix): Removed.
3495 (subdir): Use @bootdirname@ and @grubdirname@.
3496
2311c5ca
VS
34972012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3498
3499 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
3500
7d5d60f7
VS
35012012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3502
3503 * po/POTFILES.in: Regenerated.
3504
8151bc82
VS
35052012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3506
3507 Remove improper use of program_transform_name on pkglibrootdir.
3508
3509 * configure.ac (pkglibrootdir): Removed.
3510 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
3511 * util/grub-mkimage.c: Likewise.
3512
b4a6a533
VS
35132012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3514
3515 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
3516 warning.
3517
668f304f
VS
35182012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3519
3520 * util/grub-install.in: Use file identifier if no UUID is available
3521 or user explicitly prompted for it.
3522
665f2341
NP
35232012-02-27 Navdeep Parhar <nparhar@gmail.com>
3524
3525 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
3526 (freebsd_get_zfs): New function.
3527 (grub_freebsd_boot): Pass zfs UUID.
3528 (grub_cmd_freebsd): Set zfs UUID.
3529
8151bc82 35302012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
3531
3532 * conf/Makefile.common (platformdir): Base on pkglibdir and not
3533 pkglibrootdir.
3534
e4c498a1
MG
35352012-02-27 Mike Gilbert <floppym@gentoo.org>
3536
3537 Add configure flag to control libzfs integration.
3538
3539 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
3540
1e9a9a3f
VS
35412012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3542
3543 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
3544 device.
3545 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
3546 small devices.
3547
036985b8
VS
35482012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3549
3550 Remove grub_{modname}_init and grub_{modname}_fini. They should never
3551 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
3552 be used on non-modules.
3553
3554 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
3555 Rename to grub_boot_init.
3556 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
3557 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
3558 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
3559 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
3560 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
3561 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
3562 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
3563 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
3564 includes.
3565 (grub_machine_init): Remove empty inits.
3566 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
3567 includes.
3568 (grub_machine_init): Remove empty inits.
3569 * grub-core/term/arc/console.c: Remove explicit proto.
3570 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
3571 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
3572 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3573 grub_at_keyboard_fini.
3574 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
3575 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
3576 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3577 grub_gfxterm_fini.
3578 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
3579 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
3580 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3581 grub_vgatext_fini.
3582 * grub-core/term/ieee1275/console.c: Remove explicit proto.
3583 * grub-core/term/serial.c (GRUB_MOD_INIT)
3584 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
3585 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3586 grub_serial_fini.
3587 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
3588 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
3589 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3590 grub_terminfo_fini.
3591 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
3592 (GRUB_MOD_FINI): Likewise.
3593 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
3594 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
3595 (GRUB_MOD_FINI) [LOONGSON]: Rename to
3596 grub_video_radeon_fuloong2e_fini.
3597 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
3598 [LOONGSON]: Rename to grub_video_sis315pro_init.
3599 (GRUB_MOD_FINI) [LOONGSON]: Rename to
3600 grub_video_sis315pro_fini.
3601 * grub-core/video/sm712.c (GRUB_MOD_INIT)
3602 [LOONGSON]: Rename to grub_video_sm712_init.
3603 (GRUB_MOD_FINI) [LOONGSON]: Rename to
3604 grub_video_sm712_fini.
3605 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
3606 (grub_at_keyboard_fini): Likewise.
3607 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
3608 Don't declare grub_{modname}_init.
3609 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
3610 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
3611 New proto.
3612 (grub_keylayouts_fini) [!EMU]: Likewise.
3613 * include/grub/serial.h (grub_serial_init) [!EMU]:
3614 New proto.
3615 (grub_serial_fini) [!EMU]: Likewise.
3616 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
3617 New proto.
3618 (grub_terminfo_fini) [!EMU]: Likewise.
3619 * include/grub/video.h (grub_font_init) [!EMU]:
3620 New proto.
3621 (grub_font_fini) [!EMU]: Likewise.
3622 (grub_gfxterm_init) [!EMU]: Likewise.
3623 (grub_gfxterm_fini) [!EMU]: Likewise.
3624 (grub_video_sm712_init) [!EMU]: Likewise.
3625 (grub_video_sm712_fini) [!EMU]: Likewise.
3626 (grub_video_sis315pro_init) [!EMU]: Likewise.
3627 (grub_video_sis315pro_fini) [!EMU]: Likewise.
3628 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
3629 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
3630
d5534665
VS
36312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3632
3633 Make nand a prefix for nand devices.
3634
3635 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
3636
10133b5f
VS
36372012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3638
3639 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
3640 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
3641
8e307a62
VS
36422012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3643
3644 * include/grub/env.h (grub_env_find): Remove prototype.
3645 * grub-core/kern/env.c (grub_env_find): Make static.
3646 (grub_env_set): Remove useless set.
3647
a4c65f34
VS
36482012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3649
3650 * grub-core/kern/i386/realmode.S: Remove useless align.
3651
d87893d5
VS
36522012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3653
3654 * include/grub/dl.h (grub_dl_load_file): Don't export.
3655
50159add
VS
36562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3657
3658 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
3659 grub_dprintf.
3660
b2582b84
VS
36612012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3662
3663 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
3664 grub_errors.
3665 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
3666 not reloading whole superblock but only the part which is really needed.
3667 Remove useless grub_errors.
3668 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
3669 grub_errors.
3670
e2a83395
VS
36712012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3672
3673 Don't export grub_get_rtc.
3674
3675 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
3676 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
3677
e7d2a906
VS
36782012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3679
3680 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
3681
6cf1363b
VS
36822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3683
3684 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 3685 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 3686
eece3349
VS
36872012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3688
3689 Remove prio_list.
3690
3691 * include/grub/list.h (grub_prio_list): Removed.
3692 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
3693 GRUB_COMMAND_PRIO_MASK.
3694 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
3695 GRUB_COMMAND_FLAG_ACTIVE.
3696 (grub_prio_list_insert): Removed.
3697 (grub_prio_list_remove): Likewise.
3698 (GRUB_AS_PRIO_LIST): Likewise.
3699 (GRUB_AS_PRIO_LIST_P): Likewise.
3700 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
3701 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
3702 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
3703 * grub-core/kern/command.c (grub_register_command_prio): Inline
3704 the prio_list code.
3705 (grub_unregister_command): Likewise.
3706
94f064b4
VS
37072012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3708
3709 Fix interrupt mixup from previous commit.
3710
3711 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
3712 (grub_realidt): New var.
3713 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
3714 Load idt.
3715 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
3716 New declaration.
3717 (grub_relocator16_boot): Set grub_relocator16_idt.
3718 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
3719 (LOCAL(realidt)): ... this.
3720 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
3721 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
3722 (grub_realidt): New variable.
3723
27317084
VS
37242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3725
3726 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
3727 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
3728 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
3729 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
3730 Gettextize.
3731 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
3732 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
3733 * po/POTFILES.in: Regenerate.
3734
47b40053
VS
37352012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3736
3737 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
3738 errors.
3739
2b343101
VS
37402012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3741
3742 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
3743 \0.
3744 (add_length): Likewise.
3745
ff27c3dd
LK
37462012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
37472012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
3748
3749 GDB serial and backtrace support.
3750
3751 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
3752 (prot_to_real): Likewise.
3753 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
3754 * grub-core/Makefile.core.def (backtrace): New module.
3755 (gdb): Likewise.
3756 * grub-core/gdb/cstub.c: New file.
3757 * grub-core/gdb/gdb.c: Likewise.
3758 * grub-core/gdb/i386/idt.c: Likewise.
3759 * grub-core/gdb/i386/machdep.S: Likewise.
3760 * grub-core/gdb/i386/signal.c: Likewise.
3761 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 3762 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
3763 * include/grub/backtrace.h: Likewise.
3764 * include/grub/gdb.h: Likewise.
3765 * include/grub/i386/gdb.h: Likewise.
3766
37672012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
3768
3769 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
3770 New function.
3771 (add_length): Likewise.
3772 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
3773 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
3774 proto.
3775 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
3776 __argp_get_display_len.
3777
ff27c3dd 37782012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
3779
3780 $"..." support in scripts.
3781
3782 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
3783 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
3784 * grub-core/script/yylex.l: Likewise.
3785 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
3786 value.
3787
ff27c3dd 37882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
3789
3790 * gentpl.py: Remove obsolete pkglib_DATA handling.
3791
ff27c3dd 37922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
3793
3794 Don't transform PACKAGE_TARNAME following a discussion on autoconf
3795 mailing list.
3796
3797 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
3798 * util/grub-kbdcomp.in: Likewise.
3799 * util/grub-mkconfig.in: Likewise.
3800 * util/grub-mkconfig_lib.in: Likewise.
3801 * util/grub-mknetdir.in: Likewise.
3802 * util/grub-mkrescue.in: Likewise.
3803 * util/grub-mkstandalone.in: Likewise.
3804 * util/grub-reboot.in: Likewise.
3805 * util/grub-set-default.in: Likewise.
3806 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3807
ff27c3dd 38082012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
3809
3810 Remove GRUB_PREFIX.
3811
3812 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
3813 * util/grub.d/00_header.in: Compute prefix in the only place it's still
3814 used for backward compatibility.
3815
ff27c3dd 38162012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
3817
3818 Add new all_video module.
3819
3820 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
3821 * grub-core/Makefile.core.def (all_video): New module.
3822 * grub-core/genmoddep.awk: Generate dependency of all_video from
3823 video.lst.
3824 * grub-core/lib/fake_module.c: New file.
3825 * grub-core/normal/main.c (features): Add feature_all_video_module.
3826 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
3827 don't do explicit search again.
47454da5 3828 insmod all_video in load_video if available.
22c7ce85 3829
ff27c3dd 38302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
3831
3832 Another round of string clarification and adding TRANSLATORS comments.
3833
ff27c3dd 38342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
3835
3836 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
3837
ff27c3dd 38382012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
3839
3840 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
3841 to grub_ssize_t.
3842 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
3843 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
3844
ff27c3dd 38452012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
3846
3847 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
3848 trailing newline implicitly. All users updated.
3849
ff27c3dd 38502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
3851
3852 Implement serial on IEEE1275 and EFI.
3853
3854 * docs/grub.texi (Platform-specific limitations): Fix the columen video
3855 on emu. Mention arc and emu as the only platforms without serial
3856 support.
3857 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
3858 ieee1275 platforms.
3859 * grub-core/term/efi/serial.c: New file.
3860 * grub-core/term/ieee1275/serial.c: Likewise.
3861 * grub-core/term/serial.c (grub_serial_find): Disable direct port
3862 specification if no ns8250 driver is available.
3863 (grub_cmd_serial): Likewise.
3864 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
3865 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
3866 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
3867 (grub_efi_parity_type_t): New type.
3868 (grub_efi_stop_bits_t): Likewise.
3869 (grub_efi_serial_io_interface): New struct.
3870 * include/grub/serial.h (grub_serial_port): Make 'broken' field
3871 available for all interfaces.
3872 Add EFI and IEEE1275 fields.
3873 (grub_ofserial_init): New proto.
3874 (grub_efiserial_init): Likeiwse.
3875 * util/grub.d/00_header.in: Don't check for the presence of serial
3876 module.
3877
ff27c3dd 38782012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
3879
3880 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
3881 name as if it was an alias.
3882
114076ef
VS
38832012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3884
3885 * grub-core/commands/lsacpi.c (options): Fix typo.
3886
6a656b0e
VS
38872012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3888
3889 Convert grub-emu to argp.
3890
3891 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
3892 emu.
3893 * util/argp_common.c: Rename to ...
3894 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
3895 Add missing includes.
3896 * grub-core/kern/emu/main.c: Convert to argp.
3897 * po/POTFILES.in: Regenerate.
3898 * util/grub-install.in (usage): Make first letter lowcase in messages
3899 for uniformity.
3900 * util/grub-setup.c (options): Likewise.
3901
1e3f8ae8
VS
39022012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3903
3904 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
3905 Put back accidently commented-out code.
3906
ed167a80
VS
39072012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3908
3909 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
3910 loop check using Brent algorithm.
3911 (grub_hfsplus_btree_search): Likewise.
3912
6753c0ec
VS
39132012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3914
3915 * util/grub-install.in: Fix usage of wrong device for PreP install.
3916
4e27343f
VS
39172012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3918
3919 * conf/Makefile.common (CFLAGS_GNULIB): Add
3920 -Wno-unsafe-loop-optimizations.
3921 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
3922 on tools.
3923 * grub-core/commands/legacycfg.c: Add pragma to skip
3924 -Wunsafe-loop-optimizations.
3925 (check_password_md5_real): Fix loop counter type.
3926 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
3927 reading.
3928 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
3929 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
3930 loop condition.
3931 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
3932 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
3933 * grub-core/net/net.c (grub_net_route_address): Add safety loop
3934 condition.
3935 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
3936 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
3937 avoid possible infinite loops.
3938 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
3939 and -Wunsafe-loop-optimizations.
3940 * grub-core/script/yylex.l: Likewise.
3941 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
3942 (print_glyphs): Avoid infinite loops.
3943 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
3944
697f18b0
GS
39452012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
3946
3947 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
3948 to avoid infinite loop.
3949 (disp_acpi_rsdt_table): Likewise.
3950
274416e8
VS
39512012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3952
3953 * grub-core/font/font.c (grub_font_load): Add support for default
3954 path for fonts ($prefix/fonts).
3955 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
3956 for checking if string is a path.
3957 * grub-core/normal/main.c (features): Add feature_default_font_path.
3958 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
3959 * util/grub.d/00_header.in: Use default directory if possible.
3960 * util/grub-install.in: Install unicode.pf2.
3961
b3e08622
VS
39622012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3963
3964 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
3965 * po/Rules-swiss: New file.
3966 * po/swiss.sed: Likewise.
3967
fe42ce09
VS
39682012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
3969
3970 * grub-core/fs/btrfs.c (find_device): Fix typos.
3971 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
3972 * util/grub-mkrelpath.c (argp_parser): Likewise.
3973 Reported by: Yuri Chornoivan.
3974
72f1d065
DO
39752012-02-23 Dalet Omega <daletomega@gmail.com>
3976
3977 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
3978 for usual informative messages.
3979
c5884973
DO
39802012-02-23 Dalet Omega <daletomega@gmail.com>
3981
3982 Starfield theme.
3983
3984 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
3985 * conf/Makefile.common: Define starfielddir.
3986 * configure.ac: Configure starfield.
3987 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
3988 * themes/starfield/README: Likewise.
3989 * themes/starfield/blob_w.png: Likewise.
3990 * themes/starfield/boot_menu_c.png: Likewise.
3991 * themes/starfield/boot_menu_e.png: Likewise.
3992 * themes/starfield/boot_menu_n.png: Likewise.
3993 * themes/starfield/boot_menu_ne.png: Likewise.
3994 * themes/starfield/boot_menu_nw.png: Likewise.
3995 * themes/starfield/boot_menu_s.png: Likewise.
3996 * themes/starfield/boot_menu_se.png: Likewise.
3997 * themes/starfield/boot_menu_sw.png: Likewise.
3998 * themes/starfield/boot_menu_w.png: Likewise.
3999 * themes/starfield/slider_c.png: Likewise.
4000 * themes/starfield/slider_n.png: Likewise.
4001 * themes/starfield/slider_s.png: Likewise.
4002 * themes/starfield/src/blob_nw.xcf: Likewise.
4003 * themes/starfield/src/bootmenu/: Likewise.
4004 * themes/starfield/src/bootmenu/center.xcf: Likewise.
4005 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
4006 * themes/starfield/src/bootmenu/side.xcf: Likewise.
4007 * themes/starfield/src/slider_c.xcf: Likewise.
4008 * themes/starfield/src/slider_n.xcf: Likewise.
4009 * themes/starfield/src/slider_s.xcf: Likewise.
4010 * themes/starfield/src/terminalbox/: Likewise.
4011 * themes/starfield/src/terminalbox/center.xcf: Likewise.
4012 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
4013 * themes/starfield/src/terminalbox/side.xcf: Likewise.
4014 * themes/starfield/starfield.png: Likewise.
4015 * themes/starfield/terminal_box_c.png: Likewise.
4016 * themes/starfield/terminal_box_e.png: Likewise.
4017 * themes/starfield/terminal_box_n.png: Likewise.
4018 * themes/starfield/terminal_box_ne.png: Likewise.
4019 * themes/starfield/terminal_box_nw.png: Likewise.
4020 * themes/starfield/terminal_box_s.png: Likewise.
4021 * themes/starfield/terminal_box_se.png: Likewise.
4022 * themes/starfield/terminal_box_sw.png: Likewise.
4023 * themes/starfield/terminal_box_w.png: Likewise.
4024 * themes/starfield/theme.txt: Likewise.
4025
17d73325
VS
40262012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
4027
4028 * util/grub.d/00_header.in: Add missing export theme.
4029
dbebaf92
VS
40302012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4031
4032 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
4033 already included.
4034 Reported by: Eren D.
4035
3d68bffb
VS
40362012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4037
4038 * conf/Makefile.common (grubdatadir): Removed.
4039 (Makefile.am): Move eveything grubdata to pkgdata.
4040
4b59234d
VS
40412012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4042
4043 * grub-core/commands/acpihalt.c (get_sleep_type):
4044 Remove unused variable.
4045
463dcadc
VS
40462012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4047
4048 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
4049 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
4050 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
4051 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
4052 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
4053 i18n with gettext no-op.
4054 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
4055 GRUB_ACPI_OPCODE_STRING_CONST.
4056 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
4057 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
4058
e5b90c82
VS
40592012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4060
4061 * po/POTFILES.in: Regenerate.
4062
2a704ca9
VS
40632012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4064
4065 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
4066 -Wno-error=missing-noreturn.
4067
84f9d341
VS
40682012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4069
4070 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
4071 condition to avoid possibly infinite loops.
4072 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
4073 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
4074
d46683f9
VS
40752012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4076
4077 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
4078 condition to avoid possibly infinite loops.
4079
c44866b2
VS
40802012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4081
4082 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
4083 on show_error.
4084
96790539
VS
40852012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4086
4087 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
4088
1ba7e295
VS
40892012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4090
4091 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
4092
21ffe8f1
VS
40932012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4094
4095 * util/bin2h.c (usage): Add missing attribute noreturn.
4096
0ccb6b3c
VS
40972012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4098
4099 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
4100 if the size isn't divisible by 512.
4101
b00d7fb6
VS
41022012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4103
4104 Make list_push and list_remove functions rather than inline functions
4105 to decrease size and avoid aliasing violations.
4106
4107 * include/grub/list.h (grub_list_push): Move to ...
4108 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
4109 * include/grub/list.h (grub_list_remove): Move to ...
4110 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
4111
9d369087
VS
41122012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4113
4114 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
4115 and -Wunused-result.
4116
af0250d9
VS
41172012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
4118
4119 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
4120 Reported by: Seth Goldberg
4121
aad32b14
VS
41222012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
4123
4124 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
4125
ac96441c
ST
41262012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
4127
4128 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
4129 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
4130 command line.
4131 * docs/grub.texi (Simple configuration): Document
4132 GRUB_CMDLINE_GNUMACH.
4133
41342012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
4135
4136 * conf/Makefile.common (platform_SCRIPTS): New variable.
4137 (platform_PROGRAMS): Likewise.
4138 * gentpl.py: Mark *,module and *.image for install.
4139 * grub-core/gdb_grub.in: Add a notice of expected environment.
4140 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
4141 (gmodule.pl): Likewise.
4142
ac96441c 41432012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
4144
4145 Replace grub_checkkey with grub_getkey_noblock.
4146
4147 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
4148 (grub_getkey_noblock): ... this. All users updated.
4149
ac96441c 41502012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
4151
4152 * grub-core/kern/emu/console.c: Move to ...
4153 * grub-core/term/emu/console.c: ...here.
4154 (grub_ncurses_getkey): Fix return value if no key is detected.
4155
e51b5666
VS
41562012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4157
4158 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
4159 (grub_unit_test_fini): Likewise.
4160 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
4161
41622012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4163
4164 * include/grub/test.h (GRUB_UNIT_TEST)
4165
d9a62292
VS
41662012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4167
4168 * grub-core/script/execute.c (grub_script_break): Clarify logic.
4169 Better error handling.
4170 (grub_script_return): Likewise.
4171 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
4172
77c9182f
VS
41732012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4174
4175 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
4176 rimplicit redifinition.
4177
edb13cf9
VS
41782012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4179
4180 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
4181 GRUB.
4182
a9e9dc7c
VS
41832012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4184
4185 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
4186 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
4187 prompt here.
4188
b4ba8e02
VS
41892012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4190
4191 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
4192 as GRUB_ERR_BUG. Don't malloc if no device is available.
4193
dded5540
VS
41942012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4195
4196 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
4197 Mark calling with invalid term as GRUB_ERR_BUG.
4198
0cf69874
VS
41992012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4200
4201 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
4202 packets rather than raising an error.
4203
59bfe502
VS
42042012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4205
4206 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
4207 in if.
4208
db5fc596
VS
42092012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4210
4211 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
4212 diagnostic to dprintf.
4213 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4214
e4b7f404
VS
42152012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4216
4217 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
4218 device name.
4219
e7b02f9e
VS
42202012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4221
4222 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
4223 (grub_ntfs_iterate_dir): Likewise.
4224
0331e102
VS
42252012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4226
4227 Efiemu stylistic fixes and gettext.
4228
4229 * grub-core/efiemu/i386/loadcore32.c
4230 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
4231 * grub-core/efiemu/i386/loadcore64.c
4232 (grub_arch_efiemu_relocate_symbols64): Likewise.
4233 * grub-core/efiemu/i386/pc/cfgtables.c
4234 (grub_machine_efiemu_init_tables): Likewise.
4235 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
4236 (grub_efiemu_loadcore_initXX): Add a filename argument.
4237 All users updated.
4238 Improved error message.
4239 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
4240 Add a filename argument.
4241 All users updated.
4242 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
4243 Reclassify double relocation as GRUB_ERR_BUG.
4244
306fc074
VS
42452012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4246
4247 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
4248 handling.
4249
794d8ef2
VS
42502012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4251
4252 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
4253 on partition.
4254
42552012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
4256
4257 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
4258
794d8ef2 42592012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
4260
4261 Improve string. Gettextize.
4262
78dde88e
VS
42632012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4264
4265 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
4266 utils.
4267 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
4268
4786a90f
VS
42692012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4270
4271 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
4272 [GRUB_UTIL]: New function.
4273 (insert_array) [GRUB_UTIL]: Store partmaps.
4274 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
4275 partmaps.
4276 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
4277 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
4278 (probe_abstraction): Print diskfilter and not raid.
4279 Reported by: Lennart Sorensen
4280
0b6225bd
VS
42812012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4282
4283 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
4284 * util/grub-mkimagexx.c (MASK3): New define.
4285 (add_value_to_slot_20b): Use MASK3.
4286 (add_value_to_slot_21): Likewise.
4287 (relocate_addresses): Fix format specification.
4288 (load_image): Explicitly init symtab_section.
4289
b055f8f6
VS
42902012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4291
4292 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
4293 (grub_util_biosdisk_get_grub_dev): Fix format specification.
4294
b77c2fb7
VS
42952012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4296
4297 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
4298 on powerpc.
4299 Reported by: Lennart Sorensen
4300
e3ec28ab
VS
43012012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4302
4303 * gentpl.py: Add missing license header.
4304 * docs/grub.texi: Update copyright year.
4305
c8d9ead6
GS
43062012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
4307
4308 Source grub-mkconfig_lib from the build directory at build time.
4309 Suggested by: Vladimir Serbinenko.
4310
4311 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
4312 * util/grub-install.in: Define pkgdatadir if not already set, and source
4313 grub-mkconfig_lib from there.
4314 * util/grub-kbdcomp.in: Likewise.
4315 * util/grub-mkconfig.in: Likewise.
4316 * util/grub-mknetdir.in: Likewise.
4317 * util/grub-mkrescue.in: Likewise.
4318 * util/grub-mkstandalone.in: Likewise.
4319 * util/grub-reboot.in: Likewise.
4320 * util/grub-set-default.in: Likewise.
4321 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4322
ebcecdf1
VS
43232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4324
4325 Increase warning level.
4326
4327 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
4328 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
4329 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
4330 (TARGET_CFLAGS): Likewise.
4331 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
4332 * grub-core/Makefile.core.def (decompressor_xz): Add
4333 -Wno-unreachable-code.
4334 (normal): Add -Wno-redundant-decls.
4335 (xzio): Add -Wno-unreachable-code.
4336 (lzopio): Add -Wno-redundant-decls -Wno-error.
4337 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
4338 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
4339 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
4340 * grub-core/kern/dl.c: Add exception to -Wcast-align.
4341 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
4342 * grub-core/kern/i386/coreboot/init.c: Add exception to
4343 -Wsuggest-attribute=noreturn.
4344 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
4345 * grub-core/kern/ia64/dl_helper.c: Likewise.
4346 * grub-core/kern/mips/dl.c: Likewise.
4347 * grub-core/kern/sparc64/dl.c: Likewise.
4348 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
4349 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
4350 (memcmp): Likewise.
4351 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
4352 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
4353 * grub-core/loader/mips/linux.c: Likewise.
4354 * grub-core/loader/multiboot_elfxx.c: Likewise.
4355 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
4356 * grub-core/video/sm712.c: Add exception to -Wcast-align.
4357 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
4358 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
4359 fixme.
4360 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
4361 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
4362 Fix prototype.
4363
37bb97fe
VS
43642012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4365
4366 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
4367 address.
4368
29a3550b
VS
43692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4370
4371 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
4372 Avoid improper use of strings.
4373 (grub_cmd_legacy_initrdnounzip): Likewise.
4374
dfdffd0d
VS
43752012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4376
4377 * include/grub/emu/misc.h (grub_util_warn): Add missing format
4378 attribute.
4379 (grub_util_info): Likewise.
4380 (grub_util_error): Likewise.
4381
102fae4a
VS
43822012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4383
4384 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
4385 * util/grub-fstest.c (fstest): Likewise.
4386
7e94d044
VS
43872012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4388
4389 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
4390 (grub_md_sha512_real): Likewise.
4391 (grub_util_get_geli_uuid): Likewise.
4392 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
4393 (grub_util_biosdisk_open): Fix format specification.
4394 Respect format security.
4395 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
4396 (xrealloc): Likewise.
4397 (xasprintf): Likewise.
4398
5ebd9769
VS
43992012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4400
4401 * util/import_gcry.py: Include grub/crypto.h in init.c.
4402
495fc8c1
VS
44032012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4404
4405 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
4406 (generate_image): Make prefix a const char *.
4407 Fix format specifications. Respect format security.
4408 Avoid void * arithmetics.
4409 Avoid shadowing.
4410 (argp_parser): Remove unused variable. Respect format security.
4411 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
4412 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
4413 (count_funcs): Remove unused variable.
4414 (relocate_addresses): Fix format specification.
4415 Disable x86-64 with elf32. Remove unused variables.
4416 (add_fixup_entry): Avoid shadowing.
4417 (make_reloc_section): Fix format specification.
4418 Use assert.
4419 (locate_sections): Fix format specifications.
4420 (load_image): Avoid shadowing.
4421
043c2ea3
VS
44222012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4423
4424 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
4425 Fix format specifications. Respect format security.
4426 Don't translate already translated grub_errmsg.
4427 (argp_parser): Remove unused variable
4428
3ec65a81
VS
44292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4430
4431 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
4432
a4d9fe4a
VS
44332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4434
4435 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
4436 (main): Likewise. Use xmalloc. Respect format security.
4437
15b81d49
VS
44382012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4439
4440 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
4441 a const char *.
4442 (argp_parser): Remove unused variable.
4443
31731fc0
VS
44442012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4445
4446 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
4447 (add_pixel): Make static.
4448 (add_font): Likewise.
4449 (write_string_section): Make name and str a const char *.
4450 (write_be16_section): Make name a const char *.
4451 (print_glyphs): Make static.
4452 (write_font_ascii_bitmap): Likewise.
4453 (write_font_width_spec): Likewise.
4454 (write_font_pf2): Likewise.
4455 (argp_parser): Remove unused variable.
4456 Respect format security.
4457 (main): Avoid shadowing. Respect format security.
4458
0809527b
VS
44592012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4460
4461 * util/grub-editenv.c (argp_parser): Make static.
4462 (create_envblk_file): Use xmalloc.
4463 (open_envblk_file): Likewise.
4464 Resepect format security.
4465 (set_variables): Respect format security.
4466
45b0c8b7
VS
44672012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4468
4469 * util/getroot.c (grub_find_device): Respect format security.
4470 (get_mdadm_uuid): Remove unused variable.
4471 (grub_util_pull_device): Dont call gettext on already translated
4472 grub_errmsg.
4473 (find_system_device): Remove unused variable.
4474 (grub_util_get_grub_dev): Likewise.
4475 (grub_make_system_path_relative_to_its_root): Respect format security.
4476
1b024b4e
VS
44772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4478
4479 * util/grub-fstest.c (execute_command): Make first argument
4480 a const char *.
4481 (read_file): Avoid shadowing.
4482 Reuse underlying error message if device open fails.
4483 (cmd_cmp): Respect format security.
4484 (root): Make const char *.
4485 (fstest): Remove args argument and use global copy.
4486 Respect format security.
4487 (argp_parser): Make static.
4488 (main): Make default_root const char *.
4489
5d1d4e28
VS
44902012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4491
4492 * util/grub-mount.c (root): Make const char *.
4493 (execute_command): Make first argument a const char *.
4494 (fuse_init): Respect format security.
4495 (argp_parser): Make static. Remove unused variable.
4496 (main): Make default_root a const char *.
4497 Respect format security.
4498
36eb7379
VS
44992012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4500
4501 * util/grub-probe.c (probe): Don't call gettext on already translated
4502 grub_errmsg.
4503 Remove unused variables.
4504 (argp_parser): Remove unused variable.
4505
76fb2ea9
VS
45062012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4507
4508 * util/grub-script-check.c (argp_parser): Remove unused variable.
4509 (main): Rename read to curread to avoid shadowing.
4510
56c98584
VS
45112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4512
4513 * util/misc.c (grub_util_write_image_at): Fix format specification.
4514 (grub_util_write_image): Likewise.
4515 (grub_script_execute_argument_to_string): Removed (unused).
4516 (grub_script_execute_menuentry): Likewise.
4517 (grub_putchar): Likewise.
4518
164ebb48
VS
45192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4520
4521 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
4522 (FUNCTION) [GRUB_UTIL]: Likewise.
4523 (VARIABLE) [GRUB_UTIL]: Likewise.
4524
44318d61
VS
45252012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4526
4527 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
4528 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
4529
31a26002
VS
45302012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4531
4532 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
4533 buffer.
4534
45352012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4536
4537 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
4538 (LzmaEnc_SaveState): Removed (unused).
4539 (LzmaEnc_RestoreState): Likewise.
4540 (LzmaEnc_InitPriceTables): Made static.
4541 (LzmaEnc_Construct): Likewise.
4542 (LzmaEnc_FreeLits): Likewise.
4543 (LzmaEnc_Destruct): Likewise.
4544 (LzmaEnc_Init): Likewise.
4545 (LzmaEnc_InitPrices): Likewise.
4546 (LzmaEnc_Finish): Likewise.
4547 (LzmaEnc_PrepareForLzma2): Removed (unused).
4548 (LzmaEnc_MemPrepare): Likewise.
4549 (LzmaEnc_GetNumAvailableBytes): Likewise.
4550 (LzmaEnc_GetCurBuf): Likewise.
4551 (LzmaEnc_CodeOneMemBlock): Likewise.
4552
6fa67967
VS
45532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4554
4555 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
4556 (grub_util_ldm_embed): Likewise.
4557
9a7428e6
VS
45582012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4559
4560 * util/grub-editenv.c (print_var): Rename name to varname to
4561 avoid shadowing.
4562 (main): Rename index to curindex to avoid shadowing.
31a26002 4563 Make filename a const char *.
9a7428e6 4564
4f96abd1
VS
45652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4566
4567 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
4568 to arg_getline to avoid shadowing.
4569
44d10dad
VS
45702012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4571
4572 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
4573 disk_ to avoid shadowing.
4574
340ba63e
VS
45752012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4576
4577 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
4578 curindex to avoid shadowing.
4579 Make static.
4580 (MatchFinder_GetNumAvailableBytes): Make static.
4581
22965bce
VS
45822012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4583
4584 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
4585 avoid shadowing.
4586
7b5784d4
VS
45872012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4588
4589 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
4590 argument from encrypt to do_encrypt to avoid shadowing.
4591
6f48ca01
VS
45922012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4593
4594 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
4595 incorrect nesting of #if's.
4596
a4ea2dff
VS
45972012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4598
4599 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
4600 checks which are always false on some platforms.
4601 (grub_cmd_lsacpi): Likewise.
4602 * grub-core/kern/misc.c (grub_strtoul): Likewise.
4603 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
4604 Likewise.
4605
def9fc1b
VS
46062012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4607
4608 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
4609 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
4610
a67b2a04
VS
46112012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4612
4613 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
4614 re_dfa_t to avoid breaking alignment invariants.
4615 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
4616 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
4617
44c6828d
VS
46182012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4619
4620 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
4621 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
4622
bebe0dd0
VS
46232012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4624
4625 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
4626 Fix declaration.
4627
a9cdb3cf
VS
46282012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4629
4630 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
4631 conserve alignment invariants.
4632 (grub_ehci_ehcc_read16): Likewise.
4633 (grub_ehci_oper_read32): Likewise.
4634 (grub_ehci_oper_write32): Likewise.
4635 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
4636 Conserve alignment invariants.
4637
ccc3b1b8
VS
46382012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4639
4640 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
4641 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
4642 declarations.
4643
987fbd95
VS
46442012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4645
4646 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
4647 Remove unused variable.
4648
0df363f3
VS
46492012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4650
4651 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
4652 Remove set in if.
4653
b2c0c4a6
VS
46542012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4655
4656 * include/grub/net.h: Remove double declarations.
4657
690c531f
VS
46582012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4659
4660 Remove "payload" command in ia64 Linux loader since I couldn't
4661 find any evidence of it being used for anything.
4662 Replace "relocate" command with an environment variable
4663
4664 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
4665 fields.
4666 (ia64_boot_payload): Removed.
4667 (last_payload): Likewise.
4668 (RELOCATE_OFF): Likewise.
4669 (RELOCATE_ON): Likewise.
4670 (RELOCATE_FORCE): Likewise.
4671 (relocate): Likewise.
4672 (free_pages): Don't free payloads.
4673 (grub_load_elf64): Use common error messages.
4674 Use "linux_relocate" variable.
4675 Increase the space after boot_params.
4676 (grub_cmd_payload): Removed.
4677 (grub_cmd_relocate): Likewise.
4678 (grub_cmd_fpswa): Improve messages.
4679 (cmd_payload): Removed.
4680 (cmd_relocate): Likewise.
4681 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
4682 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
4683
01783768
VS
46842012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4685
4686 Convert UHCI to DMA framework.
4687
4688 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
4689 (grub_uhci_pci_iter): Fill new members
4690 (grub_alloc_td): Use P2V and V2P functions.
4691 (grub_free_queue): Likewise.
4692 (grub_alloc_qh): Likewise.
4693 (grub_uhci_setup_transfer): Likewise.
4694 (grub_uhci_check_transfer): Likewise.
4695
43206939
VS
46962012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4697
4698 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
4699 Remove assignment in if while on it.
4700
571e140e
VS
47012012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4702
4703 * util/grub-mkstandalone.in: Fix modules directory.
4704
a9d96eeb
VS
47052012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4706
4707 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
4708 on i386-pc target.
4709 (argp_parser): Accept "auto" as compression specification.
4710
e4e37e8d
VS
47112012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4712
4713 Fix `help' with unloaded modules.
4714
4715 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
4716 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
4717 (grub_dyncmd_dispatcher): Small stylistic fix.
4718 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
4719 explicit help is requested.
4720
e1ea3ade
VS
47212012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4722
4723 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
4724 Explicitly init restart while on it.
4725
27556881
VS
47262012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4727
4728 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
4729 uninited variable.
4730
d65f6b36
VS
47312012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4732
4733 * util/grub-mknetdir.in: Use . rather than source for POSIX
4734 compatibility.
4735
0a1e473c
VS
47362012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4737
4738 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
4739
ce6647c8
VS
47402012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4741
4742 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
4743 variable.
4744
66747894
VS
47452012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4746
4747 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
4748 without quotes.
4749
71645f6e
VS
47502012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4751
4752 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
4753
0e1c1f61
VS
47542012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4755
4756 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
4757 iteration of partitions.
4758
9c4b5c13
VS
47592012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4760
4761 Improve gettext support. Stylistic fixes and error handling fixes while
4762 on it.
4763
215c90cb
VS
47642012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4765
4766 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
4767 part. Instead setup the correct stack in RM.
4768 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
4769 for stack.
4770 * include/grub/i386/relocator_private.h: New file.
4771
b5c1f9bf
VS
47722012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4773
4774 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
4775 argument.
4776 * util/grub-fstest.c (options): Add missing DEVICE part.
4777
b525fd83
VS
47782012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4779
4780 Clarify and unify messages.
4781
4782 * grub-core/commands/hashsum.c (options): Unify messages.
4783 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
4784 literal-only message as translatable.
4785 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
4786 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
4787 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
4788 commands.
4789 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
4790 key, not the key used to unlock. Clarify what it's used for.
4791 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
4792 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
4793 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
4794 * util/grub-editenv.c (options): Unify "verbose" message.
4795 * util/grub-fstest.c (read_file): Unify error message.
4796 (fstest): Add quotes around commands.
4797 (options): Unify "verbose" message.
4798 * util/grub-install.in: Add quotes around variable name.
4799 * util/grub-kbdcomp.in: Unify error message.
4800 * util/grub-mkfont.c (main): Likewise.
4801 * util/grub-mkrescue.in: Likewise.
4802 * util/grub-mklayout.c (options): Unify "verbose" message.
4803 * util/grub-mkstandalone.in: Unify help and verbose messages.
4804 * util/grub-mount.c (options): Unify "verbose" message.
4805 * util/grub-probe.c (options): Likewise.
4806 * util/grub-script-check.c (options): Likewise.
4807 * util/grub-setup.c (setup): Unify no-terminator message.
4808 (options): Use DEVICE and not DEV.
4809 Unify "verbose" message.
4810 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
4811
0ae70393
VS
48122012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4813
4814 Improve and unify messages.
4815
4816 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
4817 name. All users updated.
4818 Print filename in error.
4819 (read_device_map): Print filename in error.
4820 * util/getroot.c (grub_guess_root_devices): Print filename in error.
4821 (grub_util_get_os_disk): Likewise.
4822 (grub_util_biosdisk_get_grub_dev): Likewise.
4823 (grub_util_check_block_device): Likewise.
4824 (grub_util_check_char_device): Likewise.
4825 (grub_make_system_path_relative_to_its_root): Likewise.
4826 * util/grub-editenv.c (create_envblk_file): Likewise.
4827 (open_envblk_file): Likewise.
4828 (write_envblk): Likewise.
4829 * util/grub-fstest.c (cmd_cp): Likewise.
4830 (cmd_cat): Likewise.
4831 (cmd_cmp): Likewise.
4832 * util/grub-menulst2cfg.c (main): Likewise.
4833 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
4834 (write_font_width_spec): Likewise.
4835 (write_font_pf2): Likewise.
4836 * util/grub-mkimage.c (generate_image): New argument outname.
4837 All users updated.
4838 Remove unreacheable message.
4839 (options): Unify messages.
4840 (help_filter): Likewise.
4841 * util/grub-mklayout.c (usage): Removed (unused).
4842 (main): Print filename in error.
4843 * util/grub-mkrescue.in: Fix wrong quoting.
4844 * util/grub-setup.c (setup): Print filename in error.
4845 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
4846 (check_sas): Likewise.
4847 * util/misc.c (grub_util_get_fp_size): Removed.
4848 (grub_util_get_image_size): Print filename in error.
4849 (grub_util_read_at): Removed.
4850 (grub_util_read_image): Print filename in error.
4851 (grub_util_load_image): Likewise.
4852 (grub_util_write_image_at): New argument filename. All users updated.
4853 Print filename in error.
4854 (grub_util_write_image): New argument filename. All users updated.
4855 Print filename in error.
4856 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
4857 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
4858
0a96117d
VS
48592012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4860
4861 * grub-core/Makefile.core.def (pxechain): New module.
4862 * grub-core/loader/i386/pc/pxechainloader.c: New file.
4863 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
4864 function.
4865 (grub_pc_net_config_real): Use grub_pxe_get_cached.
4866 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
4867
aca002f7
VS
48682012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4869
4870 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
4871 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
4872 * include/grub/err.h (grub_error_saved): New struct.
4873 (grub_errmsg): Make array size explicit.
4874 * include/grub/misc.h (grub_error_save): New function.
4875 (grub_error_load): Likewise.
4876 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
4877 (grub_error_push): Update `errno' member name.
4878 (grub_error_pop): Likewise
4879 * grub-core/net/tftp.c (tftp_data): New member save_err.
4880 (tftp_receive): Save error.
4881 (tftp_open): Restore error.
4882
a51dab13
VS
48832012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4884
4885 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
4886 to real mode down to execute A20-related code in protected mode as
4887 intended.
4888
eb6e6649
GS
48892012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
4890
4891 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
4892 NULL when the argument `level' has an unexpected value.
4893
92cd0f6e
VS
48942012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4895
4896 Move platform-dependent files from $prefix to $prefix/$platform.
4897
4898 * config.h.in (GRUB_TARGET_CPU): New definition.
4899 (GRUB_PLATFORM): Likewise.
4900 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
4901 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
4902 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
4903 * grub-core/kern/dl.c (grub_dl_load): Likewise.
4904 * grub-core/normal/autofs.c (read_fs_list): Likewise.
4905 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
4906 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
4907 * grub-core/normal/term.c (read_terminal_list): Likewise.
4908 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
4909 $prefix/locale.
4910 (grub_gettext_init_ext): Likewise.
4911 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
4912 grub_platform.
4913 * util/grub-install.in: Update directories.
4914 * util/grub-mknetdir.in: Likewise.
4915 * util/grub-mkrescue.in: Likewise.
4916
db606889
VS
49172012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4918
4919 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
4920 grub_error framework. All users updated.
4921
c39992a4
VS
49222012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4923
4924 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
4925 lists (by always binsearching), improve caching (cache strings
4926 used for binsearch, not only results), improve
4927 maintainability (by using more structured binary search) and correct
4928 error handling.
4929
1e5ec32f
VS
49302012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4931
4932 * grub-core/script/execute.c (grub_script_return): Fix warning.
4933
ac576cde
VS
49342012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4935
4936 * grub-core/script/execute.c (grub_script_return): Fix potential
4937 NULL-dereference.
4938 Reported by: Jim Meyering.
4939
498453f6
VS
49402012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4941
4942 * po/POTFILES.in: Regenerate.
4943 * util/grub-install.in: Gettextize the strings missed in first pass.
4944
8be63f2e
VS
49452012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4946
4947 * Makefile.util.def (grub-mkdevicemap): Removed.
4948 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
4949 * include/grub/util/deviceiter.h: Removed.
4950 * util/deviceiter.c: Likewise.
4951 * util/getroot.c (grub_util_get_os_disk): New function.
4952 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
4953 replacement for EFI.
4954 * util/grub-mkdevicemap.c: Removed.
4955 * util/grub-probe.c (probe): Handle PRINT_DISK.
4956 (argp_parser): Handle -t disk.
4957
8e1e4e39
VS
49582012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4959
4960 * util/grub-mkfont.c: Migrate to argp.
4961 * util/grub-mklayout.c: Likewise.
4962 * util/grub-mkpasswd-pbkdf2.c: Likewise.
4963 * util/grub-mkrelpath.c: Likewise.
4964 * util/grub-probe.c: Likewise.
4965 * util/grub-script-check.c: Likewise.
4966
4459819a
VS
49672012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4968
4969 * util/grub-reboot.in: Add missing datarootdir.
4970 Add missing newline.
4971 * util/grub-set-default.in: Add missing datarootdir.
4972 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
4973 * util/grub-mkrescue.in: Likewise.
4974
f65741c7
VS
49752012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4976
4977 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
4978
c1a33466
VS
49792012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4980
4981 * util/grub-kbdcomp.in: Add decent help and gettextize.
4982 * docs/man/grub-kbdcomp.h2m: New file.
4983
c76899a0
VS
49842012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4985
4986 Migrate grub-mkimage.c to argp.
4987
4988 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
4989 (grub-setup): Likewise.
4990 * util/grub-setup.c (print_version): Move to ...
4991 * util/argp_common.c (print_version): ... here.
4992 * util/grub-setup.c (argp_program_version_hook): Move to ...
4993 * util/argp_common.c (argp_program_version_hook): ... here.
4994 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
4995 safety.
4996 * util/grub-mkimage.c (main): Migrate to argp.
4997
57db0757
VS
49982012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4999
5000 * util/grub-mkrescue.in: Use same message as
5001 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
5002 for better translations.
5003
18534ad9
VS
50042012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5005
5006 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
5007 options with generic grub-mkrescue.in with the goal of future
5008 merge.
5009
c84ba308
VS
50102012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5011
5012 * grub-core/kern/mm.c: Add missing include of i18n.h
5013 * grub-core/lib/relocator.c: Likewise.
5014
347998c2
VS
50152012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5016
5017 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
5018 error.
5019 (allocate_pages): Check return value.
5020 Replace fatal with error.
5021 (grub_linux_boot): Replace printf with dprintf.
5022 Check find_mmap_size return value.
5023 Replace fatal with error.
5024 Don't call grub_machine_fini.
5025 (grub_load_elf64): Replace printf with dprintf.
5026 (grub_cmd_linux): Likewise.
5027 (grub_cmd_initrd): Likewise.
5028 (grub_cmd_payload): Likewise.
5029
c779226e
VS
50302012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5031
5032 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
5033 message.
5034 * grub-core/video/radeon_fuloong2e.c
5035 (grub_video_radeon_fuloong2e_setup): Likewise.
5036 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
5037 * grub-core/video/video.c (grub_video_set_mode): Don't override
5038 standard out of memory message.
5039
dc87d45a
GS
50402012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
5041
5042 NetBSD disk wedge support.
5043
5044 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
5045 [__NetBSD__]: Handle NetBSD disk wedges.
5046 * util/getroot.c (convert_system_partition_to_system_disk)
5047 [__NetBSD__]: Likewise.
5048
055f856f
MW
50492012-02-03 Mark Wooding <mdw@distorted.org.uk>
5050
5051 * util/grub-mkconfig.in: Use umask rather than chmod to create
5052 grub.cfg.new to avoid insecure grub.cfg.
5053
4a9f8346
VS
50542012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5055
5056 * grub-core/commands/ls.c: Gettextize.
5057 * grub-core/commands/setpci.c: Likewise.
5058 * grub-core/commands/videotest.c: Likewise.
5059 * grub-core/disk/geli.c: Likewise.
5060 * grub-core/kern/mm.c: Likewise.
5061 * grub-core/lib/relocator.c: Likewise.
5062 * grub-core/loader/efi/appleloader.c: Likewise.
5063 * grub-core/loader/i386/xnu.c: Likewise.
5064 * grub-core/loader/ia64/efi/linux.c: Likewise.
5065 * grub-core/loader/xnu.c: Likewise.
5066 * grub-core/net/dns.c: Likewise.
5067 * grub-core/net/net.c: Likewise.
5068 * grub-core/script/lexer.c: Likewise.
5069 * grub-core/script/parser.y: Likewise.
5070 * grub-core/script/yylex.l: Likewise.
5071 * util/getroot.c: Likewise.
5072 * util/grub-setup.c: Likewise.
5073
a646a366
VS
50742012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5075
5076 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
5077 number.
5078
54e2be26
VS
50792012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5080
5081 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
5082
f7c71e68
VS
50832012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5084
5085 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
5086 macro.
5087 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
5088 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
5089
a32d5c71
VS
50902012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5091
5092 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
5093 * util/grub-install.in: Gettextize.
5094 * util/grub-mkconfig.in: Likewise.
5095 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
5096 if not available.
5097 (grub_warn): Gettextize.
5098 * util/grub-mknetdir.in: Gettextize.
5099 * util/grub-mkrescue.in: Likewise.
5100 * util/grub-mkstandalone.in: Likewise.
5101 * util/grub-reboot.in: Likewise.
5102 * util/grub-set-default.in: Likewise.
5103 * util/grub.d/00_header.in: Likewise.
5104 * util/grub.d/10_hurd.in: Likewise.
5105 * util/grub.d/10_kfreebsd.in: Likewise.
5106 * util/grub.d/10_linux.in: Likewise.
5107 * util/grub.d/10_netbsd.in: Likewise.
5108 * util/grub.d/10_windows.in: Likewise.
5109 * util/grub.d/20_linux_xen.in: Likewise.
5110 * util/grub.d/30_os-prober.in: Likewise.
5111 * po/POTFILES-shell.in: Regenerate.
5112
69edd81a
RL
51132012-02-03 Richard Laager <rlaager@wiktel.com>
5114
5115 * util/grub-mkimage.c (main): Fix format-security warning.
5116 * util/grub-mkrelpath.c (main): Likewise.
5117 * util/grub-probe.c (main): Likewise.
5118
65f08dbf
RL
51192012-02-03 Richard Laager <rlaager@wiktel.com>
5120
5121 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
5122 failure.
5123 Put back lost PRINT_DRIVE.
5124
e9084abe
RL
51252012-02-03 Richard Laager <rlaager@wiktel.com>
5126
5127 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
5128 (grub_guess_root_devices): Replace strlen with sizeof.
5129 Avoid crash.
5130 (find_root_devices_from_poolname): Remove unused variable.
5131 Handle raidzN.
5132
cf5f7ee7
VS
51332012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5134
5135 Support install on multi-device filesystems.
5136
5137 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
5138 (grub_guess_root_devices): ...this. Return char **. All users updated.
5139 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
5140 Removed.
5141 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
5142 (find_root_devices_from_poolname): ... here.
5143 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
5144 Support zfs-fuse.
5145 (grub_guess_root_device): Rename to ...
5146 (grub_guess_root_devices): ... this. Return char **. All users updated.
5147 * util/grub-install.in: Handle multi-device filesystems.
5148 * util/grub-probe.c (probe). Make device_names a char **. Add delim
5149 argument. All users updated.
5150 Handle multi-device filesystems.
5151 Use 'delim' as separator.
5152 Remove device check to allow filesystems on file.
5153 (main): Support -0 argument. Handle multi-device.
5154 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
5155 Fix a cross-device check while on it.
5156 (arguments): Remove root_dev.
5157 (argp_parser): Remove -r.
5158 (main): Remove root_dev.
5159
2f53a9ed
VS
51602012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5161
5162 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
5163
17e1d934
VS
51642012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5165
5166 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
5167 symbol.
5168 Reported by: NODA, Kai <nodakai>.
5169
d3e3fab5
VS
51702012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5171
5172 Fix ehci on amd64.
5173
5174 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
5175 pointers.
5176 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
5177 (grub_ehci_setup_qh): Likewise.
5178 (grub_ehci_find_qh): Likewise.
5179 (grub_ehci_transaction): Likewise.
5180 (grub_ehci_setup_transfer): Likewise.
5181 (grub_ehci_check_transfer): Likewise.
5182 (grub_ehci_portstatus): Likewise.
5183 (grub_ehci_detect_dev): Likewise.
5184 (grub_ehci_transfer_controller_data): New field td_last_phys.
5185 (grub_ehci_setup_transfer): Fill td_last_phys.
5186 (grub_ehci_check_transfer): Use td_last_phys.
5187
3008675b
SG
51882012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
5189
5190 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
5191 if no submenu is present.
5192
fc9b5652
AN
51932012-02-01 Aleš Nesrsta <starous@volny.cz>
5194
5195 CBI support.
5196
5197 * include/grub/usb.h (grub_usbms_protocol_t): New values
5198 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
5199 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
5200 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
5201 (grub_usbms_dev): Add subclass, protocol and intrpt.
5202 Remove in_maxsz and out_maxsz.
5203 (grub_usbms_reset): Rename to ...
5204 (grub_usbms_bo_reset): .. this.
5205 (grub_usbms_cbi_cmd): New function.
5206 (grub_usbms_cbi_reset): Likewise.
5207 (grub_usbms_reset): Likewise.
5208 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
5209 (grub_usbms_transfer): Rename to ...
5210 (grub_usbms_transfer_bo): ... this.
5211 (grub_usbms_transfer_cbi): Likewise.
5212 (grub_usbms_transfer): Likewise.
5213
a2b81d53
AN
52142012-02-01 Aleš Nesrsta <starous@volny.cz>
52152012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5216
5217 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
5218 the support for the CS5536 modification thereos and few bugfixes.
5219
5220 * grub-core/Makefile.core.def (ehci): New module.
5221 * grub-core/bus/usb/ehci.c: New file.
5222 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
5223 port and hubaddr. All users updated.
5224 Save port and hubaddr into dev structure.
5225 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
5226 define.
5227 * include/grub/pci.h (grub_dma_phys2virt): New function.
5228 (grub_dma_virt2phys): Likewise.
5229 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
5230
b1d51f02
VS
52312012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5232
5233 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
5234 check as some mkfs implementations omit it.
5235
fc694106
VS
52362012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5237
5238 * docs/grub.texi (Unicode): Mention identifier and space limitations.
5239
6c0920e3
VS
52402012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5241
5242 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
5243 Add new member volname2.
5244 (grub_jfs_label): Use volname2 if available.
5245
d1a46f9a
VS
52462012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5247
5248 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
5249 over last_mounted as seen in image generated by mkfs.nilfs2.
5250 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
5251
dec8ed14
VS
52522012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5253
5254 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
5255 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
5256 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
5257
7397c69b
VS
52582012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5259
5260 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
5261 over the sector.
5262
b3fe42ad
VS
52632012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5264
5265 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
5266 subvolume name (by removing a bogus and useless check).
5267
10476bb0
VS
52682012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5269
5270 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
5271 sizeof while on it.
5272
9c08ad87
VS
52732012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5274
5275 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
5276 (grub_scsi_read_capacity10): ... this.
5277 (grub_scsi_read_capacity16): New function.
5278 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
5279 0xffffffff.
5280 Fix off-by-one error.
5281 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
5282 64-bit unsigned.
5283 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
5284 (grub_scsi_read_capacity10): ... this.
5285 (grub_scsi_read_capacity_data): Rename to ...
5286 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
5287 (grub_scsi_read_capacity16): New struct.
5288 (grub_scsi_read_capacity16_data): Likewise.
5289 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
5290 grub_scsi_cmd_read_capacity10.
5291 New command grub_scsi_cmd_read_capacity16.
5292
bc8d0f45
VS
52932012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5294
5295 SCSI >2TiB support.
5296
5297 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
5298 (grub_scsi_write16): Likewise.
5299 (grub_scsi_read): Use read16 when necessary.
5300 (grub_scsi_write): Likewise.
5301 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
5302 (grub_scsi_write16): Likewise.
5303 (grub_scsi_cmd_t): Add READ16 and WRITE16.
5304
cc774926
VS
53052012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5306
5307 SCSI write support (for usbms mainly).
5308
5309 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
5310 a const pointer.
5311 (grub_scsi_write): Implement.
5312 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
5313
67639fd7
VS
53142012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5315
5316 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
5317 variable.
5318
9079d3ed
VS
53192012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5320
5321 * grub-core/lib/posix_wrap/string.h (memchr): New function.
5322
c6a6f204
VS
53232012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5324
5325 * po/POTFILES.in: Regenerate.
5326
ecbf8cd1
VS
53272012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5328
5329 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
5330 with grub_printf to avoid unnecessary fatal failure.
5331
0b3b3b38
VS
53322012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5333
5334 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
5335 (INT_MAX): Likewise.
5336 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
5337 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
5338 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
5339 (strcpy): Likewise.
5340 (strstr): Likewise.
5341 (strchr): Likewise.
5342 (strncpy): Likewise.
5343 (strcat): Likewise.
5344 (strncat): Likewise.
5345 (strcoll): Likewise.
5346 * include/grub/types.h (GRUB_SHRT_MAX): New define.
5347 (GRUB_INT_MAX): Likewise.
5348
db7337a3
VS
53492012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5350
5351 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
5352 unexpected error.
5353 (optimize_utf8): Likewise.
5354 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
5355
f37c87e1
VS
53562012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5357
5358 * grub-core/boot/i386/pc/lnxboot.S: Use
5359 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
5360 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
5361 location.
5362 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
5363 definition.
5364 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
5365
63fe43f3
VS
53662012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5367
5368 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
5369 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
5370 now to avoid double free.
5371 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
5372 hostdisk.
5373 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
5374 * util/grub-probe.c (escape_of_path): Always return a new copy.
5375 (print_full_name): Escape path.
5376 (probe): Don't call grub_util_devname_to_ofpath on NULL.
5377 Fix hints on abstractions.
5378
ebe2c961
VS
53792012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5380
5381 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
5382 Don't add "root" line if no compatibility hont is available.
5383 Suggested by: Seth Goldberg.
5384
2b5336a2
VS
53852012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5386
5387 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
5388 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
5389 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
5390 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
5391
74310bd8
VS
53922012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5393
5394 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
5395
c30582ba
VS
53962012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5397
5398 * util/grub-pe2elf.c (ehdr): Make static.
5399 (shdr): Likewise.
5400 (num_sections): Likewise.
5401 (offset): Likewise.
5402
5f47782c
VS
54032012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5404
5405 Eliminate ofpath limits and possible overflows.
5406
5407 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
5408 (OF_PATH_MAX): Removed.
5409 (MAX_DISK_CAT): New const.
5410 (find_obppath): Use allocated rather than preallocated buffer.
5411 Return result. Argument of_path removed. All users updated.
5412 Add missing fdstat.
5413 (xrealpath): New function.
5414 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
5415 Allocate rather than use preallocated buffer. All users updated.
5416 (__of_path_common): Use allocated rather than preallocatecd buffer.
5417 Return result. Argument of_path removed. All users updated.
5418 (vendor_is_ATA): Read only needed part form the file.
5419 (check_sas): Allocate depending on contents rather than fixed.
5420 (main) [STANDALONE]: Handle NULL result.
5421
f990cbf9
VS
54222012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5423
5424 * grub-core/normal/completion.c (iterate_dev): Close the disk.
5425
9c6e84b8
VS
54262012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5427
5428 Cryptodisk write support.
5429
5430 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
5431 (grub_cryptodisk_decrypt): Moved logic to ...
5432 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
5433 (grub_cryptodisk_write): Implement.
5434 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
5435 (grub_util_fd_write): ... this. Make global.
5436 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
5437
87cf9744
VS
54382012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5439
5440 * include/grub/list.h (grub_list_remove): Don't crash if element is
5441 removed twice.
5442
ca8c0baf
VS
54432012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5444
5445 Rename ofconsole to console.
5446
5447 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
5448 as sysnonym to console.
5449 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
5450 * grub-core/term/ieee1275/console.c: ... this. All users updated.
5451 Rename grub_ofconsole_ to grub_console_. All users updated
5452 (grub_console_term_output): Rename "ofconsole" to "console".
5453 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
5454 as "console".
5455
64c8b8f6
VS
54562012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5457
5458 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
5459 handling.
5460 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
5461 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
5462 GRUB_DISK_DEVICE_FILE_ID.
5463
f6c434d5
VS
54642012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5465
5466 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
5467 and improve performance.
5468
5858b42d
VS
54692012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5470
5471 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
5472 missing ieee1275/ prefix on whole disk.
5473
4ed3c26b
VS
54742012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5475
5476 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
5477 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
5478
df71143e
VS
54792012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5480
5481 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
5482
076e7c0f
VS
54832012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5484
5485 Merge common RAID and LVM logic to an abstract diskfilter.
5486 Add LDM support using the same framework.
5487
5488 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
5489 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
5490 (libgrubmods): Remove grub-core/disk/raid.c and
5491 grub-core/partmap/gpt.c.
5492 * grub-core/Makefile.core.def (ldm): New module.
5493 (raid): Renamed to diskfilter. All users updated.
5494 * grub-core/disk/raid.c: Moved to ...
5495 * grub-core/disk/diskfilter.c: ... here.
5496 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
5497 (lv_num): New var.
5498 (find_array): Renamed to ...
5499 (find_lv): ... this. Support multi-LV. Skip nameless LVs
5500 (grub_is_array_readable): Renamed to ...
5501 (grub_is_lv_readable): ... this. Support multinode hierarchy.
5502 (insert_array): New argument id.
5503 (is_node_readable): New function.
5504 (scan_device): Rename to ...
5505 (scan_disk): .. this. Restrict to one disk.
5506 (scan_devices): New function.
5507 (grub_diskfilter_iterate): Support multi-LV.
5508 Skip invisible and nameless LVs.
5509 (grub_diskfilter_memberlist): Support multi-LV.
5510 (grub_diskfilter_read_node): New function.
5511 (grub_raid_read): Most of logic moved to ...
5512 (read_segment): ... here
5513 (read_lv): New function.
5514 (grub_diskfilter_get_vg_by_uuid): New function.
5515 (grub_diskfilter_make_raid): Likewise.
5516 * grub-core/disk/ldm.c: New file.
5517 * grub-core/disk/lvm.c (vg_list): Removed.
5518 (lv_count): Likewise.
5519 (scan_depth): Likewise.
5520 (is_lv_readable): Likewise.
5521 (grub_lvm_getvalue): Advance pointer past the number.
5522 (find_lv): Removed.
5523 (do_lvm_scan): Refactored into ...
5524 (grub_lvm_detect): ... this. Support raid.
5525 (grub_lvm_iterate): Removed.
5526 (grub_lvm_memberlist): Likewise.
5527 (grub_lvm_open): Likewise.
5528 (grub_lvm_close): Likewise.
5529 (read_lv): Likewise.
5530 (read_node): Likewise.
5531 (is_node_readable): Likewise.
5532 (is_lv_readable): Likewise.
5533 (grub_lvm_read): Likewise.
5534 (grub_lvm_write): Likewise.
5535 (grub_lvm_dev): Use diskfilter
5536 (GRUB_MOD_INIT): Likewise.
5537 (GRUB_MOD_FINI): Likewise.
5538 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
5539 new interface.
5540 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
5541 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5542 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
5543 grub_diskfilter_read_node.
5544 Fix a bug with xor.
5545 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
5546 grub_diskfilter_read_node.
5547 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
5548 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
5549 (grub_disk_dev_iterate): Move from here...
5550 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
5551 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
5552 Make global.
5553 (grub_hostdisk_find_partition_start): Likewise.
5554 (grub_hostdisk_os_dev_to_grub_drive): New function.
5555 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
5556 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
5557 * util/getroot.c (make_device_name): ... here.
5558 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
5559 Move to ...
5560 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
5561 * grub-core/kern/emu/hostdisk.c
5562 (convert_system_partition_to_system_disk): Move to ...
5563 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
5564 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
5565 * util/getroot.c (device_is_wholedisk): ... here.
5566 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
5567 * util/getroot.c (find_system_device): ... here.
5568 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
5569 Move to ...
5570 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
5571 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
5572 Move to ...
5573 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
5574 Handle LDM.
5575 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
5576 Move to ...
5577 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
5578 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
5579 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
5580 DISKFILTER.
5581 * include/grub/raid.h: Renamed to ...
5582 * include/grub/diskfilter.h: ... this.
5583 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
5584 (GRUB_RAID_LAYOUT_*): Make into array.
5585 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
5586 (grub_diskfilter_vg): New struct.
5587 (grub_diskfilter_pv_id): Likewise.
5588 (grub_raid_member): Removed.
5589 (grub_raid_array): Likewise.
5590 (grub_diskfilter_pv): New struct.
5591 (grub_diskfilter_lv): Likewise.
5592 (grub_diskfilter_segment): Likewise.
5593 (grub_diskfilter_node): Likewise.
5594 (grub_diskfilter_get_vg_by_uuid): New proto.
5595 (grub_raid_register): Inline.
5596 (grub_diskfilter_unregister): Likewise.
5597 (grub_diskfilter_make_raid): New proto.
5598 (grub_diskfilter_vg_register): Likewise.
5599 (grub_diskfilter_read_node): Likewise.
5600 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
5601 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
5602 (grub_util_is_ldm): Likewise.
5603 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
5604 (grub_hostdisk_find_partition_start): Likewise.
5605 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
5606 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
5607 New definition.
5608 (grub_gpt_partition_map_iterate): New proto.
5609 * include/grub/lvm.h (grub_lvm_vg): Removed.
5610 (grub_lvm_pv): Likewise.
5611 (grub_lvm_lv): Likewise.
5612 (grub_lvm_segment): Likewise.
5613 (grub_lvm_node): Likewise.
5614 * util/getroot.c [...]
5615 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
5616 (probe_abstraction): Likewise.
5617 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
5618 (main): Remove dead logic.
5619
8a7f9b9c
VS
56202012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
5621
5622 Simplify root device discover and don't fail when trying to open
5623 incorrect devices.
5624
5625 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
5626 function.
5627 (get_diskname_from_path): Likewise.
5628 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
5629 of iterating.
5630
30545b85
VS
56312012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5632
5633 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
5634
28ea58cf
VS
56352012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5636
5637 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
5638 pastthe end.
5639
692dabca
VS
56402012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5641
5642 * util/grub-install.in: Add missing \.
5643 Reported by: gentoofan
5644
f6e4ea70
VS
56452012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
5646
5647 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
5648 (direct_read): Use correct compressed size.
5649 (grub_squash_read_data): Likewise.
5650
56512012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
5652
5653 * docs/grub.texi (Platform limitations): New section.
5654 (Platform-specific operations): Likewise.
5655 * docs/grub-dev.texi (Porting): Likewise.
5656
76261110
VS
56572012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5658
5659 IEEE1275 disk write support.
5660
5661 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
5662 const void *.
5663 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
5664 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
5665 and seek loginc to ...
5666 (grub_ofdisk_prepare): ... here.
5667 (grub_ofdisk_write): Implement.
5668
fc36d603
VS
56692012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5670
5671 ARC disk write support.
5672
5673 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
5674 (reopen): New argument writable. All users updated.
5675 Handle required access mode.
5676 (grub_arcdisk_write): Implement.
5677 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
5678 (grub_arc_firmware_vector): Make buffer to write a const buffer.
5679
e06c2e7a
VS
56802012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5681
5682 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
5683 (read_sblock): Don't attempt to read superblocks outside the disk size.
5684
ff447958
VS
56852012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5686
5687 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
5688 first superblock to find the second one when possible.
5689
9e88df39
VS
56902012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5691
5692 * util/grub-install.in: Fix an ARC bug.
5693 Print a warning if no platform-specific setup is available.
5694
bb26e4ff
VS
56952012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5696
5697 Use static allocation rather than scratch pointer in reed_solomon.
5698 It decreases its size significantly and avoids a variable in .text.
5699
5700 * grub-core/lib/reed_solomon.c (scratch): Removed.
5701 (chosenstat): New const or static array.
5702 (sigma): Likewise.
5703 (errpot): Likewise.
5704 (errpos): Likewise.
5705 (sy): Likewise.
5706 (mstat): Likewise.
5707 (errvals): Likewise.
5708 (eqstat): Likewise.
5709 (pol_evaluate): Replace x with log_x argument. All users updated.
5710 (syndroms): Removed.
5711 (gauss_solve): Use statically allocated arrays.
5712 (rs_recover): Likewise.
5713 Calculate syndroms directly.
5714 (decode_block): Use statically allocated arrays.
5715 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
5716 (main) [TEST]: Allow -DTEST -DSTANDALONE.
5717
2e13ede5
VS
57182012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5719
5720 Eliminate fixed limit on reed solomon decoder length.
5721
5722 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
5723 rather than hardcoding the address.
5724 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
5725 no_reed_solomon_length.
5726 Move gate_a20 to no-reed-solomon part.
5727 Don't force a particular size of no reed-solomon part.
5728 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
5729 Removed.
5730 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
5731 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
5732
f8a9ab12
VS
57332012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5734
5735 * grub-core/commands/wildcard.c (match_files): Handle filenames
5736 without explicit device.
5737 (wildcard_expand): Don't add explicit device if not already present.
5738 * tests/grub_script_echo1.in: Add a new expansion test.
5739
87edb894
VS
57402012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5741
5742 Replace single-linked with double-linked lists. It results in more
5743 compact and more efficient code.
5744
5745 * grub-core/kern/list.c (grub_list_push): Moved from here ...
5746 * include/grub/list.h (grub_list_push): ... to here. Set prev.
5747 (grub_list_remove): Moved from here ...
5748 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
5749 (grub_prio_list_insert): Set prev.
5750 * include/grub/list.h (grub_list): Add prev. All users updated.
5751
48b391e9
VS
57522012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5753
5754 Handle newer autotools. Add some missing quotes while on it.
5755
5756 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
5757 (pkglib_DATA): Move grub-mkconfig_lib from here ...
5758 (pkgdata_DATA): ... here.
5759 * Makefile.util.def (update-grub_lib): Removed.
5760 * conf/Makefile.common (pkglib_DATA): Removed.
5761 (pkglib_SCRIPTS): Likewise.
5762 (pkgdata_DATA): New variable.
5763 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
5764 needed.
5765 Add missing quotes.
5766 Remove unused variable while on it.
5767 * tests/util/grub-shell.in: Likewise.
5768 * util/grub-install.in: Likewise.
5769 * util/grub-mkconfig.in: Likewise.
5770 * util/grub-mknetdir.in: Likewise.
5771 * util/grub-mkrescue.in: Likewise.
5772 * util/grub-mkstandalone.in: Likewise.
5773 * util/grub.d/00_header.in: Likewise.
5774 * util/grub.d/10_hurd.in: Likewise.
5775 * util/grub.d/10_illumos.in: Likewise.
5776 * util/grub.d/10_kfreebsd.in: Likewise.
5777 * util/grub.d/10_linux.in: Likewise.
5778 * util/grub.d/10_netbsd.in: Likewise.
5779 * util/grub.d/10_windows.in: Likewise.
5780 * util/grub.d/20_linux_xen.in: Likewise.
5781 * util/grub.d/30_os-prober.in: Likewise.
5782 * util/update-grub_lib.in: Removed.
5783
57842012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
5785
5786 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
5787 a workaround for intel problem.
5788
66832792
PRP
57892012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
57902012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
57912012-01-23 pfsmorigo
5792
5793 * util/grub-install.in: Support dd'in into PreP partition.
5794 * util/grub-probe.c (probe): Support discovering partition type.
5795 (main): Support -t msdos_parttype.
5796
7816a17e
VS
57972012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
5798
5799 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
5800 infinite recursion using counter.
5801 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
5802 init to skip it if the magic check fails.
5803 (dec_stream_header): Init s->crc32.
5804
8f9d3a8c
ZB
58052012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
58062012-01-22 Zachary Bedell <pendorbound@gmail.com>
58072012-01-22 Richard Laager <rlaager@wiktel.com>
5808
5809 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
5810 All users updated.
5811 (find_bestub): Determine correct size.
5812 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
5813 (scan_disk): Align the size down.
5814 Call check pool before find_bestub to have ashift.
5815
b055dd32
VS
58162012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5817
5818 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
5819 dprintf in no-malloc zone.
5820
d779e9bd
ML
58212012-01-22 Mario Limonciello <mario_limonciello@dell.com>
5822
5823 * configure.ac: Add back in test for limits.h.
5824
b508af69
VS
58252012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5826
5827 Support 4K-sector NTFS.
5828
5829 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
5830 (grub_ntfs_data): Remove blocksize.
5831 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
5832 Remove data argument. All users updated.
5833
dad9c8b5
VS
58342012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5835
5836 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
5837 being in .text to avoid dprel references.
5838 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
5839 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
5840 (grub_arch_highmemsize): Likewise.
5841 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
5842 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
5843 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
5844
d43a777e
VS
58452012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5846
5847 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
5848
5849 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
5850 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
5851
34e4208f
VS
58522012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5853
5854 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
5855 GRUB_UTIL.
5856 (grub_set_datetime_cmos): Likewise.
5857
3ec0fc1c
VS
58582012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5859
5860 Make XZ compression parameters dependent on target and not host CPU.
5861
5862 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
5863 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
5864
22489834
VS
58652012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5866
5867 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
5868 set but not used variable.
5869
8502fbca
VS
58702012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5871
5872 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
5873 created when no uuid support is compiled into mkfs.reiser.
5874
76df2068
VS
58752012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5876
5877 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
5878 (utf8_to_macroman): Do the opposite.
5879 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
5880
64e3f8f6
VS
58812012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5882
5883 * configure.ac: Refise build qemu_mips w/o unifont.
5884
9c271078
VS
58852012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5886
5887 Eliminate grub_min/grub_max prone to overflow usage.
5888
5889 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
5890 (poll_nonroot_hub): Likewise.
5891 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
5892 (grub_affs_label): Likewise.
5893 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
5894 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
5895 (grub_hfs_label): Likewise.
5896 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
5897 * grub-core/fs/zfs/zfs.c (MIN): Remove.
5898 (zap_leaf_array_equal): Use grub_size. Remove MIN.
5899 (zap_leaf_array_get): Likewise.
5900 (dnode_get_path): Likewise.
5901 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
5902 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
5903 * grub-core/script/execute.c (grub_script_break): Likewise.
5904 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
5905 grub_max.
5906 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
5907 * include/grub/misc.h (grub_min): Removed.
5908 (grub_max): Likewise.
5909
80662dbc
VS
59102012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
5911
5912 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
5913 direct.inode = 0.
5914
e6da1467
VS
59152012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5916
5917 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
5918
b1ac4cb1
VS
59192012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5920
5921 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
5922
b4bf7c3b
VS
59232012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5924
5925 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
5926 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
5927
8ee1101a
VS
59282012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5929
5930 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
5931 rather than a hack for grub_strncasemap.
5932
59332012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5934
5935 Support multiple initrds
5936 Note: part of this was accidently committed in r3739.
5937
5938 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
5939 initrd.
5940 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
5941 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
5942 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
5943 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5944 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5945
4d1e2bc9
VS
59462012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5947
5948 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
5949 disks with unknown size.
5950 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
5951
75b49ebe
VS
59522012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5953
5954 Remove defines pertaining to arbitrary limits not affecting GRUB
5955 anymore.
5956
5957 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
5958 (EXT2_MAX_SYMLINKCNT): Likewise.
5959 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
5960 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
5961 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
5962 (GRUB_PXE_MAX_BLKSIZE): Likewise.
5963 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
5964 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
5965 (DN_MAX_OBJECT_SHIFT): Likewise.
5966 (DN_MAX_OFFSET_SHIFT): Likewise.
5967 (DN_MAX_OBJECT): Likewise.
5968 (DNODES_PER_LEVEL_SHIFT): Likewise.
5969 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
5970 (SPA_MAXBLOCKSIZE): Likewise.
5971 (SPA_BLOCKSIZES): Likewise.
5972 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
5973 (MZAP_MAX_BLKSZ): Likewise.
5974
74a1dce7
VS
59752012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5976
5977 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
5978 handle NULL appropriately.
5979 Remove MIN.
5980
30c7d3ce
VS
59812012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5982
5983 Fix efiemu.
5984
5985 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
5986 cpu/types.h.
5987 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
5988 * configure.ac: Fix efiemu check.
5989
3c76ea0c
VS
59902012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5991
5992 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
5993 grub_probe.
5994 Reported by: adamwill
5995
7e532280
SG
59962012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
5997
5998 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
5999
30492374
VS
60002012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6001
6002 Fix handling of wide characters in gfxterm.
6003
6004 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
6005 (clear_char): Likewise.
6006 (paint_char): Skip code == NULL chars.
6007 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
6008
e70cb72f
VS
60092012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6010
6011 * grub-core/normal/charset.c: Move comment to right place.
6012
5c827cf9
VS
60132012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6014
6015 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
6016 (GRUB_AFFS_FLAG_FFS): Put back where it was.
6017 (grub_affs_mount): Revert the correct version checking.
6018
53603892
VS
60192012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6020
6021 * docs/grub.texi (Unicode): Mention several other unsupported features.
6022
ff094b9b
VS
60232011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6024
6025 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
6026 case statements as compile-time one.
6027 (direct_read): Prevent spurious warnings.
6028 (grub_squash_read_data): Likewise.
6029
c029da8a
VS
60302011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6031
6032 Various squash4 fixes and LZO and XZ support.
6033
6034 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
6035 Add xzembed source files.
6036 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
6037 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
6038 (grub_squash_inode): New subtype long_dir.
6039 (SQUASH_TYPE_LONG_DIR): New inode type.
6040 (COMPRESSION): New enum.
6041 (XZBUFSIZ): New const.
6042 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
6043 (read_chunk): Use data->decompress.
6044 (zlib_decompress): New function.
6045 (lzo_decompress): Likewise.
6046 (xz_decompress): Likewise.
6047 (squash_mount): Set new data fields.
6048 (grub_squash_iterate_dir): Handle long dir.
6049 (squash_unmount): Free xzdec and xzbuf.
6050 (grub_squash_open): Check ino type.
6051 (direct_read): Stylistic fixes. Use data->decompress.
6052 (grub_squash_read_data): Likewise.
6053 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
6054 (get_byte): Likewise.
6055 (grub_zlib_disk_read): Removed.
6056 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
6057 (GRUB_POSIX_BOOL_DEFINED): New define.
6058 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
6059 * grub-core/lib/xzembed/xz.h: Addmissing includes.
6060 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
6061 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
6062
7a45a539
VS
60632011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6064
6065 Don't override more informative errors.
6066
6067 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
6068 * grub-core/font/font.c (open_section): Likewise.
6069 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
6070 filename. Don't override errors.
6071 (grub_cmd_openbsd_ramdisk): Don't override errors.
6072 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
6073 (grub_cmd_initrd): Likewise.
6074 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6075 (grub_cmd_initrd): Likewise.
6076 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
6077 (grub_cmd_linux): Likewise.
6078 (grub_cmd_initrd): Likewise.
6079 (grub_cmd_payload): Likewise.
6080 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6081 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
6082 (grub_cmd_module): Likewise.
6083 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6084 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6085 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
6086 (grub_cmd_xnu_mkext): Likewise.
6087 (grub_cmd_xnu_ramdisk): Likewise.
6088 (grub_xnu_check_os_bundle_required): Likewise.
6089 (grub_xnu_load_kext_from_dir): Likewise.
6090 (grub_cmd_xnu_kextdir): Likewise.
6091 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
6092
b2d004db
VS
60932011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6094
6095 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
6096 as 1024 in block size field. Found on one of my test images.
6097 Small optimisation while on it.
6098
ec000eac
VS
60992011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6100
6101 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
6102 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
6103 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
6104 performance fixes while on it.
6105 (grub_sfs_close): Fix memory leak while on it.
6106 (grub_sfs_label): Convert Latin1 to UTF-8.
6107
f50e1165
VS
61082011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6109
6110 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
6111 space to avoid overflows.
6112 (grub_hfs_label): Convert from macroman to UTF-8.
6113
2ae254de
VS
61142011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6115
6116 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
6117
0108f491
VS
61182011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6119
6120 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
6121
f45f5f89
VS
61222011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6123
6124 * unicode: Import Unicode 6.0 data.
6125
4d8c4765
VS
61262011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6127
63fa8ef9
VS
6128 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
6129 outside of range.
6130
61312011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6132
6133 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
6134
6135 * include/grub/charset.h (grub_getend): New function.
6136 * grub-core/script/function.c (grub_script_function_find): Use
6137 grub_getend.
6138 * grub-core/normal/completion.c (add_completion): Likewise.
6139
f3cb4a4e
VS
61402011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6141
6142 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
6143 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
6144 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
6145 (GRUB_UNICODE_TAG_END): Likewise.
6146 (GRUB_UNICODE_LAST_VALID): Likewise.
6147
5da8dbc5
VS
61482011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6149
6150 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
6151 len and make it smaller. All users updated.
6152 * util/import_unicode.py: Put length and not end character.
6153 Check length.
6154
8569f13d
VS
61552011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6156
6157 Make better Unicode-compliant and unify some UTF-8 code pathes.
6158
6159 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
6160 valid character.
6161 (grub_is_valid_utf8): Use grub_utf8_process.
6162 Check resulting code range.
6163 (grub_utf8_to_ucs4): Use grub_utf8_process.
6164 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
6165 valid character.
6166
cc4fddf5
VS
61672011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6168
6169 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
6170
bbc47747
VS
61712011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6172
6173 * docs/grub.texi (Filesystems): Mention AFS.
6174
f63d6bf4
VS
61752011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6176
6177 * docs/grub.texi (Filesystems): Clarify restrictions.
6178 (Regexp): Mention non-Unicode regexp behaviour.
6179 (Other): Mention non-Unicode matching behaviour.
6180
74bbf0db
VS
61812011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6182
f63d6bf4 6183 Make HFS implementation use MacRoman.
74bbf0db
VS
6184
6185 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
6186 (macroman): New const array.
6187 (macroman_to_utf8): New function.
6188 (utf8_to_macroman): Likewise.
6189 (grub_hfs_find_dir): Use utf8_to_macroman.
6190 (grub_hfs_dir): Use macroman_to_utf8.
6191 Set case_insensitive.
6192
4ea0316e
VS
61932011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6194
6195 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
6196
d3c13cbd
VS
61972011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6198
6199 Integrate hints into autogeneration scripts.
6200
6201 * docs/grub.texi (Filesystems): Add a hostdisk example.
6202 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
6203 (grub-probe): Add ofpath.
6204 * gentpl.py: Remove group nosparc64.
6205 * grub-core/commands/search.c (cache_entry): New struct.
6206 (cache): New var.
6207 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
6208 * grub-core/commands/search_wrap.c (options): Add platform-specific
6209 hint options.
6210 (grub_cmd_search): Handle platform-specific hints.
6211 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
6212 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
6213 (grub_util_biosdisk_data): Likewise.
6214 (grub_util_biosdisk_open): Set device_map.
6215 (read_device_map): Handle "" as indication of no map.
6216 Set device_map.
6217 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
6218 (grub_util_biosdisk_get_compatibility_hint): New function.
6219 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
6220 * include/grub/emu/hostdisk.h
6221 (grub_util_biosdisk_get_compatibility_hint): New proto.
6222 * util/grub-install.in: Don't call grub-mkdevicemap.
6223 Add platform-specific hint to load.cfg.
6224 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
6225 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
6226 hints. Set root preliminary to compatibility hint, not to OS name.
6227 * util/grub-probe.c (PRINT_*): Add hints.
6228 (print): Make static.
6229 (escape_of_path): New function.
6230 (guess_bios_drive): Likewise.
6231 (guess_efi_drive): Likewise.
6232 (guess_baremetal_drive): Likewise.
6233 (print_full_name): Likewise.
6234 (probe): Handle hints.
6235 (main): Likewise.
6236 * util/ieee1275/devicemap.c: Removed.
6237 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
6238 updated.
6239 (grub_util_devname_to_ofpath): Return NULL on failure.
6240
6241 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
6242 resource leak.
6243 * util/getroot.c (grub_util_pull_device): Fix memory leak.
6244
6245 * po/POTFILES.in: Regenerated.
6246
6247 Allow purely long options
6248
6249 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
6250 (SHORT_ARG_USAGE): Likewise.
6251 (grub_arg_show_help): Compare opt with help_options.
6252 (parse_option): Receive opt as argument. If makes big simplificatons.
6253 All users updated
6254
00ce2df3
VS
62552011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6256
6257 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
6258 Restructure to avoid warning.
6259
e77e325f
VS
62602011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6261
6262 * util/grub-install.in: Account for possible escaped comma in device
6263 name.
6264
165099ea
VS
62652011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6266
6267 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
6268 channel.
6269
ce4a999d
VS
62702011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6271
6272 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
6273 allocation and zero-setting.
6274 (grub_ieee1275_get_devname): Check that alias is complete.
6275
379586ad
VS
62762011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6277
6278 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
6279 unaligned segments.
6280
9197b0ad
VS
62812011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6282
6283 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
6284 prefix.
6285 (grub_ofdisk_open): Check and discard ieee1275 prefix.
6286 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6287 Add ieee1275 prefix.
6288
edddb7f9
VS
62892011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6290
6291 * docs/grub.texi (Filesystems): Update.
6292
a1a8b1b9
VS
62932011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6294
6295 Support odc, newc and bigendian cpio formats.
6296
6297 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
6298 * grub-core/Makefile.core.def (newc): New module.
6299 (odc): Likewise.
6300 (cpio_be): Likewise.
6301 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
6302 (MAGIC): Likewise.
6303 (MAGIC2): Likewise.
6304 (head) [MODE_ODC]: Adapt for the format.
6305 (head) [MODE_NEWC]: Likewise.
6306 (head) [!MODE_*]: Write fields of interest as arrays.
6307 (MAGIC_USTAR): Removed.
6308 (read_number) [MODE_NEWC]: Change to hex.
6309 (read_number) [!MODE_*]: Parse binary arrays.
6310 (grub_cpio_find_file): Factor out the code for better structure and
6311 always use read_number.
6312 (grub_cpio_mount): Use MAGIC and MAGIC2.
6313 (grub_cpio_dir): Exit on first hook non-0 return.
6314 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
6315 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
6316 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
6317 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
6318 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
6319 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
6320 * grub-core/fs/newc.c: New file.
6321 * grub-core/fs/odc.c: Likewise.
6322 * grub-core/fs/cpio_be.c: Likewise.
6323
58eba9ee
VS
63242011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6325
6326 Fix handling of tar numbers occupying the whole field.
6327
6328 * grub-core/fs/cpio.c (read_number): New function.
6329 (grub_cpio_find_file): Use read_number instead of strtoull.
6330
a54a0e12
VS
63312011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6332
6333 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
6334 occupying the whole field size.
6335
a6120aca
LA
63362011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
6337
6338 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
6339
a93964ce
VS
63402011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6341
6342 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
6343
3ea1ca46
SG
63442011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
6345
6346 * grub-core/Makefile.core.def (lzma_decompress): Add missing
6347 TARGET_IMG_LDFLAGS.
6348
b87f7ef2
VS
63492011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6350
6351 * util/getroot.c (ESCAPED_PATH_MAX): New define.
6352 (mountinfo_entry): Increase the field size to take escaping into
6353 account.
6354 (find_root_device_from_libzfs): Add one byte to size of strings for
6355 security.
6356
62092395
VS
63572011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6358
6359 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
6360 an assert.
6361 * util/grub-setup.c (setup): Likewise.
6362
1f0b1a77
VS
63632011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6364
6365 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
6366 _LzmaDecodeA.
6367
8eba9997
VS
63682011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6369
6370 * docs/grub.texi (Internationalisation): New section.
6371
dd0c91e9
VS
63722011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6373
6374 * docs/grub.texi (Loopback booting): New section.
6375
63762011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
6377
6378 * util/grub-mkstandalone.in: Fix minor typo errors.
6379
198e150a
VS
63802011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6381
6382 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
6383
6384 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
6385 net/icmp.c and net/icmp6.c.
6386 (http): New module.
6387 (priority_queue): Likewise.
6388 * grub-core/io/bufio.c: Rewritten.
6389 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
6390 TYPE_WITH_CONFIGFILE_OPTION.
6391 (legacy_commands): Add bootp and dhcp.
6392 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
6393 (grub_legacy_parse): Likewise.
6394 * grub-core/lib/priority_queue.c: New file.
6395 * grub-core/net/arp.c: Add missing license header.
6396 (arp_find_entry): Removed.
6397 (arp_find_entry): Likewise.
6398 (grub_net_arp_resolve): Rename to ...
6399 (grub_net_arp_send_request): ...this.
6400 (grub_net_arp_receive): New card argument.
6401 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
6402 Set router and DNS server.
6403 (grub_net_configure_by_dhcp_ack): Handle routing information.
6404 (grub_cmd_bootp): Set checksum.
6405 (grub_bootp_init): Remove net_dhcp.
6406 * grub-core/net/dns.c: New file.
6407 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
6408 completion.
6409 (get_card_packet): Handle allocation.
6410 (grub_efinet_findcards): Set mtu.
6411 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
6412 (get_card_packet): Handle allocation.
6413 (emucard): Set mtu.
6414 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
6415 (GRUB_MOD_INIT): Set mtu.
6416 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
6417 mtu.
6418 (get_card_packet): Handle allocation.
6419 (grub_ofnet_findcards): Set mtu.
6420 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
6421 assert.
6422 (grub_net_recv_ethernet_packet): Handle IPv6.
6423 * grub-core/net/http.c: New file.
6424 * grub-core/net/icmp.c: Likewise.
6425 * grub-core/net/icmp6.c: Likewise.
6426 * grub-core/net/ip.c (ip6addr): New type.
6427 (ip6hdr): Likewise.
6428 (reassemble): Likewise.
6429 (cmp): New function.
6430 (reassembles): New variable.
6431 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
6432 (id): New variable.
6433 (send_fragmented): New function.
6434 (grub_net_send_ip_packet): Rename to ...
6435 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
6436 Handle non-UDP.
6437 (grub_net_recv_ip_packets): Rename to ...
6438 (handle_dgram): ... this. Check checksum. Handle non-UDP.
6439 (free_rsm): New function.
6440 (free_old_fragments): Likewise.
6441 (grub_net_recv_ip4_packets): New function.
6442 (grub_net_send_ip6_packet): Likewise.
6443 (grub_net_send_ip_packet): Likewise.
6444 (grub_net_recv_ip6_packets): Likewise.
6445 (grub_net_recv_ip_packets): Likewise.
6446 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
6447 (LINK_LAYER_CACHE_SIZE): New const.
6448 (link_layer_find_entry): New function.
6449 (grub_net_link_layer_add_address): Likewise.
6450 (grub_net_link_layer_resolve_check): Likewise.
6451 (grub_net_link_layer_resolve): Likewise.
6452 (grub_net_ipv6_get_slaac): Likewise.
6453 (grub_net_ipv6_get_link_local): Likewise.
6454 (grub_cmd_ipv6_autoconf): Likewise.
6455 (parse_ip): Handle one number representation.
6456 (parse_ip6): New functoion.
6457 (match_net): Handle IPv6.
6458 (grub_net_resolve_address): Handle IPv6 and DNS.
6459 (grub_net_resolve_net_address): Handle IPv6.
6460 (route_cmp): New function.
6461 (grub_net_route_address): Find best route.
6462 (grub_net_addr_to_str): Handle IPv6.
6463 (grub_net_addr_cmp): New function.
6464 (grub_net_add_addr): Register local route.
6465 (print_net_address): Handle net address.
6466 (grub_net_poll_cards): Retransmit TCP.
6467 (grub_net_poll_cards_idle_real): Likewise.
6468 (have_ahead): New function.
6469 (grub_net_seek_real): Use underlying seek.
6470 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
6471 * grub-core/net/tcp.c: New file.
6472 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
6473 (cmp): New function.
6474 (ack): Likewise.
6475 (tftp_receive): Handle unordered input.
6476 (destroy_pq): New function.
6477 (tftp_close): Close pq.
6478 * grub-core/net/udp.c: Put missing license header.
6479 (grub_net_udp_socket): New function.
6480 (udp_socket_register): Likewise.
6481 (grub_net_udp_close): Likewise.
6482 (grub_net_recv_udp_packet): Check checksum.
6483 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
6484 * include/grub/misc.h (grub_memchr): New function.
6485 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
6486 (grub_net_card_driver): Return buf in recv.
6487 (grub_net_slaac_mac_list): New struct.
6488 (grub_network_level_protocol_id): Add ipv6.
6489 (grub_net_network_level_addr): Likewise.
6490 (grub_net_network_level_net_addr): Likewise.
6491 (grub_net_app_protocol): Add seek.
6492 (grub_net_socket): Removed.
6493 (grub_net_sockets): Likewise.
6494 (grub_net_socket_register): Likewise.
6495 (grub_net_socket_unregister): Likewise.
6496 (FOR_NET_SOCKETS): Likewise.
6497 (grub_net_add_addr): Add const.
6498 (GRUB_NET_BOOTP_*): New enum.
6499 (grub_net_addr_cmp): New proto.
6500 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
6501 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
6502 (grub_net_hwaddr_to_str): NEw proto.
6503 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
6504 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
6505 (grub_dns_init): New proto.
6506 (grub_dns_fini): Likewise.
6507 (grub_net_tcp_retransmit): Likewise.
6508 (grub_net_link_layer_add_address): Likewise.
6509 (grub_net_link_layer_resolve_check): Likewise.
6510 (grub_net_link_layer_resolve): Likewise.
6511 (grub_net_dns_lookup): Likewise.
6512 (grub_net_add_dns_server): Likewise.
6513 (grub_net_remove_dns_server): Likewise.
6514 (GRUB_NET_TRIES): New const.
6515 (GRUB_NET_INTERVAL): Likewise.
6516 * include/grub/net/arp.h: Mostly rewritten.
6517 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
6518 * include/grub/net/ip.h: Mostly rewritten.
6519 * include/grub/net/netbuff.h: Indent.
6520 * include/grub/net/tcp.h: New file.
6521 * include/grub/net/udp.h: Mostly rewritten.
6522 * include/grub/priority_queue.h: New file.
6523 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
6524 (grub_swap_bytes64_compile_time): Likewise.
6525 (grub_cpu_to_be16_compile_time): Likewise.
6526 (grub_cpu_to_be32_compile_time): Likewise.
6527 (grub_cpu_to_be64_compile_time): Likewise.
6528 (grub_be_to_cpu64_compile_time): Likewise.
6529
215c1800
VS
65302011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
6531
6532 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
6533 UINT_TO_PTR with cast.
6534
c17e546c
VS
65352011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6536
6537 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
6538 don't use them.
6539
ff6b18b6
VS
65402011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6541
6542 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
6543 already there.
6544
70ffcc93
VS
65452011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6546
6547 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
6548 confusing ipxe.
6549
e5f4d260
VS
65502011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6551
6552 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
6553 Add missing const attribute.
6554 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
6555 Likewise.
6556 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
6557 Likewise.
6558
8e54b4b7
VS
65592011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6560
6561 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
6562 misaligned access.
6563 (serpent_setkey): Likewise.
6564 (serpent_encrypt_internal): Likewise.
6565 (serpent_decrypt_internal): Likewise.
6566 (serpent_encrypt): Don't put an alignment-increasing cast.
6567 (serpent_decrypt): Likewise.
6568 (serpent_test): Likewise.
6569
813c0a2b
VS
65702011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6571
6572 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
6573
f2b60fbd
VS
65742011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6575
6576 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
6577
6578 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
6579 grub_addr_t casts.
6580 (PTR_TO_UINT64): Likewise.
6581 (PTR_TO_UINT32): Likewise.
6582
5ef5c511
VS
65832011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6584
6585 * util/grub-mkimage.c (generate_image): Decrease the higher limit
6586 because of stack.
6587 * util/grub-setup.c (setup): Don't add redundancy past the higher load
6588 limit.
6589
c476e6df
VS
65902011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6591
6592 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
6593 text_width > available width a bit more gracefully.
6594
384ad7cc
VS
65952011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6596
6597 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
6598 current address calculation.
6599
96f8caf8
VS
66002011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6601
6602 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
6603 stack.
6604 (encode_block): Likewise.
6605
276b7a8b
VS
66062011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6607
6608 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
6609 certainety.
6610
e3fd394a
VS
66112011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6612
6613 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
6614 non-RS part to avoid RS messing with GDT.
6615 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
6616 Increase to suit in realmode routines.
6617
66182011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6619
6620 * grub-core/kern/i386/realmode.S: Increase alignment.
6621 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
6622
ee9c2e7a
VS
66232011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6624
6625 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
6626 be deterministic.
6627 (syndroms): Compute 0 syndrom.
6628 (rs_recover): Use 0 syndrom.
6629
7a7f7cc9
VS
66302011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6631
6632 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
6633
a14b16d1
VS
66342011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6635
6636 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
6637 brackets.
6638
9f59e9fc
VS
66392011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6640
ca1b552c
VS
6641 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
6642 account.
6643 (get_top_pad): Likewise.
6644 (get_right_pad): Likewise.
6645 (get_bottom_pad): Likewise.
6646
66472011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6648
6649 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 6650
e739d698
VS
66512011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6652
6653 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
6654 attribute as the structure isn't guaranteed to be properly aligned.
6655 (grub_efi_pci_device_path): Likewise.
6656 (grub_efi_pccard_device_path): Likewise.
6657 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
6658 specify the size of `memory_type'.
6659 (grub_efi_vendor_device_path): Likewise.
6660 (grub_efi_controller_device_path): Likewise.
6661 (grub_efi_acpi_device_path): Likewise.
6662 (grub_efi_expanded_acpi_device_path): Likewise.
6663 (grub_efi_atapi_device_path): Likewise.
6664 (grub_efi_scsi_device_path): Likewise.
6665 (grub_efi_fibre_channel_device_path): Likewise.
6666 (grub_efi_1394_device_path): Likewise.
6667 (grub_efi_usb_device_path): Likewise.
6668 (grub_efi_usb_class_device_path): Likewise.
6669 (grub_efi_i2o_device_path): Likewise.
6670 (grub_efi_mac_address_device_path): Likewise.
6671 (grub_efi_ipv4_device_path): Likewise.
6672 (grub_efi_ipv6_device_path): Likewise.
6673 (grub_efi_infiniband_device_path): Likewise.
6674 (grub_efi_uart_device_path): Likewise.
6675 (grub_efi_vendor_messaging_device_path): Likewise.
6676 (grub_efi_hard_drive_device_path): Likewise.
6677 (grub_efi_cdrom_device_path): Likewise.
6678 (grub_efi_vendor_media_device_path): Likewise.
6679 (grub_efi_file_path_device_path): Likewise.
6680 (grub_efi_protocol_device_path): Likewise.
6681 (grub_efi_piwg_device_path): Likewise.
6682 (grub_efi_bios_device_path): Likewise.
6683
cb8f88ea
VS
66842011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6685
6686 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
6687 (grub_ucs4_to_utf8_alloc): Likewise.
6688 (grub_ucs4_to_utf8): Likewise.
6689 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
6690 (grub_ucs4_to_utf8_alloc): Likewise.
6691
309e5352
VS
66922011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6693
6694 AFFS never uses unicode.
6695
6696 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
6697 (grub_latin1_to_utf8): New inline function.
6698 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
6699
e7987e1b
VS
67002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6701
6702 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
6703 overflow.
6704
efc2616e
VS
67052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6706
6707 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
6708 (grub_squash_dirent_header): Likewise.
6709 (read_chunk): Don't double swap.
6710 (grub_squash_iterate_dir): Fix swap sizes.
6711
3c349f5a
VS
67122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6713
6714 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
6715
b453412d
VS
67162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6717
6718 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
6719 (grub_hfs_iterate_dir): Likewise.
6720
12e9d4d1
VS
67212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6722
6723 Fix video on platforms where unaligned access is forbidden.
6724 Make several optimisations while on it.
6725
6726 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
6727 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
6728 (grub_video_fbblit_replace_32bit_1bit): Likewise.
6729 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
6730 Disable.
6731 (grub_video_fbblit_replace_16bit_1bit):
6732 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
6733 (grub_video_fbblit_replace_8bit_1bit): Likewise.
6734 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
6735 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
6736 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
6737 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
6738 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
6739 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
6740 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
6741 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
6742 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
6743 (grub_video_fbblit_replace_index_RGB888): Likewise.
6744 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
6745 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
6746 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
6747 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
6748 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
6749 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
6750 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
6751 Disable.
6752 (grub_video_fbblit_blend_XXX565_1bit):
6753 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
6754 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
6755 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
6756 void *.
6757 * grub-core/video/fb/video_fb.c (common_blitter)
6758 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
6759 (grub_video_fb_create_render_target_from_pointer)
6760 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
6761 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
6762 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
6763 definition.
6764 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
6765
ace96609
VS
67662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6767
6768 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
6769 HH22 and HM10 relocations.
6770
fd261d73
VS
67712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6772
6773 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
6774
e59b7857
VS
67752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6776
6777 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
6778 allocation succeeded.
6779
9b4baaa4
VS
67802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6781
6782 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
6783 argument a u8 pointer. All users updated.
6784 Handle unaligned buffers.
6785
dc713193
VS
67862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6787
6788 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
6789 add_part to workaround compiler bug.
6790
30dd48c2
VS
67912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6792
6793 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
6794
0c6087a8
VS
67952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6796
6797 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
6798 Reserve alignment invariants.
6799 (grub_multiboot_load): Likewise.
6800 (retrieve_video_parameters): Likewise.
6801 (grub_multiboot_make_mbi): Likewise.
6802
c2e77777
VS
68032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6804
6805 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
6806 incorrect pointer.
6807
b70b6d11
VS
68082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6809
6810 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
6811 (grub_pata_pio_write): Likewise.
6812
02a2bf83
VS
68132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6814
6815 Add noreturn attributes and remove unreachable code.
6816
6817 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
6818 code.
6819 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
6820 code. Mark as noreturn.
6821 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
6822 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
6823 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
6824 unreachable code.
6825 * grub-core/kern/main.c (grub_main): Mark as noreturn.
6826 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
6827 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
6828 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
6829 * include/grub/kernel.h (grub_main): Mark as noreturn.
6830 * include/grub/reader.h (grub_rescue_run): Likewise.
6831
2019d09e
VS
68322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6833
6834 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
6835 redundant declaration.
6836
d1c501ee
VS
68372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6838
6839 * include/grub/net.h (grub_net_network_level_interfaces): Remove
6840 redundant declaration.
6841 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
6842
61664420
VS
68432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6844
6845 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
6846 to ensure alignment.
6847 (grub_hdparm_print_identify): Make argument uint16 * to ensure
6848 alignment. Ensure tmp alignment.
6849 (grub_cmd_hdparm): Ensure buf alignment.
6850 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
6851 to ensure alignment.
6852 (grub_ata_dumpinfo): Ensure text alignment.
6853 (grub_atapi_identify): Preserve alignment invariant.
6854 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
6855
0d51ee20
VS
68562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6857
6858 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
6859 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
6860 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
6861 * include/grub/misc.h (grub_reboot)
6862 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
6863 (grub_halt) [__mips__]: Likewise.
6864
753ef8c1
VS
68652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6866
6867 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
6868 Remove redundant declaration.
6869 (grub_mmap_get_post64): Likewise.
6870 (grub_mmap_get_upper): Likewise.
6871 (grub_mmap_get_lower): Likewise.
6872
85c85365
VS
68732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6874
6875 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
6876 uint32_t * to ensure alignment.
6877 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
6878
a23f2cc4
VS
68792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6880
93018f64
VS
6881 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
6882 uint16_t * to ensure alignment.
6883 (sun_pc_partition_map_iterate): Make `block' a union to ensure
6884 alignment.
6885
68862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6887
6888 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
6889 to ensure alignment.
6890 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
6891
58acccd6
VS
68922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6893
6894 * grub-core/fs/ntfs.c (u16at): Make into inline function.
6895 Handle unaligned pointers.
6896 (u32at): Likewise.
6897 (u64at): Likewise.
6898 (fixup): Use byte access instead of v16at.
6899 (find_attr): Fix imporper usage of v32at.
6900 (read_data): Likewise.
6901 (list_file): Handle byte-swapping and unaligned strings.
6902 (grub_ntfs_label): Likewise.
6903
9b05cad7
VS
69042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6905
6906 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
6907 as it's not necessarily aligned.
6908
b3950b84
VS
69092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6910
6911 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
6912 redundant declaration.
6913 (grub_serial_init): Likewise.
6914 (grub_terminfo_init): Likewise.
6915
fcd232b7
VS
69162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6917
6918 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
6919 function.
6920 (ZAP_HASH_IDX): Likewise.
6921 (ZAP_LEAF_HASH_SHIFT): Likewise.
6922 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
6923 (LEAF_HASH): Likewise.
6924 (ZAP_LEAF_NUMCHUNKS): Likewise.
6925 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
6926 alignment invariants. Return pointer. All users updated.
6927 (ZAP_LEAF_ENTRY): Make into inline function.
6928 (NBBY): Removed.
6929 (xor): LIkewise.
6930 (xor_out): Use grub_crypto_xor.
6931 (dnode_get_path): Use grub_get_unaligned.
6932 (nvlist_find_value): Likewise.
6933 (grub_zfs_nvlist_lookup_uint64): Likewise.
6934 (grub_zfs_nvlist_lookup_string): Likewise.
6935 (get_nvlist_size): Likewise.
6936 (grub_zfs_open): Likewise.
6937 (fill_fs_info): Likewise.
6938 (grub_zfs_dir): Likewise.
6939 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
6940 alignment invariants.
6941 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
6942 necessarily aligned.
6943
f138623a
VS
69442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6945
6946 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
6947
564840dc
VS
69482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6949
6950 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
6951 arithmetic to conserve alignment invariants.
6952
9b40df20
VS
69532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6954
6955 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
6956 redundant declaration.
6957 (grub_efiemu_mm_obtain_request): Likewise.
6958 (grub_efiemu_prepare): Likewise.
6959
d1c930f9
VS
69602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6961
6962 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
6963 to match types.
6964
4c5f3056
VS
69652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6966
6967 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
6968 case of aunaligned recptr.
6969 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
6970 alignment.
6971 (grub_hfsplus_btree_search): Handle unaligned index.
6972
728cba91
VS
69732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6974
6975 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
6976 to get freetag and skip.
6977
eb561f31
VS
69782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6979
6980 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
6981 array.
6982 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
6983 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
6984
20993fbb
VS
69852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6986
6987 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
6988 name for checksum and fix allocation algorithm.
6989
1f313b94
VS
69902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6991
6992 * include/grub/types.h (grub_properly_aligned_t): New type.
6993 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
6994 (grub_get_unaligned16): Add explicit casts.
6995 (grub_get_unaligned32): Likewise.
6996 (grub_get_unaligned64): Likewise.
6997 (grub_set_unaligned16): New function.
6998 (grub_set_unaligned32): Likewise.
6999
47ae27ec
VS
70002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7001
7002 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
7003
78c2cd1c
VS
70042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7005
7006 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
7007 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
7008 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
7009
53072f9b
VS
70102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7011
7012 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
7013 conditionals.
7014
055dc239
VS
70152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7016
7017 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
7018 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
7019
496bd074
VS
70202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7021
7022 Unify and improve RAID and crypto xor.
7023
7024 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
7025 changed to grub_crypto_xor
7026 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
7027 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
7028 Use bigger types when possible.
7029
ef6e4335
VS
70302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7031
7032 * grub-core/disk/raid.c (scan_devices): Fix condition.
7033
5d048bf2
VS
70342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7035
7036 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
7037 Make name a const ptr.
7038
ee533335
VS
70392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7040
7041 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
7042 first argument a const pointer.
7043 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
7044 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
7045 proto.
7046 (grub_children_iterate): Likewise.
7047 (grub_machine_mmap_iterate): Remove redundant declaration.
7048
cc8f3668
VS
70492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7050
7051 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
7052 (grub_cmd_acpi) [!x86]: Disable EBDA.
7053
c5fc563a
VS
70542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7055
7056 Enable UTF8 in gnulib regexp.
7057
7058 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
7059 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
7060 (isupper): Use grub_isupper.
7061 (isascii): New inline function.
7062 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
7063 * grub-core/lib/posix_wrap/wctype.h: Likewise.
7064 * grub-core/normal/charset.c (grub_utf8_process): New function.
7065 (grub_utf8_to_utf16): Use grub_utf8_process.
7066 (grub_encode_utf8_character): New function.
7067 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
7068 * include/grub/charset.h (grub_utf8_process): New declaration.
7069 (grub_encode_utf8_character): Likewise.
7070 * include/grub/misc.h (grub_islower): New inline function.
7071 (grub_isupper): Likewise.
7072 (grub_strchrsub): Moved down to fix the definitions.
7073
0af2346f
VS
70742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7075
7076 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
7077 specification.
7078
74dbd244
VS
70792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7080
7081 * include/grub/loader.h (grub_loader_register_preboot_hook):
7082 Use struct preboot * and not void * for handle. All users updated.
7083 (grub_loader_unregister_preboot_hook): Likewise.
7084
1bc8f60d
VS
70852011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
7086
7087 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
7088 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
7089 UTF-16-BE. All users updated.
7090 (grub_hfsplus_cmp_catkey): Fix unicode handling.
7091 (grub_hfsplus_iterate_dir): Likewise.
7092 (grub_hfsplus_label): Likewise.
7093
48d6e456
VS
70942011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
7095
7096 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
7097
bf3a3857
VS
70982011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
7099
7100 Add missing const qualifiers.
7101
7102 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
7103 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
7104 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
7105 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
7106 (grub_lvm_check_flag): Likewise.
7107 * grub-core/efiemu/i386/coredetect.c
7108 (grub_efiemu_get_default_core_name): Likewise
7109 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
7110 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
7111 * grub-core/fs/ntfs.c (fixup): Likewise.
7112 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
7113 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
7114 (fzap_lookup): Likewise.
7115 (zap_lookup): Likewise.
7116 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
7117 * grub-core/lib/legacy_parse.c (check_option): Likewise.
7118 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
7119 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
7120 (grub_freebsd_add_meta_module): Likewise.
7121 (grub_cmd_freebsd_module): Likewise.
7122 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
7123 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
7124 (grub_xnu_writetree_get_size): Likewise.
7125 (grub_xnu_writetree_toheap_real): Likewise.
7126 (grub_xnu_find_key): Likewise.
7127 (grub_xnu_create_key): Likewise.
7128 (grub_xnu_create_value): Likewise.
7129 (grub_xnu_register_memory): Likewise.
7130 (grub_xnu_check_os_bundle_required): Likewise.
7131 (grub_xnu_scan_dir_for_kexts): Likewise.
7132 (grub_xnu_load_kext_from_dir): Likewise.
7133 * grub-core/normal/color.c (color_list): Likewise.
7134 * grub-core/normal/completion.c (current_word): Likewise.
7135 * grub-core/normal/menu_entry.c (insert_string): Likewise.
7136 * grub-core/term/serial.c (grub_serial_find): Likewise.
7137 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
7138 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
7139 Likewise.
7140 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
7141 (grub_freebsd_add_meta_module): Likewise.
7142 * include/grub/lib/arg.h (grub_arg_option): Likewise.
7143 * include/grub/net.h (grub_net_card_driver): Likewise.
7144 (grub_net_card): Likewise.
7145 (grub_net_app_protocol): Likewise.
7146 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
7147 * include/grub/serial.h (grub_serial_find): Likewise.
7148 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
7149 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
7150 (grub_xnu_create_value): Likewise.
7151 (grub_xnu_find_key): Likewise.
7152 (grub_xnu_scan_dir_for_kexts): Likewise.
7153 (grub_xnu_load_kext_from_dir): Likewise.
7154
7155 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
7156 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
7157 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
7158 Moved from here ...
7159 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
7160
112b4837
CW
71612011-11-28 Colin Watson <cjwatson@ubuntu.com>
7162
7163 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
7164
49e891ac
VS
71652011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
7166
7167 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
7168 (read_device): Fix size calculation.
7169
fd258e5c
RM
71702011-11-25 Robert Millan <rmh@gnu.org>
7171
7172 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
7173 (find_root_device_from_libzfs): Add zpool output parser to be used
7174 as fallback when libzfs isn't available.
7175
78845dc2
SG
71762011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
7177
7178 * po/Makefile.in.in: Add missing escape-continuation.
7179
adac5211
VS
71802011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
7181
7182 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
7183
10b64f1c
VS
71842011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7185
7186 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
7187
bb416954
VS
71882011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7189
7190 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
7191
bdfe9eeb
VS
71922011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7193
7194 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
7195
581ffa8a
VS
71962011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7197
7198 * grub-core/lib/adler32.c: Add missing license specification.
7199 * grub-core/lib/crc64.c: Likewise.
7200 * grub-core/loader/i386/pc/plan9.c: Likewise.
7201 * grub-core/partmap/plan.c: Likewise.
7202
2536cf64
LK
72032011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
7204
7205 Add facility to debug GRUB with gdb under qemu.
7206
7207 * grub-core/gdb_grub.in: New file.
7208 * grub-core/gmodule.pl.in: Likewise.
7209 * grub-core/Makefile.core.def (gmodule.pl): New script.
7210 (gdb_grub): Likewise.
7211
bc108a4a
VS
72122011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7213
7214 * util/grub-mount.c (argp_parser): Accept relative pathes.
7215 * util/grub-fstest.c (argp_parser): Likewise.
7216
111c1778
VS
72172011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7218
7219 Plan9 support.
7220
7221 * Makefile.util.def (libgrubmods): Add
7222 grub-core/partmap/plan.c.
7223 * docs/grub.texi: Notice Plan9 support.
7224 * grub-core/Makefile.core.def (plan9): New module.
7225 (part_plan): Likewise.
7226 * grub-core/loader/i386/pc/plan9.c: New file.
7227 * grub-core/partmap/plan.c: Likewise.
7228 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
7229 define.
7230 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
7231 * include/grub/mm.h (grub_extend_alloc): New inline function.
7232
c30be3b6
VS
72332011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7234
7235 Make Reed-Solomon faster by using power of generator representation of
7236 GF(256)*.
7237
7238 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
7239 (gf_double_t): Likewise.
7240 (gf_invert): Removed.
7241 (gf_powx): New array.
7242 (gf_powx_inv): Likewise.
7243 (scratch): Move higher.
7244 (gf_reduce): Removed.
7245 (gf_mul): Use powx.
7246 (gf_invert): Likewise.
7247 (init_inverts): Replaced with ...
7248 (init_powx): ...this. All users updated.
7249 (pol_evaluate): Replace multiplications with additions.
7250 (rs_encode): Likewise.
7251 (gauss_eliminate): Call gf_invert.
7252 (grub_reed_solomon_add_redundancy): Call init_powx.
7253 (grub_reed_solomon_recover): Call init_powx unconditionally.
7254
fa5aeffc
VS
72552011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7256
7257 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
7258
a346b81c
VS
72592011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7260
7261 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
7262 disk->partiton for safety.
7263
d89ee414
VS
72642011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7265
7266 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
7267 Fix a memory leak.
7268 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
7269
91ee7b6d
VS
72702011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7271
7272 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
7273
91e5a33d
VS
72742011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7275
7276 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
7277
9edd7be2
VS
72782011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7279
7280 Fix spaces handling in proc/self/mountinfo.
7281
7282 * util/getroot.c (unescape): New function.
7283 (grub_find_root_device_from_mountinfo): Use unescape.
7284
ba102053
VS
72852011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7286
7287 Support ZFS embedding.
7288
7289 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
7290 (grub_zfs_fs): Register grub_zfs_embed.
7291
aa94b870
VS
72922011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7293
7294 Fix MIPS compilation.
7295
7296 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
7297 * include/grub/offsets.h: Rename decompressor fields from
7298 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
7299 * util/grub-mkimage.c (image_targets): Use new names.
7300
5fbdac14
VS
73012011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7302
7303 Defer multiboot device parsing until we're in compressed part.
7304
7305 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
7306 bsd_part. setdevice has fallen into disuse.
7307 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
7308 (bsd_part): Likewise.
7309 (boot_dev): New variable.
7310 (multiboot_trampoline): Don't parse multiboot device.
7311 Pass multiboot device in %edx.
7312 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
7313 grub_boot_device.
7314 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
7315 Likewise.
7316 * grub-core/kern/i386/pc/startup.S: Save edx.
7317 (grub_boot_drive): Removed.
7318 (grub_install_dos_part): Likewise.
7319 (grub_install_bsd_part): Likewise.
7320 (grub_boot_device): New variable.
7321 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
7322 (grub_install_bsd_part): Likewise.
7323 (grub_boot_drive): Likewise.
7324 (grub_boot_device): New variable.
7325 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
7326 Removed.
7327 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
7328 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
7329 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
7330 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
7331 * util/grub-install.in: Remove redundant condition.
7332
691cbb58
VS
73332011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7334
7335 Fix bug introduced by previous commit.
7336
7337 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
7338
60240b8b
VS
73392011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7340
7341 Use decompressors framework on i386-pc. It increases core size
7342 by 46 bytes but improves compatibility and maintainability.
7343
7344 * grub-core/Makefile.core.def (lzma_decompress): New image.
7345 (kernel): Add i386_pc_ldflags.
7346 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
7347 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
7348 to real_to_prot, prot_to_real and device info.
7349 * include/grub/offsets.h: Renamed decompressor offsets.
7350 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
7351 (image_target_desc): Remove raw_size and rename decompressor fields.
7352 (compress_kernel): Handle lzma.
7353 (generate_image): Handle decompressors on i386-pc.
7354
e9d3421c
VS
73552011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7356
7357 * configure.ac: Add -fno-asynchronous-unwind-tables.
7358
2b23074a
VS
73592011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7360
7361 Move assembly code to C by using intwrap. It increases core size
7362 by 88 bytes but improves compatibility and maintainability.
7363
7364 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
7365 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
7366 ... here. Translated to C.
7367 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
7368 * grub-core/term/i386/pc/console.c (grub_console_getkey):
7369 ... here. Translated to C.
7370 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
7371 * grub-core/term/i386/pc/console.c (grub_console_getxy):
7372 ... here. Translated to C.
7373 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
7374 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
7375 ... here. Translated to C.
7376 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
7377 * grub-core/term/i386/pc/console.c (grub_console_cls):
7378 ... here. Translated to C.
7379 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
7380 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
7381 ... here. Translated to C.
7382 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
7383 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
7384 Translated to C.
7385 * grub-core/term/i386/pc/console.c (int10_9): New function.
7386 (grub_console_putchar): Likewise.
7387 * include/grub/i386/pc/console.h: Removed the not anymore shared
7388 functions.
7389
678f4b67
VS
73902011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7391
7392 Move grub_chainloader_real_boot out of the kernel.
7393
7394 * grub-core/Makefile.am: Remove machine/loader.h.
7395 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
7396 Removed.
7397 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
7398 variable.
7399 (grub_relocator16_keep_a20_enabled): Likewise.
7400 (grub_relocator16_boot): Fill new variables.
7401 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
7402 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
7403 relocator.
7404 (grub_chainloader_unload): Likewise.
7405 (grub_chainloader_cmd): Likewise.
7406 * include/grub/i386/pc/loader.h: Removed.
7407 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
7408 and esi. All initialisers updated.
7409
4626edf6
VS
74102011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
74112011-11-12 Colin Watson <cjwatson@ubuntu.com>
7412
7413 * Makefile.util.def (grub-mount): New util.
7414 * .bzrignore: Add grub-mount.
7415 * configure.ac: Check for fuse and enable grub-mount if available.
7416 * docs/man/grub-mount.h2m: New file.
7417 * util/grub-mount.c: Likewise.
7418
10f0117b
VS
74192011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7420
7421 * grub-core/commands/efi/fixvideo.c: Gettextize.
7422 * grub-core/commands/hashsum.c: Likewise.
7423 * grub-core/commands/i386/cmostest.c: Likewise.
7424 * grub-core/commands/i386/pc/drivemap.c: Likewise.
7425 * grub-core/commands/i386/pc/lsapm.c: Likewise.
7426 * grub-core/commands/i386/pc/sendkey.c: Likewise.
7427 * grub-core/commands/lsmmap.c: Likewise.
7428 * grub-core/commands/menuentry.c: Likewise.
7429 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
7430 * grub-core/commands/setpci.c: Likewise.
7431 * grub-core/loader/i386/bsd.c: Likewise.
7432 * grub-core/loader/i386/linux.c: Likewise.
7433 * util/getroot.c: Likewise.
7434 * util/grub-editenv.c: Likewise.
7435 * util/grub-fstest.c: Likewise.
7436 * util/grub-mkfont.c: Likewise.
7437 * util/grub-mkimage.c: Likewise.
7438 * util/grub-mkpasswd-pbkdf2.c: Likewise.
7439 * util/grub-pe2elf.c: Likewise.
7440 * util/grub-probe.c: Likewise.
7441 * util/grub-setup.c: Likewise.
7442 * util/ieee1275/ofpath.c: Likewise.
7443 * util/misc.c: Likewise.
7444 * util/raid.c: Likewise.
7445
566f779b
RM
74462011-11-11 Robert Millan <rmh@gnu.org>
7447
7448 * util/getroot.c (grub_util_get_geom_abstraction): Remove
7449 __attribute__((unused)) from `os_dev', which *is* being used.
7450
b50787de
VS
74512011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7452
7453 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
7454 forgotten define.
7455 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
7456 GRUB_IA64_DL_GOT_ALIGN.
7457 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
7458 GRUB_IA64_DL_TRAMP_ALIGN.
7459
119d11c8
VS
74602011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7461
7462 Replace grub_fatal with normal errors in i386 linux loader.
7463
7464 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
7465 (allocate_pages): Check find_efi_mmap_size return value.
7466 (grub_e820_add_region): Return error.
7467 (grub_linux_boot): Check mmap return value.
7468
6e0632e2
VS
74692011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7470
7471 * grub-core/commands/acpihalt.c: Gettextized.
7472 * grub-core/commands/cacheinfo.c: Likewise.
7473 * grub-core/commands/cmp.c: Likewise.
7474 * grub-core/commands/efi/loadbios.c: Likewise.
7475 * grub-core/commands/gptsync.c: Likewise.
7476 * grub-core/commands/ieee1275/suspend.c: Likewise.
7477 * grub-core/commands/legacycfg.c: Likewise.
7478 * grub-core/commands/memrw.c: Likewise.
7479 * grub-core/commands/minicmd.c: Likewise.
7480 * grub-core/commands/parttool.c: Likewise.
7481 * grub-core/commands/time.c: Likewise.
7482 * grub-core/commands/videoinfo.c: Likewise.
7483 * grub-core/disk/geli.c: Likewise.
7484 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
7485 * grub-core/disk/luks.c: Likewise.
7486 * grub-core/disk/lvm.c: Likewise.
7487 * grub-core/font/font_cmd.c: Likewise.
7488 * grub-core/fs/zfs/zfscrypt.c: Likewise.
7489 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7490 * grub-core/gfxmenu/view.c: Likewise.
7491 * grub-core/kern/emu/hostdisk.c: Likewise.
7492 * grub-core/kern/emu/main.c: Likewise.
7493 * grub-core/kern/emu/misc.c: Likewise.
7494 * grub-core/kern/emu/mm.c: Likewise.
7495 * grub-core/kern/mips/arc/init.c: Likewise.
7496 * grub-core/kern/mips/loongson/init.c: Likewise.
7497 * grub-core/kern/partition.c: Likewise.
7498 * grub-core/lib/i386/halt.c: Likewise.
7499 * grub-core/lib/mips/arc/reboot.c: Likewise.
7500 * grub-core/lib/mips/loongson/reboot.c: Likewise.
7501 * grub-core/loader/i386/pc/chainloader.c: Likewise.
7502 * grub-core/loader/i386/xnu.c: Likewise.
7503 * grub-core/loader/multiboot.c: Likewise.
7504 * grub-core/net/bootp.c: Likewise.
7505 * grub-core/net/net.c: Likewise.
7506 * grub-core/normal/term.c: Likewise.
7507 * grub-core/partmap/bsdlabel.c: Likewise.
7508 * grub-core/parttool/msdospart.c: Likewise.
7509 * grub-core/term/gfxterm.c: Likewise.
7510 * grub-core/term/terminfo.c: Likewise.
7511 * grub-core/video/i386/pc/vbe.c: Likewise.
7512 * util/grub-menulst2cfg.c: Likewise.
7513 * util/grub-mkdevicemap.c: Likewise.
7514 * util/grub-mklayout.c: Likewise.
7515 * util/grub-mkrelpath.c: Likewise.
7516 * util/grub-script-check.c: Likewise.
7517 * util/ieee1275/grub-ofpathname.c: Likewise.
7518 * util/resolve.c: Likewise.
7519
073aa7a9
VS
75202011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7521
7522 Support %1$d syntax.
7523
7524 * tests/printf_unit_test.c: New file.
7525 * Makefile.util.def (printf_test): New test.
7526 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
7527
c76b5417
VS
75282011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7529
7530 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
7531 fix.
7532
df067ad1
VS
75332011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7534
7535 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
7536 dprintf.
7537 * grub-core/font/font.c (grub_font_load): Likewise.
7538
5b289bc5
VS
75392011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7540
7541 * util/grub-macho2img.c: Add comment concerning gettext.
7542 * grub-core/lib/legacy_parse.c: Likewise.
7543
c1860f87
VS
75442011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7545
7546 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
7547 (grub_xvasprintf): Likewise.
7548
d35d0d37
VS
75492011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7550
7551 Add const keyword to grub_env_get and gettextize week days.
7552
7553 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
7554 (grub_read_hook_datetime): Return const char *.
7555 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
7556 updated.
7557 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
7558 Mark for gettext.
7559 (grub_get_weekday_name): Return const char *. Call gettext.
7560 * grub-core/script/argv.c (grub_script_argv_append): Receive const
7561 char * and len as the argument. All users updated.
7562 (grub_script_argv_split_append): Receive const char *.
7563 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
7564 * include/grub/env.h (grub_env_get): Likewise.
7565 (grub_env_read_hook_t): Return const char *.
7566 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
7567 (grub_script_argv_split_append): Likewise.
7568
9aed8a71
VS
75692011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7570
7571 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
7572
067fdf00
VS
75732011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7574
7575 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
7576 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
7577
a8bd9d39
VS
75782011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7579
7580 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
7581 Fix prototype.
7582
f7ce5baf
VS
75832011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7584
7585 Fix mips compilation.
7586
7587 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
7588 normal decoder.
7589 (hashes): Use in embed decoder as well (for sizes).
7590 (dec_stream_header): Fix embed decompressor logic.
7591 (dec_stream_footer): Likewise.
7592
9bb182f3
VS
75932011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7594
7595 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
7596 an error and not a fatal on unrecognised relocation types.
7597
63a9e6f6
VS
75982011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7599
7600 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
7601 Issue error rather than printf on unknown arguments.
7602
4c458569
VS
76032011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7604
7605 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
7606 Make buf a const.
7607
e2d22baf
VS
76082011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7609
7610 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
7611 Fix module name.
7612
53dc8590
VS
76132011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7614
7615 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
7616 leftover debug printf.
7617
6c189294
VS
76182011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7619
7620 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
7621
f7688369
VS
76222011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7623
7624 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
7625 A stylistic fix.
7626
11a775a3
VS
76272011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7628
7629 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
7630
33f784e8
SL
76312011-11-10 Shea Levy <slevy@tieronedesign.com>
7632
7633 Allow all modules to perform serial IO
7634
7635 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
7636 * include/grub/serial.h (grub_serial_port_configure): New inline
7637 function.
7638 (grub_serial_port_fetch): Likewise.
7639 (grub_serial_port_put): Likewise.
7640 (grub_serial_port_fini): Likewise.
7641 (grub_serial_find): New proto.
7642
f6276525
VS
76432011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7644
7645 Put symlink at the end of the node and fix a potential
7646 memory corruption.
7647
7648 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
7649 Make symlink into an array.
7650 (set_rockridge): Set have_symlink and alloc_dirents.
7651 (grub_iso9660_read_symlink): Use new layout.
7652 (grub_iso9660_iterate_dir): Fix memory corruption.
7653 Use new layout.
7654 (grub_iso9660_dir): Set have_symlink.
7655 (grub_iso9660_open): Likewise.
7656
c3591189
VS
76572011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7658
7659 Remove local keyword.
7660
7661 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
7662 (version_test_gt): Likewise.
7663 (version_find_latest): Likewise.
7664 (gettext_printf): Likewise.
7665 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
7666
cb544caa
VS
76672011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7668
7669 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
7670
45bd824d
VS
76712011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7672
7673 Fix ZFS memory and resource leaks.
7674
7675 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
7676 All users updated.
7677 Free type on exit.
7678 (fill_vdev_info): New parameter inserted. All users updated.
7679 (check_pool_label): Likewise.
7680 (scan_disk): Likewise.
7681 (scan_devices): Close non-inserted disks.
7682 (fzap_iterate): Free l.
7683 (unmount_device): Free children descripto memory.
7684
ad9a2f44
VS
76852011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7686
7687 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
7688 argument (access out of bounds).
7689
6b68db81
VS
76902011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7691
7692 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
7693 >= 6 drives.
7694
28840fda
VS
76952011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7696
7697 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
7698 Fix declaration.
7699
8a5a3a5b
VS
77002011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7701
7702 Fix several memory leaks.
7703
7704 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
7705 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
7706 (grub_cpio_dir): Likewise.
7707 * grub-core/fs/fat.c (grub_fat_label): Likewise.
7708 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
7709 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
7710 (grub_romfs_label): Likewise.
7711 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
7712 (squash_unmount): New function.
7713 (grub_squash_dir): Fix memory leak.
7714 (grub_squash_open): Likewise.
7715 (grub_squash_read): Likewise.
7716 (grub_squash_mtime): Likewise.
7717 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
7718 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
7719 * util/grub-fstest.c (fstest): Likewise.
7720
57b01250
VS
77212011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7722
7723 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
7724 avoid accessing beyond the array.
7725
19e81ba7
VS
77262011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7727
7728 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
7729
52b656c0
VS
77302011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7731
7732 Several AFFS fixes.
7733
7734 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
7735 (GRUB_AFFS_FLAG_FFS): Removed.
7736 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
7737 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
7738 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
7739 (grub_fshelp_node): Make block 32-bit.
7740 Add block_cache and last_block_cache.
7741 (grub_affs_read_block): Fill and use block cache.
7742 (grub_affs_read_file): Removed.
7743 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
7744 boot block.
7745 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
7746 safety.
7747 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
7748 space.
7749 (grub_affs_close): Free block cache.
7750 (grub_affs_read): Use grub_fshelp_read_file directly.
7751
438a746a
VS
77522011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7753
7754 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
7755 with no error set.
7756
49a45021
VS
77572011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7758
7759 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
7760 used variable.
7761 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
7762 Likewise.
7763
3ae17eb8
VS
77642011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7765
7766 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
7767
7768 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
7769 byteswap when needed.
7770
27610c38
VS
77712011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7772
7773 Fix FreeBSD compilation.
7774
7775 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
7776 to avoid circular dependency.
7777 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
7778 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
7779 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
7780
4a19b601
VS
77812011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7782
7783 Fix ZFS crypto error types.
7784
7785 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
7786 (grub_gcm_decrypt): Likewise.
7787 (grub_zfs_load_key_real): Fix error code type. Handle possible error
7788 from PBKDF2.
7789
958ee221
VS
77902011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7791
7792 Illumos support.
7793
7794 * Makefile.util.def (10_illumos): New script.
7795 * configure.ac: Set COND_HOST_ILLUMOS.
7796 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
7797 Support Illumos calls.
7798 (find_partition_start) [__sun__]: Likewise.
7799 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
7800 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
7801 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
7802 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
7803 device.
7804 * util/grub-probe.c (probe) [__sun__]: Do character check.
7805 * util/grub.d/10_illumos.in: New file.
7806
cac14fb6
VS
78072011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7808
7809 Support escaped commas in hostdisk.
7810
7811 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
7812 (find_grub_drive): Use unescape_cmp.
7813 (make_device_name): Escape commas.
7814
78e08dc3
VS
78152011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7816
7817 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
7818
9f421dd1
VS
78192011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7820
7821 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
7822 variable.
7823
ed64e9e2
VS
78242011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7825
7826 Support trampoline jumps on powerpc.
7827
7828 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
7829 __ia64__ path.
7830 (grub_dl_load_segments): Set mod->sz.
7831 (grub_dl_flush_cache): Flush whole space occupied by module, not just
7832 segments.
7833 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
7834 (jump): Likewise.
7835 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
7836 function.
7837 (trampoline): New struct.
7838 (trampoline_template): New const.
7839 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
7840 * include/grub/dl.h (grub_dl): Add sz element.
7841 [__powerpc__]: Follow __ia64__.
7842 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
7843 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
7844 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
7845 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
7846
3084ede4
VS
78472011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7848
7849 ZFS crypto support.
7850
7851 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
7852 * grub-core/Makefile.core.def (zfscrypt): New module.
7853 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
7854 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
7855 it. All users updated.
7856 (grub_zfs_decrypt): New var.
7857 (grub_zfs_load_key): Likewise.
7858 (zio_checksum_functions): Add SHA256+MAC.
7859 (zio_checksum_verify): Handle incomplete comparison due to MAC.
7860 (zio_read): Handle encrypted blocks.
7861 (zap_verify): Remove incorrect check.
7862 (fzap_iterate): Handle non-standard fzap.
7863 (zap_iterate): Likewise.
7864 (zap_iterate_u64): New function.
7865 (dnode_get_fullpath): Load keys.
7866 * grub-core/fs/zfs/zfscrypt.c: New file.
7867 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
7868 (grub_crypto_ecb_encrypt): Make input const.
7869 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
7870 (grub_crypto_ecb_encrypt): Make input const.
7871 (GRUB_CIPHER_AES): New macro.
7872 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
7873 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
7874 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
7875 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
7876 prefix. All users updated.
7877 (grub_zfs_add_key): New proto.
7878 (grub_zfs_decrypt): Likewise.
7879 (grub_zfs_load_key): Likewise.
7880 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
7881 * util/grub-fstest.c (options): Add -K option.
7882 (argp_parser): Likewise.
7883
b632b404
VS
78842011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
7885
7886 Support zle compression on ZFS.
7887
7888 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
7889 (decomp_table): Add zle.
7890 * include/grub/zfs/zio.h (zio_compress): Add zle.
7891
c7ba4f69
VS
78922011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
7893
7894 Support BtrFS embedding.
7895
7896 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
7897 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
7898 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
7899 * util/grub-setup.c (setup): Use fs embedding if available.
7900 Add additional sanity check.
7901
455377d9
VS
79022011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
7903
7904 * util/grub-install.in: Fix condition for config_opt.
7905
c2fd16ca
VS
79062011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7907
7908 Support third redundancy strip on raidz3.
7909
7910 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
7911 Return error on singularity. All users updated.
7912 (read_device): Don't stop on 3rd failure on raidz3.
7913
8622923b
VS
79142011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7915
7916 Support case-insensitive ZFS subvolumes.
7917
7918 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
7919 All users updated.
7920 (zap_hash): Likewise.
7921 (name_cmp): New function.
7922 (zap_leaf_array_equal): New parameter case_insensitive.
7923 All users updated.
7924 (zap_leaf_lookup): Likewise.
7925 (fzap_lookup): Likewise.
7926 (zap_lookup): Likewise.
7927 (dnode_get_path): New parameter case_insensitive. Retrieve case
7928 sensitiviness of a volume. All users updated.
7929 (dnode_get_fullpath): New parameter case_insensitive.
7930 All users updated.
7931 (grub_zfs_dir): Set info.case_insensitiveness.
7932
95f2e860
VS
79332011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7934
7935 Support second redundancy strip on raidz(2,3).
7936
7937 * grub-core/fs/zfs/zfs.c (powx): New array.
7938 (powx_inv): Likewise.
7939 (poly): New const.
7940 (xor_out): New function.
7941 (gf_mul): Likewise.
7942 (recovery): Likewise.
7943 (read_device): Use second redundancy strip.
7944
11ee4389
VS
79452011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7946
7947 Use a power of generator representation of GF(256) multiplication group
7948 to save space time and complexity.
7949
7950 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
7951 (raid6_table2): Likewise.
7952 (powx): New array.
7953 (powx_inv): Likewise.
7954 (poly): New const.
7955 (grub_raid_block_mul): Replace with ...
7956 (grub_raid_block_mulx): ...this.
7957 (grub_raid6_init_table): Rewritten.
7958 (grub_raid6_recover): Use power of generator representation.
7959
09e2763f
VS
79602011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7961
7962 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
7963 for the right device.
7964
8bec9a28
VS
79652011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7966
7967 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
7968 expected by grub-mkimage and it's more clear since there is no implicit
7969 padding.
7970
dbd3a32e
VS
79712011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7972
7973 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
7974 disk.
7975 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
7976
182c872a
PMH
79772011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
7978
7979 * util/grub-mkrescue.in: Fix handling xorriso option.
7980
1e51cabd
VS
79812011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7982
7983 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
7984 NULL.
7985
9cc3581d 79862011-11-03 crocket <crockabiscuit@gmail.com>
7987
7988 * util/grub.d/10_linux.in: Add Slackware initrd naming.
7989
158dc1ea
VS
79902011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7991
7992 XZ CRC64 and SHA256 support.
7993
7994 * Makefile.util.def (libgrubmods): Add crc64.c.
7995 * grub-core/Makefile.core.def (crc64): New module.
7996 * grub-core/lib/crc64.c: New file.
7997 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
7998 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
7999 Fix the type.
8000 (MAX_HASH_SIZE): New define.
8001 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
8002 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
8003 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
8004 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
8005 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
8006 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
8007 Handle non-crc32 hashes.
8008 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
8009 (dec_stream_header): Handle non-crc32 hashes.
8010 (dec_stream_footer): Likewise.
8011 (dec_block_header): Likewise.
8012 (dec_main): Likewise.
8013 (xz_dec_init): Likewise.
8014 (xz_dec_reset): Likewise.
8015 (xz_dec_end): Likewise.
8016 * util/import_gcry.py: Add CRC64 line.
8017
9d9b3d2f
VS
80182011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8019
8020 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
8021 as well.
8022
7d0ac931
VS
80232011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8024
8025 Make reiserfs label retrieval similar to other *_label functions.
8026
8027 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
8028 (REISERFS_MAX_LABEL_LENGTH): Removed.
8029 (REISERFS_LABEL_OFFSET): Likewise.
8030 (grub_reiserfs_label): Rewritten.
8031
80322011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8033
8034 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
8035 field.
8036
cf5ba824
VS
80372011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8038
8039 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
8040
17744004
VS
80412011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
8042
8043 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
8044 drive failure on both raidz and raidz2.
8045
aca5aefc
VS
80462011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
8047
8048 Fix RAIDZ(2) for >= 5 devices.
8049
8050 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
8051 asize argument. All users updated.
8052
ce8ca56e
VS
80532011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8054
8055 Fix RAIDZ(2).
8056
8057 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
8058 (fill_vdev_info_real): Set ashift.
8059 (read_device): Rewrite RAIDZ part based on reverse engineering.
8060
7c01e783
VS
80612011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8062
8063 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
8064 don't report potentially unavialiable fields in debug output.
8065 (find_path): Fix double-free and memory leak.
8066
ce109e84
VS
80672011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8068
8069 Read label on UFS1.
8070
8071 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
8072 (grub_ufs_fs): Always set .label.
8073
87661123
VS
80742011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8075
8076 Use shifts in UFS.
8077
8078 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
8079 (grub_ufs_data): New field log2_blksz.
8080 (grub_ufs_read_file): Use shifts.
8081 (grub_ufs_mount): Check block size and logarithm it.
8082
46bc1dc2
VS
80832011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8084
8085 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
8086 long symlinks.
8087
19ee2987
VS
80882011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8089
8090 Handle symlinks and long names on tar and cpio.
8091
8092 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
8093 (ATTR_FILE): Likewise.
8094 (ATTR_DIR): Likewise.
8095 (ATTR_LNK): Likewise.
8096 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
8097 (grub_cpio_find_file): Fill mode, handle linkname field as well as
8098 L and K entries.
8099 (grub_cpio_mount): Zero-fill data.
8100 (handle_symlink): New function.
46bc1dc2
VS
8101 (grub_cpio_dir): Handle symlinks.
8102 (grub_cpio_open): Likewise.
8103 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 8104
c83a08d8
VS
81052011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8106
8107 Fix iso9660 filename limitations and fix memory leaks.
8108
8109 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
8110 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
8111
45cdd3ea
VS
81122011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8113
8114 Fix JFS file name length limitations.
8115
8116 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
8117 (grub_jfs_diropen): Fix maximum filename length.
8118 (grub_jfs_getent): Fix filename length.
8119 (grub_jfs_lookup_symlink): Fix size checks.
8120
94ef05c2
VS
81212011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8122
8123 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
8124 string.
8125
785ab8c7
VS
81262011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8127
eb0b6b45
VS
8128 Leverage BFS implementation to read AFS.
8129
8130 * Makefile.util.def (libgrubmods): Add afs.c.
8131 * grub-core/Makefile.core.def (afs): New module
8132 * grub-core/fs/afs.c: New file.
8133 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
8134
81352011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8136
8137 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 8138
c4a1628f
VS
81392011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8140
8141 * grub-core/fs/bfs.c: Run indent.
8142
5825b379
VS
81432011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8144
8145 BFS implementation based on the specification.
8146
8147 * grub-core/fs/bfs.c: New file.
8148 * Makefile.util.def (libgrubmods): Add bfs.c.
8149 * grub-core/Makefile.core.def (bfs): New module.
8150
42b2a706
VS
81512011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8152
8153 * util/grub-fstest.c (cmd_cp): Clarify error message.
8154 (cmd_cmp): Likewise.
8155
61b99bfc
YB
81562011-10-30 Yves Blusseau <blusseau@zetam.org>
8157
8158 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
8159 and befs_be.
8160
faba3d16
VS
81612011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
8162
8163 Remove afs and befs because of copyright problem.
8164
8165 * grub-core/fs/afs.c: Removed.
8166 * grub-core/fs/afs_be.c: Removed.
8167 * grub-core/fs/befs.c: Removed.
8168 * grub-core/fs/befs_be.c: Removed.
8169 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
8170 * grub-core/Makefile.core.def (afs): Removed.
8171 (afs_be): Likewise.
8172 (befs): Likewise.
8173 (befs_be): Likewise.
8174
c39224b0
VS
81752011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8176
8177 Prefer rockridge over Joliet.
8178
8179 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
8180 to ...
8181 (set_rockridge): ... here.
8182 (grub_iso9660_mount): Check rockridge on the primary label when
8183 discovering. Ignore Joliet if Rockridge is present.
8184
e551115a
VS
81852011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8186
8187 Use shifts in nilfs2.
8188
8189 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
8190 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
8191 (grub_nilfs2_palloc_entries_per_group): Replace with ...
8192 (grub_nilfs2_log_palloc_entries_per_group): ... this.
8193 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
8194 (grub_nilfs2_entries_per_block): Replaced with ...
8195 (grub_nilfs2_log_entries_per_block_log): ... this.
8196 (grub_nilfs2_blocks_per_group): Replaced with ...
8197 (grub_nilfs2_blocks_per_group_log): ... this.
8198 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
8199 (grub_nilfs2_blocks_per_desc_block_log): ... this.
8200 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
8201 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
8202 (grub_nilfs2_palloc_entry_offset): Replaced ...
8203 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
8204 (grub_nilfs2_dat_translate): Use shifts.
8205 (grub_nilfs2_read_inode): Likewise.
8206 (GRUB_MOD_INIT): Ensure that logs are correct.
8207
564dd58c
VS
82082011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8209
8210 Use shifts in minix filesystem.
8211
8212 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
8213 (GRUB_MINIX_ZONE2SECT): Likewise.
8214 (grub_minix_data): Replace block_size with log_block_size.
8215 (grub_minix_read_file): Use shifts.
8216 (grub_minix_mount): Check block size and take a logarithm.
8217
ed9ba06d
VS
82182011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8219
8220 Use shifts in squash4.
8221
8222 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
8223 (squash_mount): Check block size and take logarithm.
8224 (direct_read): Use shifts.
8225
ad03fe76
VS
82262011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8227
8228 Correct befs block counting logic.
8229
8230 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
8231 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
8232 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
8233 (grub_afs_read_inode): Use block_shift.
8234 (RANGE_SHIFT): New definition.
8235 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
8236 unexpected conditions, use shifts and appropriate types.
8237 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
8238
6563f63d
VS
82392011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8240
8241 * grub-core/disk/raid.c (scan_devices): Check partition.
8242 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
8243
5b1ae25f
VS
82442011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
8245
8246 Support BFS (befs) UUID.
8247
8248 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
8249 (grub_afs_small_data_element_header): New struct.
8250 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
8251 (grub_afs_read_attribute) [MODE_BFS]: New function.
8252 (grub_afs_iterate_dir): Allocate for complete inode.
8253 (grub_afs_mount): Likewise.
8254 (grub_afs_uuid) [MODE_BFS]: New function.
8255 (grub_afs_fs) [MODE_BFS]: Add .uuid.
8256
f8d82408
VS
82572011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
8258
8259 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
8260 (zfs_unmount): Fix memory leak.
8261
5773fb64
VS
82622011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8263
8264 Support NTFS reparse points.
8265
8266 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
8267 (symlink_descriptor): New struct.
8268 (grub_ntfs_read_symlink): New function.
8269 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
8270 (grub_ntfs_open): Likewise.
8271
91c3fdde
VS
82722011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8273
8274 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
8275
3be82e10
VS
82762011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8277
8278 fstest xnu_uuid subcommand.
8279
8280 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
8281 grub-core/commands/xnu_uuid.c.
8282 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
8283 (fstest): Handle xnu_uuid.
8284 (options): Document xnu_uuid.
8285 (argp_parser): Parse xnu_uuid.
8286
8e32442e
VS
82872011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8288
8289 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
8290 -l argument. Add newline at the end if printing.
8291 (GRUB_MOD_INIT): Document -l.
8292
52a05075
VS
82932011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8294
8295 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
8296
1869edb5
VS
82972011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8298
8299 ZFS multi-device and version 33 support.
8300
8301 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
8302 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
8303 (grub_zfs_data): Add multidev-ice-related fields.
8304 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
8305 (dva_get_offset): Make dva const.
8306 (zfs_fetch_nvlist): New function.
8307 (fill_vdev_info_real): Likewise.
8308 (fill_vdev_info): Likewise.
8309 (check_pool_label): Likewise.
8310 (scan_disk): Likewise.
8311 (scan_devices): Likewise.
8312 (read_device): Likewise.
8313 (read_dva): Likewise.
8314 (zio_read_gang): Use read_dva.
8315 (zio_read_data): Likewise.
8316 (zap_leaf_lookup): Add missing endian conversion.
8317 (zap_verify): Add missing endian conversion. All users updated.
8318 (fzap_lookup): Likewise.
8319 (fzap_iterate): Likewise.
8320 (dnode_get_path): Handle SA bonus.
8321 (nvlist_find_value): Make input const. All users updated.
8322 (unmount_device): New function.
8323 (zfs_unmount): Use unmount_device.
8324 (zfs_mount): Use scan_disk.
8325 (zfs_mtime): New function.
8326 (grub_zfs_open): Handle system attributes.
8327 (fill_fs_info): Likewise.
8328 (grub_zfs_dir): Likewise.
8329 (grub_zfs_fs): Add mtime.
8330 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
8331 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
8332 (SA_MTIME_OFFSET): Likewise.
8333 (SA_SYMLINK_OFFSET): Likewise.
8334 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
8335 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
8336 (fstest): Support zfsinfo.
8337 (argp_parser): Likewise.
8338
186b4028
VS
83392011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8340
8341 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
8342 error.
8343
83442011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
8345
8346 ZFS fixes.
8347
8348 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
8349 sharing the same block. Iterate over correct number of indices.
8350 (dnode_get_path): Handle symlinks correctly.
8351
c0584900
VS
83522011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8353
8354 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
8355
67e2bd71
VS
83562011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8357
8358 Read label on HFS+.
8359
8360 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
8361 (grub_hfsplus_btree_search): Fix types.
8362 (grub_hfsplus_label): Implement.
8363
e9cc6b7b
VS
83642011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8365
8366 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
8367
19832ddb
VS
83682011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8369
8370 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
8371
66b40850
VS
83722011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8373
8374 Fix symlink handling on iso9660.
8375
8376 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
8377 All users updated.
8378 (grub_iso9660_susp_iterate): Accept zero-size iterate.
8379 (grub_iso9660_read_symlink): Moved most of code ...
8380 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
8381
db821363
VS
83822011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8383
8384 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
8385 Use union to avoid breaking strict-aliasing rules.
8386
e1211949
VS
83872011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8388
8389 Support multi-extent iso files.
8390
8391 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
8392 Add node.
8393 (grub_fshelp_node): Revamp. All users updated.
8394 (FLAG_*): New enum.
8395 (read_node): New function.
8396 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
8397 All users updated.
8398 (grub_iso9660_mount): Don't attempt to read sua when there is none.
8399 (get_node_size): New function.
8400 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
8401 entries.
8402 Fix memory leak on . and ..
8403 (grub_iso9660_read): Use read_node.
8404 (grub_iso9660_close): Free node.
8405
d4888031
VS
84062011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8407
8408 Fix tar 4G limit and handle paths containing dot.
8409
8410 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
8411 (canonicalize): New function.
8412 (grub_cpio_find_file): Use canonicalize. Store offs in
8413 grub_disk_addr_t.
8414 (grub_cpio_dir): Use grub_disk_addr_t.
8415 (grub_cpio_open): Likewise.
8416
9f12e664
VS
84172011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8418
8419 Fix handling of uncompressed blocks on squashfs and break 4G limit.
8420
8421 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
8422 unused flags.
8423 (grub_squash_inode): Add long_file and block_size.
8424 (grub_squash_cache_inode): New struct.
8425 (grub_squash_dirent): Make types into enum.
8426 (SQUASH_TYPE_LONG_REGULAR): New type.
8427 (grub_squash_frag_desc): Add field size.
8428 (SQUASH_BLOCK_FLAGS): New enum.
8429 (grub_squash_data): Use grub_squash_cache_inode.
8430 (grub_fshelp_node): Make ino_chunk 64-bit.
8431 (read_chunk): Minor argument change. All users updated.
8432 (squash_mount): Use correct le_to_cpu.
8433 (grub_squash_open): Handle LONG_REGULAR.
8434 (direct_read): New function.
8435 (grub_squash_read_data): Handle blocks correctly.
8436
9f326fba
VS
84372011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8438
8439 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
8440
f4d9b64b
VS
84412011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8442
8443 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
8444
5bbd28b8
VS
84452011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8446
8447 Fix 2G limit on ZFS.
8448
8449 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
8450 types.
8451 (uberblock_verify): Likewise.
8452 (dmu_read): Likewise.
8453 (grub_zfs_read): Likewise. Remove invalid cast.
8454
68c72069
VS
84552011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8456
8457 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
8458 (grub_jfs_blkno): Fix incorrect shift.
8459 (grub_jfs_read_file): Use more appropriate types.
8460
6e536dc8
VS
84612011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8462
8463 Support triple indirect on minix2 and minix3.
8464
8465 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
8466 Declare triple_indir_zone.
8467 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
8468 indirect.
8469
e0864e7a
VS
84702011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8471
8472 Minix FS fixes.
8473
8474 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
8475 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
8476 Rename ctime to mtime. All users updated.
8477 (grub_minix_get_file_block): Fix types and double indirect computations.
8478
89481cab
VS
84792011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8480
8481 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
8482 if no label is found.
8483 (grub_fat_iterate_dir): Fix file size type.
8484 (grub_fat_iterate_dir): Likewise.
8485
f646e143
VS
84862011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8487
8488 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
8489 save some space.
8490 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
8491 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
8492
534d769e
VS
84932011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8494
8495 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
8496
e084ba18
VS
84972011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8498
8499 * util/import_gcry.py: Accept space between # and include.
8500
3471ecdf
VS
85012011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8502
8503 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
8504
124df5f6
VS
85052011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8506
8507 Fine grainely disable warnings on lexer. Remove Wno-error on it.
8508
8509 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
8510 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
8511 yylex_strncpy.
8512 * grub-core/script/yylex.l: Add fine-grained #pragma.
8513
4defb8d5
VS
85142011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8515
8516 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
8517 New inline function.
8518 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
8519 Likewise.
8520 (memset) [GRUB_UTIL]: Likewise.
8521 (memcmp) [GRUB_UTIL]: Likewise.
8522
4e94ae65
VS
85232011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8524
8525 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
8526 inline function rather than a define.
8527
18c575e5
VS
85282011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8529
8530 * util/grub-setup.c: Add missing include.
8531
f8bc22a8
VS
85322011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8533
8534 * util/ieee1275/grub-ofpathname.c: Add missing include.
8535
3ce69fc9
VS
85362011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8537
8538 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
8539 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
8540 Likewise.
8541
d1e293bb
VS
85422011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8543
8544 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
8545 grub_memcmp usage.
8546
7a5c54a4
VS
85472011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8548
8549 * util/grub-install.in: Add datarootdir as per automake manual
8550 suggestion.
8551 * util/grub-mknetdir.in: Likewise.
8552
85532011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
8554
8555 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
8556 suggestion.
8557 * util/grub.d/10_kfreebsd.in: Likewise.
8558 * util/grub.d/10_linux.in: Likewise.
8559 * util/grub.d/10_netbsd.in: Likewise.
8560 * util/grub.d/10_windows.in: Likewise.
8561 * util/grub.d/20_linux_xen.in: Likewise.
8562
766f7d08
VS
85632011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
8564
8565 Remove redundant grub_kernel_image_size.
8566
8567 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
8568 _edata and _start.
8569 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
8570 the small code. It moves it only by few bytes but simplifies the code.
8571 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
8572 _start.
8573 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
8574 (grub_kernel_image_size): Removed.
8575 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
8576 (grub_kernel_image_size): Removed.
8577 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
8578 compiled with Apple toolchain.
8579 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
8580 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
8581 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
8582 (grub_total_module_size): Likewise.
8583 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
8584 Removed.
8585 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
8586 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
8587 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
8588 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
8589 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
8590 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
8591 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
8592 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
8593 Removed.
8594 (grub_total_module_size): Removed.
8595 * util/grub-mkimage.c (image_target_desc): Remove image_size.
8596 (image_targets): Likewise.
8597 Set .compressed_size to no field on sparc.
8598 (generate_image): Remove kernel_image_size handling.
8599
fcf1d672
SJ
86002011-10-19 Szymon Janc <szymon@janc.net.pl>
8601
8602 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
8603 NULL pointer dereference.
8604
de9c615e
VS
86052011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8606
8607 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
8608 done with a dedicated section.
8609
8610 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
8611 Ensure the correct position of boot_path.
8612 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
8613 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
8614 other fields.
8615 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
8616 * include/grub/boot.h: Removed. All references removed.
8617 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
8618 Removed.
8619 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
8620
e55599dc
VS
86212011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8622
8623 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
8624 name.
8625
36dd20ad
VS
86262011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8627
8628 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
8629
f8f72eb8
VS
86302011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8631
8632 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
8633 Don't add the bogus brackets.
8634
a374751b
VS
86352011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8636
8637 ExFAT support.
8638
8639 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
8640 * grub-core/Makefile.core.def (exfat): New module.
8641 * grub-core/fs/exfat.c: New file.
8642 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
8643 (GRUB_FAT_ATTR_*): Make into an enum.
8644 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
8645 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
8646 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
8647 (GRUB_FAT_MAXFILE): Removed.
8648 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
8649 (grub_current_fat_bpb_t): New type.
8650 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
8651 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
8652 (grub_fat_dir_node_t): New type.
8653 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
8654 (fat_log2) [MODE_EXFAT]: Removed.
8655 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
8656 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
8657 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
8658 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
8659 (grub_fat_label) [MODE_EXFAT]: New function.
8660 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
8661 reserved_first_sector to 0.
8662
544c2487
VS
86632011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8664
8665 Move grub_reboot out of the kernel.
8666
8667 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
8668 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
8669 * grub-core/lib/efi/reboot.c: ... here.
8670 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
8671 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
8672 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
8673 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
8674 * grub-core/lib/i386/reboot_trampoline.S: ... here.
8675 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
8676 * grub-core/lib/ieee1275/reboot.c: ... here.
8677 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
8678 * grub-core/lib/mips/arc/reboot.c: ... here.
8679 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
8680 * grub-core/lib/mips/loongson/reboot.c: ...here.
8681 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
8682 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
8683 * include/grub/emu/misc.h (grub_reboot): New function declaration.
8684 * include/grub/i386/reboot.h: New file.
8685 * include/grub/mips/loongson/ec.h: Fix includes.
8686 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
8687 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
8688 * grub-core/lib/i386/reboot.c: New file.
8689
a97501d2
VS
86902011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
8691
8692 Make grub_prefix into module to fix the arbitrary limit and save
8693 some space.
8694
8695 * grub-core/kern/emu/main.c (grub_prefix): Removed.
8696 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
8697 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
8698 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
8699 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
8700 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
8701 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
8702 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
8703 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
8704 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
8705 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
8706 * include/grub/ia64/efi/kernel.h: Removed.
8707 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
8708 (grub_prefix): Removed.
8709 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
8710 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
8711 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
8712 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
8713 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
8714 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
8715 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
8716 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
8717 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
8718 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
8719 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
8720 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
8721 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
8722 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
8723 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
8724 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
8725 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
8726 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
8727 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
8728 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
8729 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
8730 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
8731 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
8732 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
8733 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
8734 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
8735 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
8736 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
8737 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
8738 from module.
8739 * util/grub-mkimage.c (image_target_desc): Removed prefix and
8740 prefix_end.
8741 (image_targets): Likewise.
8742 (generate_image): Put prefix as a module.
8743
39705fad
VS
87442011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8745
8746 Replace grub_module_iterate with FOR_MODULES.
8747
8748 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
8749 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
8750 (grub_efi_modules_addr): ...this.
8751 * grub-core/kern/efi/init.c (grub_modbase): New variable.
8752 (grub_efi_init): Set grub_modbase.
8753 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
8754 (grub_modbase): New variable.
8755 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
8756 (grub_modbase): New variable.
8757 (grub_machine_init): Set grub_modbase.
8758 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
8759 (grub_modbase): New variable.
8760 (grub_machine_init): Set grub_modbase.
8761 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
8762 (grub_modbase): New variable.
8763 (grub_machine_init): Set grub_modbase.
8764 * grub-core/kern/main.c (grub_module_iterate): Remove.
8765 (grub_modules_get_end): Use grub_modbase.
8766 (grub_load_modules): Use FOR_MODULES.
8767 (grub_load_config): Likewise.
8768 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
8769 (grub_modbase): New variable.
8770 (grub_machine_init): Set grub_modbase.
8771 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
8772 (grub_modbase): New variable.
8773 (grub_machine_init): Set grub_modbase.
8774 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
8775 Removed.
8776 (grub_modbase): New variable.
8777 (grub_machine_init): Set grub_modbase.
8778 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
8779 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
8780 (grub_module_iterate): Likewise.
8781 (grub_modbase): New variable declaration.
8782 (FOR_MODULES): New macro.
8783
2afb7f6c
VS
87842011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8785
8786 * configure.ac: Check for __ctzdi2 and __ctzsi2.
8787 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
8788
366e34fa
VS
87892011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8790
8791 Fix few obvious type discrepancies.
8792
8793 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
8794 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
8795 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
8796 variable.
8797 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
8798 and connected types.
8799 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
8800 offset.
8801 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
8802 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
8803 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
8804 and connected types.
8805
177b960e
VS
88062011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8807
8808 Fix python 3.x incompatibilities.
8809
8810 * gentpl.py: Put brackets around print strings.
8811 * util/import_gcry.py: Open explicitly as utf-8.
8812 Use in instead of has_key.
8813
3b619ae1
VS
88142011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8815
8816 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
8817 (GRUB_XFS_INO_AGBITS): Make into inline function.
8818 (GRUB_XFS_INO_INOINAG): Likewise.
8819 (GRUB_XFS_INO_AG): Likewise.
8820 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
8821 (GRUB_XFS_EXTENT_OFFSET): Likewise.
8822 (GRUB_XFS_EXTENT_BLOCK): Likewise.
8823 (GRUB_XFS_EXTENT_SIZE): Likewise.
8824 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
8825 (GRUB_XFS_NEXT_DIRENT): Likewise.
8826 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
8827 (grub_xfs_read_file): Fix offset type.
8828
8bcebcb8
RM
88292011-10-15 Robert Millan <rmh@gnu.org>
8830
8831 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
8832
0017e5ef
RM
88332011-10-15 Robert Millan <rmh@gnu.org>
8834
8835 Fix build problem on FreeBSD and GNU/kFreeBSD.
8836
8837 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
8838
d8919552
VS
88392011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8840
8841 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
8842
8843 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
8844 types.
8845 (grub_hfsplus_btree_recoffset): Likewise.
8846 (grub_hfsplus_btree_recptr): Likewise.
8847 (grub_hfsplus_find_block): Likewise.
8848 (grub_hfsplus_btree_search): Likewise.
8849 (grub_hfsplus_read_block): Likewise.
8850 (grub_hfsplus_read_file): Likewise.
8851 (grub_hfsplus_mount): Likewise.
8852 (grub_hfsplus_btree_iterate_node): Likewise.
8853 (grub_hfsplus_btree_search): Likewise.
8854 (grub_hfsplus_iterate_dir): Likewise.
8855 (grub_hfsplus_read): A small code simplification.
8856
c81296b6
VS
88572011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8858
8859 * grub-core/kern/emu/hostdisk.c
8860 (convert_system_partition_to_system_disk): Don't assume that children
8861 of mapper nodes are mapper nodes.
8862
0eb8ffb1
VS
88632011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8864
8865 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
8866 * include/grub/misc.h (grub_isxdigit): New function.
8867 * grub-core/video/colors.c (my_isxdigit): Removed. All users
8868 switched to grub_isxdigit.
8869 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
8870 number starting with a letter.
8871
a98f4a08
RM
88722011-10-09 Robert Millan <rmh@gnu.org>
8873
8874 LVM support for FreeBSD and GNU/kFreeBSD.
8875
8876 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
8877 GNU/kFreeBSD.
8878 (LVM_DEV_MAPPER_STRING): Move from here ...
8879 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
8880 * util/getroot.c: Include `<grub/util/lvm.h>'.
8881 (grub_util_get_dev_abstraction): Enable
8882 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
8883 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
8884 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
8885 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
8886 support it.
8887 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
8888 GNU/kFreeBSD.
8889 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
8890 when LVM abstraction is required for ${GRUB_DEVICE}.
8891
050e8e90
SJ
88922011-10-06 Szymon Janc <szymon@janc.net.pl>
8893
8894 Add support for LZO compression in GRUB:
8895 - import of minilzo library,
8896 - LZO decompression for btrfs,
8897 - lzop files decompression.
8898
8899 * grub-core/io/lzopio.c: New file.
8900 * grub-core/lib/adler32.c: Likewise.
8901 * grub-core/lib/minilzo/lzoconf.h: Likewise.
8902 * grub-core/lib/minilzo/lzodefs.h: Likewise.
8903 * grub-core/lib/minilzo/minilzo.c: Likewise.
8904 * grub-core/lib/minilzo/minilzo.h: Likewise.
8905 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
8906 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
8907 grub-core/lib/minilzo/minilzo.c to common.
8908 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
8909 cflags in cppflags.
8910 * grub-core/Makefile.core.def (btrfs): Likewise.
8911 * grub-core/Makefile.core.def (lzopio): New module.
8912 (adler32): Likewise.
8913 * grub-core/fs/btrfs.c: Include minilzo.h.
8914 (GRUB_BTRFS_COMPRESSION_LZO): New define.
8915 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
8916 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
8917 (grub_btrfs_lzo_decompress): New function.
8918 (grub_btrfs_extent_read): Add support for LZO compression type.
8919 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
8920 (GRUB_USHRT_MAX): Likewise.
8921 (GRUB_UINT_MAX): Likewise.
8922 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
8923 (UINT_MAX): Likewise.
8924 (CHAR_BIT): Likewise.
8925 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
8926 grub-core/lib/posix_wrap/limits.h
8927 (UCHAR_MAX): Likewise.
8928 * include/grub/file.h (grub_file_filter_id): New compression filter
8929 GRUB_FILE_FILTER_LZOPIO.
8930 * include/grub/file.h (grub_file_filter_id): Set
8931 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
8932 * include/grub/types.h (grub_get_unaligned16): New function.
8933 (grub_get_unaligned32): Likewise.
8934 (grub_get_unaligned64): Likewise.
8935 * util/import_gcry.py (cryptolist): Add adler32.
8936
0eb8ffb1
VS
89372011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
8938
8939 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
8940 in perspective decreases the complexity of build system and fixes
8941 compilation right now.
8942
ce79cc99 89432011-10-01 Ales Nesrsta <starous@volny.cz>
8944
8945 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
8946 (fixed problem related to using UHCI with coreboot).
8947
8667a314
BC
89482011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
8949
8950 * gentpl.py: Use Autogen macros so that the output template file
8951 (Makefile.tpl) size is reduced.
8952
fc5efcc0
MK
89532011-09-29 Mads Kiilerich <mads@kiilerich.com>
8954
8955 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
8956 extra_dist.
8957
d1ab689d
ML
89582011-09-29 Mario Limonciello <mario_limonciello@dell.com>
8959
8960 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
8961 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
8962
c05de032
ML
89632011-09-29 Mario Limonciello <mario_limonciello@dell.com>
8964
8965 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
8966 _fullpath.
8967
cca7ccd8
ML
89682011-09-29 Mario Limonciello <mario_limonciello@dell.com>
8969
8970 Remove extra declaration of sleep for mingw32.
8971
8972 * util/misc.c (sleep) [__MINGW32__]: Removed.
8973 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
8974
e0b0dc83
GS
89752011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
8976
8977 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
8978 type and packname.
8979 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
8980 Resurrected.
8981 (NETBSD_BTINFO_BOOTWEDGE): New definition.
8982 (grub_netbsd_btinfo_bootwedge): New struct.
8983 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
8984 New function.
8985 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
8986
91a1a164
TH
89872011-09-28 Thomas Haller <thomas.haller@fen-net.de>
8988
8989 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
8990 loader.
8991
2ded951e
AB
89922011-09-28 Andreas Born <futur.andy@googlemail.com>
8993
8994 Fix incorrect identifiers in bash-completion.
8995
8996 * util/bash-completion.d/grub-completion.bash.in
8997 (_grub_mkpasswd-pbkdf2): Rename to ...
8998 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
8999 (_grub_script-check): Rename to ...
9000 (_grub_script_check): ... this. All users updated.
9001
69915030
VS
90022011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
9003
9004 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
9005 Return 0 if disk isn't biosdisk.
9006
20fd15f9
GS
90072011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
9008
9009 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
9010 on NetBSD.
9011 * Makefile.util.def (grub-fstest): Likewise.
9012
1a7d7db9
GS
90132011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
9014
9015 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
9016 Get sector size from disk label.
9017
2221ab6c
CW
90182011-09-05 Colin Watson <cjwatson@ubuntu.com>
9019
9020 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
9021 */README* as well as README*.
9022 Reported by: Axel Beckert.
9023
ca51c4a0
VS
90242011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9025
9026 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
9027 case of less than 256 MiB of RAM.
9028
ab80f326
VS
90292011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9030
9031 * grub-core/commands/wildcard.c (make_regex): Handle @.
9032
4155e697
VS
90332011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9034
9035 * util/grub-install.in: Move cryptodisk logic to appropriate place.
9036
ab178c08
SJ
90372011-08-21 Szymon Janc <szymon@janc.net.pl>
9038
9039 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
9040 AC_LANG_CONFTEST macros.
9041
7dc3c686
SJ
90422011-08-20 Szymon Janc <szymon@janc.net.pl>
9043
9044 Add grub-fstest option to uncompress data for commands.
9045
9046 * util/grub-fstest.c (uncompress): New var.
9047 (options): New option -u.
9048
fe8d4a7b
SJ
90492011-08-20 Szymon Janc <szymon@janc.net.pl>
9050
9051 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
9052 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
9053
a5219af1
SJ
90542011-08-20 Szymon Janc <szymon@janc.net.pl>
9055
9056 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
9057 file type was not recognized correctly (not gzip or corrupted).
9058
f87abff5
VS
90592011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9060
9061 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
9062 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
9063
d94497ea
VS
90642011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9065
9066 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
9067 loongson.
9068 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
9069 video_radeon_fuloong2e.
9070 * grub-core/video/radeon_fuloong2e.c: New file.
9071 * include/grub/video.h (grub_video_id_t): Add new ID
9072 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
9073
0d1fd011
VS
90742011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9075
9076 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
9077 define.
9078 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
9079 that PRID matches the detected subplatform and reset the subplatform
9080 if it doesn't.
9081
84beb0ee
VS
90822011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9083
9084 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
9085
1227c133
VS
90862011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9087
9088 Fix PCI iterating on functions >= 4.
9089
9090 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
9091 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
9092 Removed.
9093 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
9094 (grub_pci_read): Fix bitmask.
9095 (grub_pci_read_word): Likewise.
9096 (grub_pci_read_byte): Likewise.
9097 (grub_pci_write): Likewise.
9098 (grub_pci_write_word): Likewise.
9099 (grub_pci_write_byte): Likewise.
9100
9594c689
VS
91012011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9102
9103 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
9104 can still be specified in TARGET_CFLAGS)
9105
14a2562c
VS
91062011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9107
9108 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
9109
9110 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
9111 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
9112 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
9113 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
9114 (FULOONG): Rename to ...
9115 (FULOONG2F): ... this. All users updated.
9116 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
9117 (machtype_fuloong2f_str): ... this.
9118 (machtype_fuloong2e_str): New string.
9119 Check for machtype_fuloong2e_str.
9120 * grub-core/loader/mips/linux.c (loongson_machtypes)
9121 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
9122 * grub-core/term/serial.c (loongson_defserial)
9123 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
9124 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
9125 loongson_defserial.
9126 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
9127 Rename to ...
9128 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
9129 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
9130 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
9131 to IMAGE_FULOONG2F_FLASH. All users updated.
9132 (image_targets): Rename images.
9133 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
9134
b526cbb6
SJ
91352011-08-19 Szymon Janc <szymon@janc.net.pl>
9136
9137 Make enable of disk cache statistics code configurable.
9138
9139 * configure.ac: --enable-cache-stats added.
9140 * config.h.in (DISK_CACHE_STATS): New define.
9141 * grub-core/Makefile.core.def (cacheinfo): New command.
9142 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
9143 * grub-core/commands/cacheinfo.c: New file.
9144 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
9145 moved to cacheinfo.c.
9146 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
9147 debug code.
9148 * include/grub/disk.h: Likewise.
9149
fb739ccd
SJ
91502011-08-19 Szymon Janc <szymon@janc.net.pl>
9151
9152 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
9153 * grub-core/Makefile.am: Likewise.
9154
2bba8cfd
VS
91552011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9156
9157 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
9158 non-zero pull.
9159
43526629
VS
91602011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9161
9162 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
9163 All users updated.
9164 (grub_jfs_lookup_symlink): Use correct starting inode.
9165
5c144cc8
VS
91662011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9167
9168 * util/grub-setup.c (main): Add missing gcry initialisation.
9169
b1257f65
VS
91702011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9171
9172 Don't accept text modes on EFI when booting Linux.
9173
9174 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
9175 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
9176
828bc390
ML
91772011-08-15 Mario Limonciello <mario_limonciello@dell.com>
91782011-08-15 Colin Watson <cjwatson@ubuntu.com>
9179
9180 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
9181 use of "/path/.." as in grub-install for EFI as well as handling
9182 symlinks correctly.
9183 Fixes Debian bug #637768.
9184
5f60ccac
CW
91852011-08-15 Colin Watson <cjwatson@ubuntu.com>
9186
9187 * util/grub-probe.c: Remove duplicate #include.
9188
6dc212f9
RM
91892011-08-10 Robert Millan <rmh@gnu.org>
9190
9191 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
9192
9193 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
9194 function.
9195 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
9196 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
9197
66816d85
RM
91982011-08-03 Robert Millan <rmh@gnu.org>
9199
9200 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
9201 la_array as packed.
9202 Reported by: Zachary Bedell
9203
20168fca
CW
92042011-07-26 Colin Watson <cjwatson@ubuntu.com>
9205
9206 * configure.ac: The Loongson port requires grub-mkfont due to its
9207 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
9208 be built.
9209
303b6246
CW
92102011-07-26 Colin Watson <cjwatson@ubuntu.com>
9211
9212 * util/grub-install.in: Don't source grub-mkconfig_lib until after
9213 processing arguments (otherwise help2man fails when GRUB has not yet
9214 been installed).
9215
6795300e
VS
92162011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9217
41aa28ea
VS
9218 New script grub-mkstandalone.
9219
9220 * Makefile.util.def (grub-mkstandalone): New script.
9221 * docs/man/grub-mkstandalone.h2m: New file.
9222 * util/grub-mkstandalone.in: Likewise.
9223
92242011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9225
9226 Support ATA disks with 4K sectors.
6795300e
VS
9227
9228 * include/grub/ata.h (grub_ata): New member log_sector_size.
9229 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
9230 (grub_ata_identify): Read sector size.
9231 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
9232
92227597
VS
92332011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9234
9235 * util/grub-install.in: Don't use uhci outside of x86.
9236
c77069f5
VS
92372011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9238
9239 * util/grub-mkrescue.in: Add missing quotes.
9240
92412011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
9242
9243 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
9244 dereference.
9245
583168a2
VS
92462011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9247
9248 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
9249
6be1c01f
VS
92502011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9251
9252 * include/grub/video.h: add missing EXPORT_FUND on
9253 grub_video_edid_checksum and grub_video_edid_preferred_mode.
9254
a1167439
VS
92552011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9256
9257 * include/grub/mips/kernel.h: Fix define conflict.
9258
bf66054f
VS
92592011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9260
9261 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
9262 all four ways.
9263
8fc4fa45
CW
92642011-07-21 Colin Watson <cjwatson@ubuntu.com>
9265
9266 Preferred resolution detection for VBE.
9267
9268 * grub-core/video/video.c (grub_video_edid_checksum): New function.
9269 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
9270 the Flat Panel extension, in line with the X.org VESA driver.
9271 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
9272 New function.
9273 (grub_vbe_bios_get_ddc_capabilities): Likewise.
9274 (grub_vbe_bios_read_edid): Likewise.
9275 (grub_vbe_get_preferred_mode): Likewise.
9276 (grub_video_vbe_setup): When the mode is "auto", try to get the
9277 preferred mode from VBE, and use the largest mode that is no larger
9278 than the preferred mode (some BIOSes expose a preferred mode that is
9279 not in their mode list!). If this fails, fall back to 640x480 as a
9280 safe conservative choice.
9281 (grub_video_vbe_get_edid): New function.
9282 (grub_video_vbe_adapter): Add get_edid.
9283 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
9284 (struct grub_video_adapter): Add get_edid.
9285 (grub_video_edid_checksum): Add prototype.
9286 (grub_video_edid_preferred_mode): Likewise.
9287 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
9288 structure.
9289
9290 * grub-core/commands/videoinfo.c (print_edid): New function.
9291 (grub_cmd_videoinfo): Print EDID if available.
9292
9293 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
9294 is more appropriate on a wider range of platforms than 640x480.
9295 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
9296 documentation.
9297
ca5572a9
VS
92982011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9299
9300 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
9301
e4bcf625
VS
93022011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9303
9304 * po/POTFILES.in: Regenerate.
9305
c4edd548
VS
93062011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9307
9308 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
9309 incorrect memory usage.
9310
16a2bab0
VS
93112011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9312
9313 * util/grub-install.in: Source grub-mkconfig_lib.
9314
2e418de6
VS
93152011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
9316
9317 Remove getroot.c from core on emu platform.
9318
9319 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
9320 kern/emu/raid.c.
9321 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
9322 useless.
9323 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
9324 * util/getroot.c (get_win32_path): ... here.
9325 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
9326 * util/getroot.c (fini_libzfs): ... here.
9327 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
9328 * util/getroot.c (grub_get_libzfs_handle): ... here.
9329 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
9330 Moved from here...
9331 * util/getroot.c (grub_find_zpool_from_dir): ... here.
9332 * grub-core/kern/emu/misc.c
9333 (grub_make_system_path_relative_to_its_root): Moved from here...
9334 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
9335 * grub-core/kern/emu/getroot.c: Moved from here ...
9336 * util/getroot.c: ... here. All users updated.
9337 * grub-core/kern/emu/raid.c: Moved from here ...
9338 * util/raid.c: ... here. All users updated.
9339
def9832a
VS
93402011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
9341
9342 * po/POTFILES.in: Regenerate.
9343
cd8fe79a
VS
93442011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9345
9346 Fix compilation on GNU/Linux.
9347
9348 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
9349 Disable geli.
9350 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
9351 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
9352 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
9353
a251b719
VS
93542011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
93552011-07-07 Michael Gorven <michael@gorven.za.net>
93562011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
9357
9358 LUKS and GELI support.
9359
9360 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
9361 grub-core/disk/luks.c, grub-core/disk/geli.c,
9362 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
9363 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
9364 grub-core/lib/arg.c.
9365 (libgrubmods.a): Remove gcrypts cflags and cppflags.
9366 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
9367 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
9368 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
9369 (grub-bin2h): Add libgcry.a.
9370 (grub-mkimage): Likewise.
9371 (grub-mkrelpath): Likewise.
9372 (grub-script-check): Likewise.
9373 (grub-editenv): Likewise.
9374 (grub-mkpasswd-pbkdf2): Likewise.
9375 (grub-pe2elf): Likewise.
9376 (grub-fstest): Likewise.
9377 (grub-mkfont): Likewise.
9378 (grub-mkdevicemap): Likewise.
9379 (grub-probe): Likewise.
9380 (grub-ofpath): Likewise.
9381 (grub-mklayout): Likewise.
9382 (example_unit_test): Likewise.
9383 (grub-menulst2cfg): Likewise.
9384 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
9385 * grub-core/Makefile.core.def (cryptodisk): New module.
9386 (luks): Likewise.
9387 (geli): Likewise.
9388 * grub-core/disk/AFSplitter.c: New file.
9389 * grub-core/disk/cryptodisk.c: Likewise.
9390 * grub-core/disk/geli.c: Likewise.
9391 * grub-core/disk/luks.c: Likewise.
9392 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
9393 grub_util_is_lvm.
9394 (grub_util_get_dm_abstraction): New function.
9395 (grub_util_follow_gpart_up): Likewise.
9396 (grub_util_get_geom_abstraction): Likewise.
9397 (grub_util_get_dev_abstraction): Use new functions.
9398 (grub_util_pull_device): Pull GELI and LUKS.
9399 (grub_util_get_grub_dev): Handle LUKS and GELI.
9400 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
9401 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
9402 (follow_geom_up): Removed.
9403 (grub_util_fd_seek): New function.
9404 (open_device): Use grub_util_fd_seek.
9405 (nread): Rename to ..
9406 (grub_util_fd_read): ... this. All users updated.
9407 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
9408 (grub_crypto_cbc_decrypt): Likewise.
9409 (grub_crypto_hmac_write): Likewise.
9410 (grub_crypto_hmac_buffer): Likewise.
9411 (grub_password_get): Extend to util.
9412 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
9413 New member modname.
9414 (gcry_md_spec) [GRUB_UTIL]: Likewise.
9415 * include/grub/cryptodisk.h: New file.
9416 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
9417 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
9418 LUKS and GELI.
9419 (grub_util_follow_gpart_up): New proto.
9420 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
9421 (grub_util_fd_read): Likewise.
9422 (grub_cryptodisk_cheat_mount): Likewise.
9423 (grub_util_cryptodisk_print_uuid): Likewise.
9424 (grub_util_get_fd_sectors): Likewise.
9425 * util/grub-fstest.c (mount_crypt): New var.
9426 (fstest): Mount crypto if requested.
9427 (options): New option -C.
9428 (argp_parser): Parse -C.
9429 (main): Init and fini gcry.
9430 * util/grub-install.in: Support cryptodisk install.
9431 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
9432 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
9433 cryptodisk.
9434 (prepare_grub_to_access_device): Likewise.
9435 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
9436 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
9437 (probe_cryptodisk_uuid): New function.
9438 (probe_abstraction): Likewise.
9439 (probe): Use new functions.
9440 * util/import_gcry.py: Create Makefile.utilgcry.def.
9441 Add modname member.
9442
9bfdcbbc
VS
94432011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9444
9445 Lazy device scanning.
9446
9447 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
9448 (grub-setup): Remove util/raid.c.
9449 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
9450 * grub-core/disk/lvm.c (scan_depth): New variable.
9451 (grub_lvm_iterate): Rescan if necessary.
9452 (find_lv): New function based on grub_lvm_open.
9453 (grub_lvm_open): Use find_lv. Rescan on error.
9454 (is_node_readable): New function.
9455 (is_lv_readable): Likewise.
9456 (grub_lvm_scan_device): Skip already found disks.
9457 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
9458 Stop if searched device is found and readable.
9459 * grub-core/disk/raid.c (inscnt): New variable.
9460 (scan_depth): Likewise.
9461 (scan_devices): New function based on grub_raid_register. Abort if
9462 looked for device is found.
9463 (grub_raid_iterate): Rescan if needed.
9464 (find_array): NEw function based on -grub_raid_open.
9465 (grub_raid_open): Use find_array and rescan.
9466 (insert_array): Set became_readable_at.
9467 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
9468 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
9469 New function.
9470 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
9471 (grub_util_pull_device): New function.
9472 (grub_util_get_grub_dev): Call grub_util_pull_device.
9473 * util/raid.c: Moved to ..
9474 * grub-core/kern/emu/raid.c: ... here.
9475 (grub_util_raid_getmembers): New parameter "bootable".
9476 All users updated. Support 1.x.
9477 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
9478 All users updated.
9479 * include/grub/disk.h (grub_disk_pull_t): New enum.
9480 (grub_disk_dev): Change iterate prototype.
9481 All users updated.
9482 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
9483 New proto.
9484 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
9485 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
9486 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
9487 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
9488 All users updated.
9489 * include/grub/util/raid.h: Removed.
9490
1c358e59
VS
94912011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
9492
9493 * po/POTFILES.in: Regenerate.
9494
abee94ed
VS
94952011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
9496
9497 Unify sparc init with other ieee1275.
9498
9499 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
9500 instead of kern/sparc64/ieee1275/init.c.
9501 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
9502 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
9503 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
9504 grub/machine/kernel.h.
9505 (grub_ieee1275_original_stack) [__sparc__]: New variable.
9506 (grub_claim_heap) [__sparc__]: Use sparc version.
9507 (grub_machine_init): Moved args parsing to
9508 (grub_parse_cmdline): ...this.
9509 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
9510 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
9511 New definition.
9512 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
9513
9514 Move BOOTP to separate file.
9515
9516 * grub-core/Makefile.core.def (net): Add net/bootp.c.
9517 * grub-core/net/net.c: Move all BOOTP functions to
9518 * grub-core/net/bootp.c: ... here.
9519
9520 Use frame interface on PXE.
9521
9522 * grub-core/Makefile.core.def (pxecmd): Removed.
9523 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
9524 * grub-core/commands/i386/pc/pxecmd.c: Removed.
9525 * grub-core/i386/pc/pxe.c: Moved from here ...
9526 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
9527 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
9528 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
9529
9530 EFI network support.
9531
9532 * grub-core/Makefile.core.def (efinet): New module.
9533 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
9534 here...
9535 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
9536 All users updated.
9537 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
9538 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
9539 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
9540 * grub-core/net/drivers/efi/efinet.c: New file.
9541 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
9542 (grub_efi_net_config): New extern var.
9543
9544 Various cleanups and bugfixes.
9545
9546 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
9547 error.
9548 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
9549 disk declared as partition.
9550 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
9551 leak on failure.
9552 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
9553 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
9554 (grub_debug_zalloc): Likewise.
9555 (grub_debug_realloc): Likewise.
9556 (grub_debug_memalign): Likewise.
9557 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
9558 Check that target is IPv4.
9559 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
9560 local-mac-address as fallback.
9561 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
9562 memory leak.
9563 * grub-core/net/ip.c (ipchksum): Rename to ...
9564 (grub_net_ip_chksum): ... this. All users updated.
9565 (grub_net_recv_ip_packets): Special handling for DHCP.
9566 * util/grub-mkimage.c (generate_image): Zero-out aout header.
9567
9568 Unify prefix handling
9569
9570 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
9571 (grub_machine_get_bootlocation): ... this.
9572 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
9573 (grub_machine_get_bootlocation): ... this.
9574 (grub_prefix): New variable.
9575 (prefix): Removed.
9576 (root_dev): New variable.
9577 (dir): Likewise.
9578 (main): Use new variables.
9579 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
9580 Revamped into ...
9581 (grub_machine_get_bootlocation): ... this.
9582 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
9583 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
9584 (grub_machine_get_bootlocation): ... this.
9585 (grub_machine_set_prefix): Removed.
9586 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
9587 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
9588 Revamped into ...
9589 (grub_machine_get_bootlocation): ... this.
9590 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
9591 (grub_set_prefix_and_root): ... this. All users updated.
9592 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
9593 Revamped into ...
9594 (grub_machine_get_bootlocation): ... this.
9595 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
9596 (grub_machine_get_bootlocation): New proto.
9597 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
9598
9599 Less intrusive and more reliable seek on network implementation.
9600
9601 * grub-core/kern/file.c (grub_file_net_seek): Removed.
9602 (grub_file_seek): Don't call grub_file_net_seek.
9603 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
9604 (grub_net_fs_read_real): .. this.
9605 (grub_net_seek_real): Use net->offset.
9606 (grub_net_fs_read): Seek if necessary.
9607
9608 Unify IEEE1275 netwotk config with the other platforms.
9609
9610 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
9611 New variable.
9612 (grub_machine_get_bootlocation): Support network.
9613 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
9614 Support type and device parsing.
9615 (grub_ieee1275_get_device_type): New function.
9616 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
9617 into ...
9618 (grub_ieee1275_net_config_real): ... this.
9619 (grub_ofnet_probecards): Removed.
9620 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
9621 * include/grub/ieee1275/ofnet.h: Removed.
9622 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
9623 extern var.
9624 (grub_ieee1275_get_device_type): New function.
9625
9626 Unify network device closing across platforms and make more robust.
9627
9628 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
9629 grub_grubnet_fini.
9630 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
9631 already.
9632 * grub-core/net/net.c (grub_net_network_level_interface_register):
9633 Update num_ifaces.
9634 (grub_net_card_unregister): Close all interfaces.
9635 (receive_packets): Don't poll if no iterfaces are registered.
9636 Open if necessary.
9637 (grub_net_fini_hw): New function.
9638 (grub_net_restore_hw): Likewise.
9639 (fini_hnd): New variable.
9640 (GRUB_MOD_INIT): Register preboot hook.
9641 (GRUB_MOD_FINI): Run and unregister preboot hook.
9642
9643 Poll network cards when idle.
9644
9645 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
9646 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
9647 * grub-core/net/net.c (receive_packets): Save last poll time.
9648 (grub_net_poll_cards_idle_real): New function.
9649 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
9650 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
9651 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
9652
9653 Rename ofnet interfaces.
9654
9655 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
9656 (grub_ofnet_findcards): Use ofnet_%s names.
9657
9658 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
9659
9660 Cleanup socket opening.
9661
9662 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
9663 (grub_net_fs_close): Likewise.
9664 (grub_net_fs_read_real): Use eof member.
9665 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
9666 (+grub_net_udp_close): New inline function.
9667
9668 * include/grub/net/tftp.h: Moved to the top of ...
9669 * grub-core/net/tftp.c: ... here.
9670 * include/grub/net/ip.h: Moved mostly to the top of ...
9671 * grub-core/net/ip.c: ... here.
9672 * include/grub/net/ethernet.h: Moved mostly to the top of ...
9673 * grub-core/net/ethernet.c: ... here.
9674
9675 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
9676
9677 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
9678 FS name.
9679
9680 * include/grub/net/ip.h (ipv4_ini): Removed.
9681 (ipv4_fini): Likewise.
9682
9683 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
9684 (grub_net_send_ip_packets): Likewise.
9685
cf1337aa
VS
96862011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9687
9688 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
9689 grub_read_cmos prototype.
9690
93c06ff9
VS
96912011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9692
9693 VGA text support in qemu-mips
9694
9695 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
9696 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
9697 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
9698 text.
9699 * grub-core/kern/i386/qemu/init.c: Renamed to ...
9700 * grub-core/kern/vga_init.c: ... this.
9701 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
9702 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
9703 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
9704 Adjust.
9705 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
9706 GRUB_MACHINE_PCI_IO_BASE.
9707
748ccabe
VS
97082011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9709
9710 MIPS qemu flash support.
9711
9712 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
9713 magic.
9714 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
9715 (grub_machine_init): Probe memory if its size isn't known.
9716 * util/grub-mkimage.c (image_targets): Add flash targets.
9717 (generate_image): Handle flash targets.
9718
d7345994
VS
97192011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9720
9721 MIPS qemu at_keyboard support.
9722
9723 * gentpl.py (videoinkernel): Add qemu-mips.
9724 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
9725 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
9726 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
9727 modules.
9728 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
9729 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
9730 * grub-core/term/serial.c (grub_serial_register)
9731 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
9732
a07a81b3
VS
97332011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9734
9735 CMOS support on sparc.
9736
9737 * gentpl.py (cmos): Add powerpc and sparc.
9738 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
9739 powerpc and sparc.
9740 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
9741 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
9742 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
9743 grub_set_datetime_cmos.
9744 * grub-core/lib/ieee1275/cmos.c: New file.
9745 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
9746 (find_rtc): Set no_ieee1275_rtc on error.
9747 (grub_get_datetime): Call grub_get_datetime_cmos on error.
9748 (grub_set_datetime): Call grub_set_datetime_cmos on error.
9749 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
9750 fail. Move value to argument. All users updated
9751 (grub_cmos_write): Likewise.
9752 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
9753 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
9754 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
9755 grub_get_datetime_cmos and grub_set_datetime_cmos.
9756
77546584
GS
97572011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
9758
9759 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
9760 sourcing grub-mkconfig_lib.
9761 * util/update-grub_lib.in: Likewise.
9762 * util/grub.d/00_header.in: Likewise.
9763 * util/grub.d/10_hurd.in: Likewise.
9764 * util/grub.d/10_kfreebsd.in: Likewise.
9765 * util/grub.d/10_linux.in: Likewise.
9766 * util/grub.d/10_netbsd.in: Likewise.
9767 * util/grub.d/10_windows.in: Likewise.
9768 * util/grub.d/20_linux_xen.in: Likewise.
9769 * util/grub.d/30_os-prober.in: Likewise.
9770
54894791
CW
97712011-06-28 Colin Watson <cjwatson@ubuntu.com>
9772
9773 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
9774 default_bg_color rather than black.
9775 (grub_gfxterm_fullscreen): Likewise.
9776 (grub_gfxterm_background_color_cmd): Save new background color in
9777 default_bg_color.
9778
8d5d8444
VS
97792011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9780
9781 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
9782
5afeb5bd
VS
97832011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9784
9785 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
9786 mismerge.
9787
ba7df45e
VS
97882011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9789
9790 Chainloading on coreboot support.
9791
9792 * grub-core/Makefile.core.def (chain): Add coreboot.
9793 * grub-core/loader/i386/coreboot/chainloader.c: New file.
9794
d0b526b2
VS
97952011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9796
9797 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
9798 if it happens.
9799
5ff1d945
VS
98002011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9801
9802 Implement time command.
9803
9804 * grub-core/Makefile.core.def (time): New module.
9805 * grub-core/commands/time.c: New file.
9806 * grub-core/script/parser.y: Remove "time" keyword.
9807 * grub-core/script/yylex.l: Likewise.
9808
5ebaad7e
VS
98092011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9810
9811 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
9812
bdea3798
VS
98132011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9814
9815 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
9816 when handling leftovers.
9817
b28c5655
VS
98182011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9819
9820 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
9821 so that help2man doesn't fail.
9822
b6f945dc
VS
98232011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9824
9825 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
9826 type in pointers on sparc64.
9827 (get_card_packet): Likewise.
9828
f9b75e8a
CW
98292011-06-27 Colin Watson <cjwatson@ubuntu.com>
9830
9831 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
9832 with `*'.
9833 (grub_cmd_videoinfo): Fetch current video mode.
9834
1e3d9b86
VS
98352011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9836
9837 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
9838 because of underlying system restrictions.
9839
efff4b1c
VS
98402011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9841
9842 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
9843 necessary.
9844
9fc9ce37
VS
98452011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9846
9847 Coreboot video support.
9848
9849 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
9850 (vbe): Likewise.
9851 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
9852 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
9853 here ...
9854 * grub-core/kern/i386/int.S: ... here.
9855 * grub-core/video/i386/pc/vbe.c: Updated includes.
9856 * grub-core/video/i386/pc/vga.c: Likewise.
9857 * include/grub/i386/coreboot/memory.h
9858 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
9859 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
9860 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
9861 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
9862 Disable interrupts.
9863 * include/grub/i386/pc/vga.h: Removed. All users updated.
9864
41bec7fe
VS
98652011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9866
9867 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
9868 definitions for dprintf.
9869 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
9870
ca80309d
VS
98712011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9872
9873 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
9874 prototype.
9875 (get_card_packet): Likewise.
9876
9e322ce8
YB
98772011-06-26 Yves Blusseau <blusseau@zetam.org>
9878
9879 Display the path of the file when file is not found
9880
9881 * grub-core/fs/fat.c: Display the filename when file is not found.
9882 * grub-core/fs/fshelp.c: Likewise.
9883 * grub-core/fs/hfs.c: Likewise.
9884 * grub-core/fs/jfs.c: Likewise.
9885 * grub-core/fs/minix.c: Likewise.
9886 * grub-core/fs/ufs.c: Likewise.
9887 * grub-core/fs/btrfs.c: Likewise.
9888 * grub-core/commands/i386/pc/play.c: Likewise.
9889
cbf597af
SJ
98902011-06-26 Szymon Janc <szymon@janc.net.pl>
9891
9892 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
9893 pointer checks before calling grub_free().
9894 * grub-core/commands/wildcard.c (match_devices): Likewise.
9895 * grub-core/commands/wildcard.c (match_files): Likewise.
9896 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
9897 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
9898 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
9899 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
9900 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
9901 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
9902 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
9903 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
9904 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
9905
6295b32f
P
99062011-06-25 Patrick <p55@mailinator.com>
9907
9908 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
9909
77c0840b
VS
99102011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
9911
9912 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
9913 (grub_pxe_send): Likewise.
9914 (GRUB_MOD_INIT): Fix types.
9915
40ea05de
SJ
99162011-06-24 Szymon Janc <szymon@janc.net.pl>
9917
9918 * grub-core/io/xzio.c: Fix code style issues
9919
90162423
MRA
99202011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
99212011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
9922
9923 Network infrastructure.
9924 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
9925
9926 * include/grub/net/arp.h: New file.
90162423
MRA
9927 * include/grub/net/device.h: Likewise.
9928 * include/grub/net/ethernet.h: Likewise.
9929 * include/grub/net/ip.h: Likewise.
9930 * include/grub/net/netbuff.h: Likewise.
9931 * include/grub/net/tftp.h: Likewise.
9932 * include/grub/net/udp.h: Likewise.
9933 * include/grub/ieee1275/ofnet.h: Likewise.
9934 * include/grub/emu/export.h: Likewise.
9935 * include/grub/net.h: Likewise.
9936 * grub-core/net/arp.c: Likewise.
9937 * grub-core/net/ethernet.c: Likewise.
9938 * grub-core/net/ip.c: Likewise.
9939 * grub-core/net/udp.c: Likewise.
9940 * grub-core/net/tftp.c: Likewise.
9941 * grub-core/net/netbuff.c: Likewise.
9942 * grub-core/net/net.c: Likewise.
9943 * grub-core/net/drivers/emu/emunet.c: Likewise.
9944 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
9945 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
9946 export.h.
9947 * grub-core/Makefile.core.def (net): New module.
9948 (tftp): Likewise.
9949 (ofnet): Likewise.
9950 (emunet): Likewise.
9951 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
9952 network protocols.
9953 * grub-core/kern/device.c (grub_net_open) : New variable.
9954 (grub_device_open): Handle network device.
9955 (grub_device_close): Likewise.
9956 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
9957 (grub_grubnet_fini): Likewise.
9958 (grub_file_seek): Seek in network device.
9959 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
9960 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
9961 network root.
9962 (grub_machine_fini): Call grub_grubnet_fini.
9963 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
9964 network.
9965 (grub_ieee1275_get_aliasdevname): New function.
9966 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
9967 Add unofficial Solaris network info.
9968 (grub_multiboot_make_mbi): Likewise.
9969 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
9970 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
9971 * include/grub/device.h (grub_fs): Removed.
9972 * include/grub/err.h (grub_err_t): Add network-related values.
9973 * include/grub/i386/pc/pxe.h: Removed bootp parts.
9974 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
9975 (grub_ieee1275_get_aliasdevname): New proto.
9976 * include/grub/net.h: Rewritten.
423a1849 9977
031f22a0
VS
99782011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9979
9980 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
9981 names.
9982
4388ca72
VS
99832011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9984
9985 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
9986 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
9987 it truncates the output.
9988 Reported by: Ximin Luo.
9989
98e2f506
VS
99902011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9991
9992 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
9993
2a5e94d8
VS
99942011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9995
9996 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
9997 partmap before abstraction.
9998
535c1910
AK
99992011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
10000
10001 * util/grub-mkconfig_lib.in: Add missing quotes.
10002
bc09e1a2
VS
100032011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10004
10005 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
10006 old method if mountinfo would return /dev/root and /dev/root doesn't
10007 exist.
10008
290766fb
VS
100092011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10010
10011 ZFS zlib support
10012
10013 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
10014 (decomp_table): Add zlib entries.
10015 (zio_read): USe 8 bits for compression function rather than 3.
10016 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
10017
100182011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10019
10020 * grub-core/disk/ahci.c: Add missing license statements.
10021 * grub-core/fs/romfs.c: Likewise.
10022 * grub-core/lib/ia64/setjmp.S: Likewise.
10023 * grub-core/loader/i386/pc/freedos.c: Likewise.
10024 * grub-core/loader/ia64/efi/linux.c: Likewise.
10025 * grub-core/video/colors.c: Likewise.
10026 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
10027
5ab3f48a
VS
100282011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10029
10030 AHCI support.
10031
10032 * grub-core/Makefile.core.def (ata_pthru): Removed.
10033 (ahci): New module.
10034 (pata): Likewise.
10035 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
10036 on unload.
10037 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
10038 readwrite.
10039 (grub_hdparm_do_check_powermode_cmd): Likewise.
10040 (grub_hdparm_do_smart_cmd): Likewise.
10041 (grub_hdparm_set_val_cmd): Likewise.
10042 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
10043 * grub-core/disk/ahci.c: New file.
10044 * grub-core/disk/ata.c: Factor out the low-level part into ...
10045 * grub-core/disk/pata.c: ... here.
10046 * grub-core/disk/ata_pthru.c: Contents moved to ...
10047 * grub-core/disk/pata.c: ... here.
10048 * grub-core/disk/scsi.c (grub_scsi_names): New array.
10049 (grub_scsi_iterate): Use grub_scsi_names.
10050 (grub_scsi_open): Likewise.
10051 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
10052 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
10053 (grub_ata_regs_t): New struct.
10054 (grub_disk_ata_pass_through_parms): Likewise.
10055 (grub_ata_device): Renamed to ...
10056 (grub_ata): ... this.
10057 (grub_ata_dev): New struct.
10058 Removed all low-level inline functions.
10059 * include/grub/scsi.h: Add PATA and AHCI subsystems.
10060 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
10061 iterate hooks and open. All users updated.
10062 * util/grub-install.in: Handle AHCI disk module.
10063
c31dc5f5
SJ
100642011-06-23 Szymon Janc <szymon@janc.net.pl>
10065
10066 Add support for DRI and RSTn markers in JPEG files.
10067
10068 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
10069 (JPEG_MARKER_RST0): Likewise.
10070 (JPEG_MARKER_RST1): Likewise.
10071 (JPEG_MARKER_RST2): Likewise.
10072 (JPEG_MARKER_RST3): Likewise.
10073 (JPEG_MARKER_RST4): Likewise.
10074 (JPEG_MARKER_RST5): Likewise.
10075 (JPEG_MARKER_RST6): Likewise.
10076 (JPEG_MARKER_RST7): Likewise.
10077 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
10078 (grub_jpeg_decode_dri): New function.
10079 (grub_jpeg_decode_sos): Move image data related part into
10080 grub_jpeg_decode_data function.
10081 (grub_jpeg_decode_data): New function.
10082 (grub_jpeg_reset): New function.
10083 (grub_jpeg_decode_jpeg): Handle new markers.
10084
fe12fd5b
VS
100852011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10086
10087 * util/ieee1275/ofpath.c (check_sas): Close fd.
10088 (main): Free of_path.
10089 Reported by: David Volgyes <dvolgyes>.
10090
03147f46
VS
100912011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10092
10093 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
10094 Reported by: David Volgyes <dvolgyes>.
10095
cad3237f
VS
100962011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10097
10098 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
10099 file after stat.
10100 Reported by: David Volgyes <dvolgyes>.
10101
13548d26
VS
101022011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10103
10104 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
10105
10106 Reported by: David Volgyes <dvolgyes>.
10107
e061a1b5
VS
101082011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10109
10110 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
10111 Prevent memory leak.
10112
1abe47dc
VS
101132011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10114
10115 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
10116 (main): Close file.
e061a1b5 10117 Reported by: David Volgyes <dvolgyes>.
1abe47dc 10118
fbc62666
VS
101192011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10120
10121 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
10122 to continue if allocation is failed.
10123
10124 Reported by: David Volgyes <dvolgyes>.
10125
e98c83e9
DV
101262011-06-23 David Volgyes <dvolgyes>
10127
10128 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
10129 dereference.
10130
a199a8cd
VS
101312011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10132
10133 Fix spurious warning.
10134
10135 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
10136 (acorn_partition_map_find): Use .bin member.
10137
e2d1dba0
VS
101382011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10139
10140 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
10141 /dev/root as a valid device.
10142
8a5d6919
JM
101432011-06-23 Jim Meyering <meyering@redhat.com>
10144
e2d1dba0
VS
10145 Avoid NULL deref in grub_device_open.
10146
8a5d6919
JM
10147 * grub-core/kern/device.c (grub_device_open): Don't dereference
10148 a NULL pointer upon failed grub_env_get.
10149
f7db6f4a
VS
101502011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10151
10152 Support non-512B sectors and agglomerate reads.
10153
10154 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
10155 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
10156 (disk_io_guid): Removed.
10157 (make_devices): Locate solely by BlockIO.
10158 (grub_efidisk_open): Fill log_sector_size and total_sectors.
10159 (grub_efidisk_read): Use read_blocks.
10160 (grub_efidisk_write): Use write_blocks.
10161 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
10162 log_sector_size.
10163 (get_safe_sectors): Handle non-512B sectors.
10164 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
10165 sectors.
10166 (grub_biosdisk_write): Handle non-512B sectors.
10167 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
10168 (grub_scsi_read): Remove special non-512B block handling (now handled
10169 one level up).
10170 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
10171 and do sanity checks.
10172 (grub_disk_adjust_range): Handle non-512B sectors.
10173 (transform_sector): New function.
10174 (grub_disk_read_small): Likewise.
10175 (grub_disk_read): Rewritten.
10176 (grub_disk_write): Handle non-512B sectors.
10177 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
10178 log_sector_size.
10179 (open_device): Use log_sector_size.
10180 (grub_util_biosdisk_read): Likewise.
10181 (grub_util_biosdisk_write): Likewise.
10182 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
10183 non-512B sectors.
10184 (pc_partition_map_embed): Likewise.
10185 * include/grub/disk.h (grub_disk): New field log_sector_size.
10186 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
10187 (GRUB_DISK_CACHE_BITS): Increased to 6.
10188 * util/grub-fstest.c (fstest): New command testload.
10189 (argp_parser): Likewise.
10190
881ac815
RM
101912011-06-16 Robert Millan <rmh@gnu.org>
10192
10193 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
10194 `ata' driver on kernel of FreeBSD 9.
10195
10196 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
10197 (get_ataraid_disk_name): New functions.
10198 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
10199 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
10200 get_ataraid_disk_name() and get_ada_disk_name().
10201
1e9aef7d
CW
102022011-06-13 Colin Watson <cjwatson@ubuntu.com>
10203
10204 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
10205 input format.
10206
351c7c8a
CW
102072011-05-29 Colin Watson <cjwatson@ubuntu.com>
10208
10209 * docs/grub.texi (Obtaining and Building GRUB): Substitute
10210 `ftp.gnu.org' for `alpha.gnu.org'.
10211
6b4e6430
CW
102122011-05-27 Colin Watson <cjwatson@ubuntu.com>
10213
10214 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
10215 partitions under /dev/disk/by-id/.
10216
c64db050
CW
102172011-05-27 Colin Watson <cjwatson@ubuntu.com>
10218
10219 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
10220 after ten consecutive open failures. Scanning all the way up to
10221 10000 is excessive and can cause serious performance problems in
10222 some configurations.
10223 Fixes Ubuntu bug #787461.
10224
245f4aba
VS
102252011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10226
10227 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
10228 opening new one.
10229
f767c929
VS
102302011-05-21 Colin Watson <cjwatson@ubuntu.com>
102312011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10232
10233 Don't stat devices unless we have to.
10234
10235 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
10236 dir == /dev/mapper.
10237 (grub_guess_root_device): Use already known os_dev if possible.
10238 * grub-core/kern/emu/hostdisk.c
10239 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
10240 if device is known to be a dm one.
10241
f35fa3a6
CW
102422011-05-20 Colin Watson <cjwatson@ubuntu.com>
10243
10244 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
10245 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
10246 Reported by: Pawel Tecza.
10247
9a79fcf2
VS
102482011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
10249
10250 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
10251 (lsefisystab): Likewise.
10252 (lssal): Likewise.
10253 (lsefimmap): Likewise.
10254 (hdparm): Enable on qemu-mips.
10255 (setjmp): Add ia64 nodist.
10256 (serial): Simplify tags.
10257
63e3eea9
CW
102582011-05-18 Colin Watson <cjwatson@ubuntu.com>
10259
10260 * Makefile.util.def (grub-ofpathname): Install manual page.
10261
09728256
CW
102622011-05-18 Colin Watson <cjwatson@ubuntu.com>
10263
10264 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
10265
8b63a142
CW
102662011-05-18 Colin Watson <cjwatson@ubuntu.com>
10267
10268 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
10269
e775d8ed
VS
102702011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10271
10272 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
10273 into dprintf.
10274
bf947d36
VS
102752011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10276
10277 Use full 64-bit division.
10278
10279 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
10280 (grub_divmod64): ... this.
10281 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
10282 version.
10283
b84f26c5
CW
102842011-05-18 Colin Watson <cjwatson@ubuntu.com>
10285
10286 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
10287 `source'.
10288
5626056f
CW
102892011-05-18 Colin Watson <cjwatson@ubuntu.com>
10290
10291 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
10292 to avoid accidents when debugging with 'sh -x'.
10293 * grub-core/gensyminfo.sh.in: Likewise.
10294 * tests/example_scripted_test.in: Likewise.
10295 * tests/grub_cmd_regexp.in: Likewise.
10296 * tests/grub_script_blanklines.in: Likewise.
10297 * tests/grub_script_dollar.in: Likewise.
10298 * tests/grub_script_expansion.in: Likewise.
10299 * tests/grub_script_final_semicolon.in: Likewise.
10300 * tests/partmap_test.in: Likewise.
10301 * tests/util/grub-shell-tester.in: Likewise.
10302 * tests/util/grub-shell.in: Likewise.
10303
e2965f4a
CW
103042011-05-18 Colin Watson <cjwatson@ubuntu.com>
10305
10306 Move gfxmenu color handling to video, so that gfxterm can use it
10307 too.
10308
10309 * grub-core/gfxmenu/named_colors.c: Move to ...
10310 * grub-core/video/colors.c: ... here. Rename
10311 grub_gui_get_named_color to grub_video_get_named_color.
10312 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
10313 * grub-core/video/colors.c (my_isxdigit): ... here.
10314 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
10315 Move to ...
10316 * grub-core/video/colors.c (parse_hex_color_component): ... here.
10317 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
10318 to ...
10319 * grub-core/video/colors.c (grub_video_parse_color): ... here.
10320
10321 * include/grub/gui.h (grub_gui_color_t): Move to ...
10322 * include/grub/video.h (grub_video_rgba_color_t): ... here.
10323 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
10324 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
10325 * include/grub/gui.h (grub_gui_map_color): Move to ...
10326 * include/grub/video.h (grub_video_map_rgba_color): ... here.
10327 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
10328 to ...
10329 * include/grub/video.h (grub_video_get_named_color): ... here.
10330 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
10331 * include/grub/video.h (grub_video_parse_color): ... here.
10332
10333 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
10334 video/colors.c.
10335 (gfxmenu): Remove gfxmenu/named_colors.c.
10336 (video) [videomodules]: Add video/colors.c.
10337
10338 Add a background_color command.
10339
10340 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
10341 function.
10342 (GRUB_MOD_INIT): Register background_color command.
10343 (GRUB_MOD_FINI): Unregister background_color command.
10344 (redraw_screen_rect): Allow blend/replace of text layer to be
10345 controlled independently from whether there is a background bitmap.
10346 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
10347 changing bitmap.
10348
1e4b4390
VS
103492011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10350
26618ff0
VS
10351 Patch BPB in ntldr and chainloader --bpb.
10352
1e4b4390
VS
10353 * grub-core/fs/fat.c: Include grub/fat.h.
10354 (grub_fat_bpb): Moved to ...
10355 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
10356 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
10357 grub/ntfs.h.
10358 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
10359 Moved from here...
10360 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
10361 here.
10362 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
10363 New function.
10364 (grub_chainloader_cmd): Patch BPB if --bpb is given.
10365 (GRUB_MOD_INIT): Show --bpb.
10366 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
10367 * grub-core/normal/main.c (features): New variable.
10368 (GRUB_MOD_INIT): Set feature_* variables.
10369 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
10370 proto.
10371 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
10372
cf02731e
VS
103732011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10374
10375 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
10376 for cleanness.
10377
e3a1073f
VS
103782011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10379
10380 FreeDOS direct loading support.
10381
10382 * docs/grub.texi (Supported OS): Add FreeDOS.
10383 * grub-core/Makefile.core.def (freedos): New module.
10384 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
10385 variable.
10386 (grub_relocator16_boot): Handle %ebx.
10387 * grub-core/lib/i386/relocator16.S: Likewise.
10388 * grub-core/loader/i386/pc/freedos.c: New file.
10389
05caa461
VS
103902011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10391
10392 Long Linux command line support.
10393
10394 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
10395 (maximal_cmdline_size): New variable.
10396 (allocate_pages): Use maximal_cmdline_size.
10397 (grub_cmd_linux): Set and use maximal_cmdline_size.
10398 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
10399 (allocate_pages): Use maximal_cmdline_size.
10400 (grub_cmd_linux): Set and use maximal_cmdline_size.
10401 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
10402 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
10403 and cmdline_size.
10404
a2491e23
VS
104052011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
104062011-05-18 Colin Watson <cjwatson@ubuntu.com>
10407
10408 Improve devmapper support
10409
10410 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
10411 (grub_util_is_lvm): New function.
10412 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
10413 than lvm if not dmraid.
10414 Handle mapped md nodes.
10415 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
10416 (grub_util_device_is_mapped): ... this. Make always available. All users
10417 updated.
10418 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
10419 (convert_system_partition_to_system_disk): Handle lvm, mpath and
10420 dmraid nodes.
10421 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
10422
6ad6223e
VS
104232011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10424
10425 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
10426
10427 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
10428 * grub-core/modinfo.sh.in: New file.
10429 * grub-core/Makefile.core.def (modinfo.sh): New script.
10430 * util/grub-mknetdir.in: Use modinfo.sh.
10431 * util/grub-mkrescue.in: Likewise.
10432
543a8f6e
VS
104332011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10434
10435 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
10436 Fix potential usage of Elf32 instead of Elf64 when compiling on
10437 32-bit architecture. Add endianness macros while on it.
10438
4959e111
VS
104392011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10440
10441 Use mipsel- rather than mips- in directories involving mipsel ports to
10442 allow both endiannesses coexist.
10443
10444 * configure.ac: proparate target_cpu=mipsel rather than resetting to
10445 mips. All conditions adjusted.
10446 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
10447 variable.
10448 * util/grub-install.in: Adjust conditions to take renaming into account.
10449 * util/grub-mkimage.c (image_targets): Likewise. New target
10450 mips-qemu_mips-elf for bigendian mips.
10451
35341bbc
VS
104522011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10453
10454 Avoid unnecessary copying on MIPS.
10455
10456 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
10457 early if src == dest.
10458 * util/grub-mkimage.c (generate_image): Arange for src == dest if
10459 compression is none.
10460
b772baed
VS
104612011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10462
10463 Reduce memory footprint on SGI by putting modules before the kernel
10464 as opposed to after.
10465
10466 * grub-core/Makefile.core.def (kernel): Increase linking address.
10467 (none_decompress): Likewise.
10468 (xz_decompress): Likewise.
10469 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
10470 address.
10471 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
10472 layout change.
10473 (grub_arch_modules_addr): New function.
10474 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
10475 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
10476 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
10477 here.
10478 * grub-core/kern/mips/startup.S (total_size): Rename to ...
10479 (grub_total_modules_size): ... this. Make global.
10480 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
10481 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
10482 New definition.
10483 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
10484 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
10485 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
10486 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
10487 * util/grub-mkimage.c (image_target_desc): New flag
10488 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
10489 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
10490 (generate_image): Handle images with modules before kernel.
10491
566a1917
VS
104922011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10493
10494 Prevent potential loss of memory map by overwrite on qemu-mips.
10495
10496 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
10497 Save ram size in $s4.
10498 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
10499 All users changed to grub_arch_memsize.
10500 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
10501 Loongson.
10502 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
10503 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
10504 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
10505 external variable.
10506
5d420cd9
CW
105072011-05-17 Colin Watson <cjwatson@ubuntu.com>
10508
10509 * .bzrignore: Remove grub-dumpbios.
10510
d064b830
CW
105112011-05-17 Colin Watson <cjwatson@ubuntu.com>
10512
10513 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
10514 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
10515 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
10516 existing options which append).
10517 * docs/grub.texi (Simple configuration): Document new options.
10518 Reported by: Ian Jackson. Fixes Debian bug #617538.
10519
3ca2b466
CW
105202011-05-17 Colin Watson <cjwatson@ubuntu.com>
10521
10522 * util/grub-fstest.c (cmd_cat): New function.
10523 (fstest): Handle CMD_CAT.
10524 (options): Add cat.
10525 (argp_parser): Handle cat.
10526
24c9143a
CW
105272011-05-17 Colin Watson <cjwatson@ubuntu.com>
10528
10529 * Makefile.util.def (grub-bin2h): Don't install.
10530 * docs/man/grub-bin2h.h2m: Remove.
10531
90f7ac19
VS
105322011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10533
10534 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
10535 place.
10536
8d4a5178
VS
105372011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10538
10539 Reenable qemu-mips port.
10540
10541 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
10542 Fix small arc bug while on it.
10543 * gentpl.py: Handle qemu_mips.
10544 * grub-core/Makefile.am: Likewise.
10545 * grub-core/Makefile.core.def: Likewise.
10546 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
10547 inappropriate includes.
10548 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
10549 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
10550 * grub-core/kern/main.c (grub_modules_get_end)
10551 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
10552 * grub-core/kern/mips/qemu-mips: Moved to ..
10553 * grub-core/kern/mips/qemu_mips: ... this.
10554 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
10555 (grub_machine_init): Call terminfo_init and serial_init.
10556 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
10557 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
10558 New variable.
10559 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
10560 parameter passing.
10561 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
10562 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
10563 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
10564 * include/grub/mips/qemu_mips/cmos.h: New file.
10565 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
10566 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
10567 Removed.
10568 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
10569 Use correct mips-style address.
10570 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
10571 (GRUB_TICKS_PER_SECOND): Removed.
10572 (grub_get_rtc): Likewise.
10573 (grub_cpu_idle): Likewise.
10574 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
10575 New definition.
10576 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
10577 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
10578 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
10579 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
10580 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
10581 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
10582 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
10583 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
10584
400b9371
VS
105852011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10586
10587 SGI ARCS port.
10588
10589 * Makefile.util.def (libgrubmods.a): Add dvh.c.
10590 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
10591 platforms.
10592 * configure.ac: New target mips-arc.
10593 * gentpl.py: Likewise.
10594 * grub-core/Makefile.am: Likewise.
10595 * grub-core/Makefile.core.def: Likewise.
10596 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
10597 (none_decompress): Likewise.
10598 (lsdev): New module.
10599 (datetime): Use lib/arc/datetime.c on ARC.
10600 (part_dvh): New module.
10601 * grub-core/commands/arc/lsdev.c: New file.
10602 * grub-core/disk/arc/arcdisk.c: Likewise.
10603 * grub-core/kern/mips/arc/init.c: Likewise.
10604 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
10605 aligned addresses.
10606 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
10607 support.
10608 (grub_arch_dl_relocate_symbols): Likewise.
10609 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
10610 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
10611 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
10612 platforms.
10613 * grub-core/lib/arc/datetime.c: New file.
10614 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
10615 pci.h on non-loongson.
10616 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
10617 (grub_linux_boot): Set unused registers to 0.
10618 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
10619 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
10620 * grub-core/mmap/mips/uppermem.c: ...here.
10621 * grub-core/partmap/dvh.c: New file.
10622 * grub-core/term/arc/console.c: Likewise.
10623 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
10624 (grub_terminfo_set_current): Add terminal "arc".
10625 (grub_terminfo_readkey): Support ARC sequences.
10626 * include/grub/arc/arc.h: New file.
10627 * include/grub/arc/console.h: Likewise.
10628 * include/grub/disk.h (grub_disk_dev_id): Add
10629 GRUB_DISK_DEVICE_ARCDISK_ID.
10630 * include/grub/mips/arc/kernel.h: New file.
10631 * include/grub/mips/arc/memory.h: Likewise.
10632 * include/grub/mips/arc/time.h: Likewise.
10633 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
10634 * include/grub/mips/kernel.h (grub_halt): ... here.
10635 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
10636 here...
10637 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
10638 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
10639 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
10640 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
10641 proto.
10642 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
10643 from here ...
10644 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
10645 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
10646 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
10647 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
10648 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
10649 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
10650 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
10651 (grub_phys_addr_t): Moved from here ...
10652 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
10653 (grub_vtop): Moved from here ...
10654 * include/grub/mips/memory.h (grub_vtop): ... here.
10655 (grub_map_memory): Moved from here ...
10656 * include/grub/mips/memory.h (grub_map_memory): ... here.
10657 (grub_unmap_memory): Moved from here ...
10658 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
10659 (grub_machine_mmap_iterate): Moved from here ...
10660 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
10661 (grub_mmap_get_lower): Moved from here ...
10662 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
10663 (grub_mmap_get_upper): Moved from here ...
10664 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
10665 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
10666 here ...
10667 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
10668 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
10669 here ...
10670 * include/grub/mips/time.h (grub_get_rtc): ... here.
10671 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
10672 here ...
10673 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
10674 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
10675 here ...
10676 * include/grub/mips/time.h (grub_cpu_idle): ... here.
10677 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
10678 definition.
10679 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
10680 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
10681 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
10682 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
10683 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
10684 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
10685 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
10686 (GRUB_MACHINE_LINK_ADDR): Likewise.
10687 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
10688 to 6.
10689 * util/grub-install.in: Run dvhtool on ARC.
10690 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 10691 (generate_image): Handle ECOFF output for mips-arc.
400b9371 10692
c8ecc840
VS
106932011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
10694
10695 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
10696 blocks.
10697
153a4b55
VS
106982011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
10699
10700 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
10701 after enabling port.
10702
ff44d107
VS
107032011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
10704
10705 Skip incorrect USB devices.
10706
10707 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
10708 configcnt == 0.
10709 * include/grub/usb.h (grub_usb_err_t): New enum value
10710 GRUB_USB_ERR_BADDEVICE.
10711
638dbe4f
VS
107122011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
10713
10714 Fuloong video init support.
10715
10716 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
10717 well.
10718 (grub_vga_read_arx): New function.
10719 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
10720 definition.
10721 (framebuffer): New members io, mmioptr and mmiobase.
10722 (read_sis_cmd): New function.
10723 (write_sis_cmd): Likewise.
10724 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
10725 rather than 640x400.
10726 * grub-core/video/sis315_init.c: New file.
10727
c3fc520c
VS
107282011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10729
10730 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
10731 non-loongson.
10732 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
10733 to grub_dl_register_symbol.
10734
67b1e5c9
VS
107352011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10736
10737 Fix compilation errors.
10738
10739 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
10740 potentially unused.
10741 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
10742 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
10743 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
10744 to loongson machines.
10745
b756f75f
VS
107462011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10747
10748 Several FS mtime support.
10749
10750 * grub-core/fs/affs.c (grub_affs_time): New struct.
10751 (grub_affs_file): New field mtime.
10752 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
10753 type. Removed 'size'. New field 'di'. All users updated.
10754 (grub_affs_mount): Simplify checsum checking.
10755 (grub_affs_iterate_dir): New helper grub_affs_create_node.
10756 (grub_affs_dir): Handle mtime.
10757 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
10758 (grub_cpio_dir): Likewise.
10759 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
10760 (grub_hfs_filerec): New field mtime.
10761 (grub_hfs_dir): Handle mtime.
10762 (grub_hfs_mtime): New function.
10763 (grub_hfs_fs): Register grub_hfs_mtime.
10764 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
10765 (grub_iso9660_dir): New field mtime.
10766 (grub_fshelp_node): New field dirent.
10767 (iso9660_to_unixtime): New function.
10768 (iso9660_to_unixtime2): Likewise.
10769 (grub_iso9660_read_symlink): Use node->dirent.
10770 (grub_iso9660_iterate_dir): Likewise.
10771 (grub_iso9660_dir): Set mtime.
10772 (grub_iso9660_mtime): New function.
10773 (grub_iso9660_fs): Register grub_iso9660_mtime.
10774 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
10775 (grub_jfs_inode): New fields atime, ctime and mtime.
10776 (grub_jfs_dir): Set mtime.
10777 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
10778 * grub-core/fs/ntfs.c (list_file): Set mtime.
10779 (grub_ntfs_dir): Likewise.
10780 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
10781 (grub_reiserfs_iterate_dir): Set mtime.
10782 (grub_reiserfs_dir): Likewise.
10783 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
10784 (grub_fshelp_node): Likewise.
10785 (grub_sfs_iterate_dir): Set mtime.
10786 (grub_sfs_dir): Likewise.
10787 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
10788 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
10789 (grub_xfs_inode): New fields atime, mtime, ctime.
10790 (grub_xfs_dir): Set mtime.
10791 * include/grub/datetime.h (grub_datetime2unixtime): New function.
10792 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
10793 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
10794
10795 Support UDF symlinks.
10796
10797 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
10798 (grub_ufs_read_symlink): New function. All users updated.
10799
10800 Check amiga partmap checksum.
10801
10802 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
10803 (grub_amiga_partition): Likewise.
10804 (amiga_partition_map_checksum): New function.
10805 (amiga_partition_map_iterate): Check checksum.
10806
5470225d
VS
108072011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10808
10809 ROMFS support.
10810
10811 * Makefile.util.def (libgrubmods.a): Add romfs.
10812 * grub-core/Makefile.core.def (romfs): New module.
10813 * grub-core/fs/romfs.c: New file.
10814
d4680a35
VS
108152011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10816
10817 Squashfs v4 support.
10818
10819 * Makefile.util.def (libgrubmods.a): Add squash4.
10820 * grub-core/Makefile.core.def (squash4): New module.
10821 * grub-core/fs/squash4.c: New file.
10822 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
10823 disk_input_start, disk_input.
10824 (get_byte): Handle disk_input.
10825 (grub_zlib_disk_read): New function.
10826 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
10827
bcb18e74
FZ
108282011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
108292011-05-15 Feiran Zheng <famcool@gmail.com>
10830
10831 * Makefile.util.def (libgrubmods.a): Add minix3.
10832 * grub-core/Makefile.core.def (minix3): New module.
10833 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
10834 (GRUB_MINIX_BSIZE): Removed.
10835 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
10836 (grub_minix_ino_t): New type.
10837 (grub_minix_le_to_cpu_ino): New macro.
10838 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
10839 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
10840 (grub_minix_data): New field block_size.
10841 (grub_minix_read_file): Handle 64-bit correctly.
10842 * grub-core/fs/minix3.c: New file.
10843
32297d5f
TG
108442011-05-15 Tristan Gingold <gingold@free.fr>
108452011-05-15 Robert Millan <rmh.grub@aybabtu.com>
108462011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10847
10848 IA64 support.
10849
10850 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
10851 * configure.ac: Add ia64-efi target.
10852 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
10853 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
10854 * gentpl.py: Add ia64_efi platform.
10855 Rename x86_efi to efi and Add ia64-efi. All users updated.
10856 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
10857 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
10858 Remove kern/generic/rtc_get_time_ms.c on EFI.
10859 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
10860 kern/ia64/dl_helper.c on ia64-efi.
10861 Add kern/emu/cache.c on emu.
10862 (linux): Use on loader/ia64/efi/linux.c on ia64.
10863 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
10864 whether symbol is a function.
10865 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
10866 (grub_symbol): New field 'isfunc'.
10867 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
10868 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
10869 (grub_dl_load_segments): Place all sections into the same region.
10870 [__ia64__]: Create trampolines and got.
10871 [GRUB_MACHINE_EMU]: Call mprotect.
10872 (grub_dl_resolve_symbols): Resolve symbol type as well.
10873 [__ia64__]: Create function descriptors.
10874 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
10875 (grub_rtc_get_time_ms): ... this. Expressions simplified.
10876 (grub_get_rtc): New function.
10877 * grub-core/kern/emu/cache.c [__ia64__]: New file.
10878 * grub-core/kern/emu/cache.S: Renamed to ...
10879 * grub-core/kern/emu/cache_s.S: ... this.
10880 [__ia64__]: Add a nop.
10881 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
10882 [__ia64__]: New function.
10883 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
10884 * grub-core/kern/ia64/dl.c: New file.
10885 * grub-core/kern/ia64/dl_helper.c: Likewise.
10886 * grub-core/kern/ia64/efi/init.c: New file.
10887 * grub-core/kern/ia64/efi/startup.S: Likewise.
10888 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
10889 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
10890 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
10891 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
10892 * grub-core/loader/ia64/efi/linux.c: New file.
10893 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
10894 (GRUB_MOD_DEP): Likewise.
10895 (grub_dl) [__ia64__]: New fields got and tramp.
10896 (grub_dl): New field 'base'.
10897 (grub_dl_register_symbol): New argument isfunc. All users updated.
10898 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
10899 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
10900 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
10901 (grub_ia64_dl_get_tramp_got_size): New proto.
10902 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
10903 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
10904 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
10905 * include/grub/efi/api.h: Skip call wrappers on ia64.
10906 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
10907 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
10908 * include/grub/elf.h (ELF_ST_INFO): New definition.
10909 * include/grub/ia64/efi/kernel.h: New file.
10910 * include/grub/ia64/efi/memory.h: Likewise.
10911 * include/grub/ia64/efi/time.h: Likewise.
10912 * include/grub/ia64/kernel.h: Likewise.
10913 * include/grub/ia64/setjmp.h: Likewise (from glibc).
10914 * include/grub/ia64/time.h: New file.
10915 * include/grub/ia64/types.h: Likewise.
10916 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
10917 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
10918 New protos.
10919 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
10920 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
10921 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
10922 * util/grub-mkimage.c (image_target_desc): New field pe_target.
10923 All users updated.
10924 (EFI64_HEADER_SIZE): New definition. All users updated.
10925 (image_targets): Add ia64-efi.
10926 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
10927 jumpers_addr. All users updated.
10928 Create function descriptors.
10929 (count_funcs): New function.
10930 (unaligned_uint32): New struct.
10931 (MASK20): New definition.
10932 (MASK19): Likewise.
10933 (MASKF21): Likewise.
10934 (add_value_to_slot_20b): New function.
10935 (add_value_to_slot_21_real): Likewise.
10936 (add_value_to_slot_21): Likewise.
10937 (ia64_kernel_trampoline): New struct.
10938 (nopm): New variable.
10939 (jump): Likewise.
10940 (make_trampoline): New function.
10941 (relocate_addresses): Handle ia64.
10942 (make_reloc_section): Likewise.
10943 (load_image): Likewise.
10944
983b414d
VS
109452011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10946
10947 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
10948 warning. Move variables before code while on it.
10949
5d063cdc
VS
109502011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10951
10952 Fuloong support.
10953
10954 * configure.ac: Rename yeeloong platform to loongson. All users updated.
10955 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
10956 * grub-core/boot/mips/loongson/fuloong.S: New file.
10957 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
10958 Explicitly init CS5536.
10959 [FULOONG]: Don't use serial until CS5536 is available.
10960 Set GPIO based on dumps.
10961 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
10962 [FULOONG]: Handle GPIO and memory controller differences.
10963 Parse machine type in $a2.
10964 * grub-core/boot/mips/startup_raw.S: Determine and save the
10965 architecture.
10966 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
10967 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
10968 init on architecture type.
10969 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
10970 SIS315E. Don't init at_keyboard on fuloong.
10971 (grub_halt): Support Fuloong.
10972 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
10973 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
10974 (loongson_machtypes): New array.
10975 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
10976 type.
10977 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
10978 config. All users updated. Handle CS5536 serial.
10979 * grub-core/term/serial.c (grub_serial_register): Conditionalise
10980 default port on machine type. Register serial as inactive.
10981 * grub-core/video/sis315pro.c: New file.
10982 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
10983 definition.
10984 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
10985 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
10986 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
10987 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
10988 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
10989 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
10990 to ...
10991 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
10992 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
10993 definition.
10994 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
10995 (grub_arch_machine): New extern var.
10996 * include/grub/mips/loongson/serial.h
10997 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
10998 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
10999 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
11000 (GRUB_MACHINE_SERIAL_PORT0): ... this.
11001 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
11002 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
11003 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
11004 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
11005 * include/grub/term.h (grub_term_register_input_inactive): New inline
11006 function.
11007 (grub_term_register_output_inactive): Likewise.
11008 * include/grub/video.h (grub_video_driver_id): New value
11009 GRUB_VIDEO_DRIVER_SIS315PRO.
11010 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
11011 New field "names". All users updated.
11012 New field value IMAGE_FULOONG_FLASH.
11013 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
11014
6ada82d1
JU
110152011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
11016
11017 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
11018 and add some clarification.
11019
90c571a4
VS
110202011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11021
11022 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
11023 platforms if kernel is compressed.
11024
de04eecf
VS
110252011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11026
11027 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
11028 unused modules since currently referrence counter isn't reliable and
11029 there isn't much memory to recover there anyway.
11030
57688121
VS
110312011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11032
11033 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
11034 rather than resetting it to allow modules to reference themselves
11035 in init.
11036
3d2c7e35
VS
110372011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11038
11039 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
11040 counter on dependencies since grub_dl_unref already handles this.
11041
b25db218
VS
110422011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11043
11044 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
11045 on error if not already done.
11046
25a45338
VS
110472011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11048
11049 Fix few potential memory misusage.
11050
11051 * grub-core/font/font.c (load_font_index): Don't free char_index to
11052 avoid double free.
b25db218
VS
11053 (grub_font_load): Zero-fill font at alloc for safety.
11054 Close file on error.
11055 (free_font): Free bmp_idx.
25a45338 11056
0cac83df
VS
110572011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11058
11059 * docs/grub.texi (Installation): Fix several outdated claims.
11060
2217a143
VS
110612011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11062
11063 Handle module_license on windows.
11064
11065 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
11066 sections shifted.
11067 (insert_string): Make argument const char * instead of char *.
11068 (write_section_data): Handle long section names.
11069 Handle module_license.
11070
d4de6b01
VS
110712011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11072
11073 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
11074 handle class-free menuentries.
11075 (grub_normal_add_menu_entry): Add a check to be sure.
11076
4c2a3b43
VS
110772011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11078
11079 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
11080 PgUp and PgDown.
11081
85c6210f
VS
110822011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11083
11084 * configure.ac: Bump version to 1.99.
11085
36084912
VS
110862011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11087
11088 Give ATA device a bit more time on first try in order to allow disks
11089 to spin up.
11090
11091 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
11092 if dev->present is 1. Reset dev->present on failure.
11093 (grub_ata_device_initialize): Set dev->present to 1.
11094 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
11095 (grub_ata_device): New member 'present'.
11096
bda0e219
VS
110972011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11098
11099 * util/grub-mkimage.c (generate_image): Update hash.
11100
19e1c41b
VS
111012011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11102
11103 Flush caches on DMA memory.
11104
11105 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
11106 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
11107 (grub_dma_free): Likewise.
11108 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
11109
91bbcc0c
VS
111102011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11111
11112 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
11113 to avoid asm treating ld and sd as macros.
11114
60ddfad3
VS
111152011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11116
11117 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
11118 decompressor.
11119
a298aa04
VS
111202011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11121
11122 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
11123 grub_decompress_core since later would fail if grub_decompress_core
11124 is too far.
11125
9b44feca
VS
111262011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11127
11128 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
11129 R_MIPS_JALR since it's used by newer compiler.
11130
56dbe7b4
VS
111312011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
11132
11133 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
11134
52856af2
VS
111352011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11136
11137 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
11138 file_path to 0 for surety.
11139 (grub_chainloader_boot): Set exit_data to NULL.
11140 Unset the loader once done.
11141 (grub_cmd_chainloader): Fix confusing error message if file is empty.
11142
9c9bfc6d
VS
111432011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11144
11145 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
11146 unknown key into a dprintf.
11147
dd94a3df
VS
111482011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11149
11150 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
11151 on first non-existant partition.
11152
fa68d99c
VS
111532011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11154
11155 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
11156 openning fails.
11157 Reported by: Mark Korenberg.
11158
157effb7
VS
111592011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11160
11161 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
11162 overflow.
11163
ea75312f
VS
111642011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11165
11166 * util/grub-mkimage.c (main): Explicitely flush and sync the output
11167 before closing to ensure that it will be readable by grub-setup.
11168
072b5d31
VS
111692011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11170
11171 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
11172 (devpath_1): Use MAKE_PIWG_PATH.
11173 (devpath_2): Likewise.
11174 (devpath_3): Likewise.
11175 (devpath_4): Likewise.
11176 (devpath_5): Likewise.
11177 (devpath_6): Likewise.
11178
11179 The appleldr.mod was checked that to be binary identical to previous
11180 version.
11181
7fae0051
Z
111822011-05-05 Zach <mikezackles>
11183
11184 Support 2010 Macbooks.
11185
11186 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
11187 (devs): Add devpath_6.
11188
7c515bee
VS
111892011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11190
11191 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
11192 /dev/random. /dev/urandom is good enough for our purposes (salting).
11193
ed660bd8
VS
111942011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11195
11196 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
11197
ee5614b7
VS
111982011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11199
11200 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
11201 hexadecimal.
11202
664889a6
VS
112032011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11204
11205 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
11206 and not 0 on failure.
11207
bd405bbc
CW
112082011-05-03 Colin Watson <cjwatson@ubuntu.com>
11209
11210 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
11211 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
11212 disk; otherwise grub_fs_probe will not fall back to the next
11213 filesystem.
11214 (grub_pxefs_open): Likewise, for consistency.
11215 Reported and tested by: Ezekiel Grave.
11216
4ebff753
CW
112172011-05-03 Colin Watson <cjwatson@ubuntu.com>
11218
11219 * tests/partmap_test.in: Don't hardcode path to parted.
11220 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
11221
8f942553
CW
112222011-05-01 Colin Watson <cjwatson@ubuntu.com>
11223
11224 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
11225 of `ls' to find out which devices are available.
11226
3c62402d
VS
112272011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11228
11229 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
11230 than source address for efi mmap buffer.
11231
723f63f2
VS
112322011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11233
11234 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
11235 wrong action on non-detecting the magic.
11236
68797f92
VS
112372011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11238
11239 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
11240 already supplied by another part of the module (fixes compilation on
11241 FreeBSD).
11242
6be8715d
VS
112432011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11244
11245 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
11246 match the one used by mdadm.
11247
e91dba5b
CW
112482011-04-21 Colin Watson <cjwatson@ubuntu.com>
11249
11250 * po/README: Add instructions for creating po/LINGUAS.
11251
c85140b3
CW
112522011-04-21 Colin Watson <cjwatson@ubuntu.com>
11253
11254 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
11255 #551428.
11256
11257 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
11258 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
11259 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
11260 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
11261 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
11262 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
11263 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
11264 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
11265 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
11266 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
11267 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
11268 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
11269 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
11270 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
11271 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
11272 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
11273 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
11274 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
11275 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
11276 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
11277 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
11278 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
11279
92051871
CW
112802011-04-21 Colin Watson <cjwatson@ubuntu.com>
11281
11282 * grub-core/kern/emu/getroot.c
11283 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
11284 test that was incorrectly reintroduced in r3214.
11285 Reported by: Ian Dall. Fixes Savannah bug #33133.
11286
b13f79a4
CW
112872011-04-21 Colin Watson <cjwatson@ubuntu.com>
11288
11289 Fix stack pointer handling in 16-bit relocator.
11290
11291 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
11292 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
11293 Fixes Ubuntu bug #683904.
11294
9b710a88
VS
112952011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11296
11297 * configure.ac: Bump version to 1.99~rc2.
11298
d97e7b59
VS
112992011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11300
11301 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
11302 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
11303 * grub-core/lib/x86_64/setjmp.S: Likewise.
11304 * grub-core/lib/mips/setjmp.S: Likewise.
11305 * grub-core/lib/powerpc/setjmp.S: Likewise.
11306 * grub-core/lib/sparc64/setjmp.S: Likewise.
11307
0624551c
VS
113082011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11309
11310 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
11311 * grub-core/lib/efi/datetime.c: Likewise.
11312
e8f28d4c
VS
113132011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11314
11315 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
11316 New function.
11317 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
11318 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
11319 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
11320
bba79a15
VS
113212011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11322
11323 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
11324 bitmap.
11325 (grub_gfxterm_term_init): Likewise.
11326
abc474ef
VS
113272011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11328
11329 Take into account the decorations the computing menu entry width.
11330
11331 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
11332 (grub_gfxmenu_create_box): Register get_border_width.
11333 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
11334 if available.
11335 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
11336 get_border_width.
11337
e74b3947
EP
113382011-04-18 Endres Puschner <code@e7p.de>
11339
11340 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
11341 Don't skip first class.
11342
34faa595
VS
113432011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11344
11345 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
11346 chunks.
11347 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
11348
93a777e3
VS
113492011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11350
11351 Complete 64-bit division support.
11352
11353 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
11354 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
11355 * include/grub/misc.h (grub_divmod64): Rename to ...
11356 (grub_divmod64_full): ... this.
11357 (grub_divmod64): New inline function.
11358
a5102d94
VS
113592011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11360
11361 * util/grub-mkimage.c (generate_image): Add forgotten comma.
11362
f3fb7b36
VS
113632011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11364
11365 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
11366 performing the necessary test.
11367
9ac718b0
VS
113682011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11369
11370 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
11371 (kfreebsd.elf): Likewise.
11372 (pc-chainloader.elf): Likewise.
11373 (ntldr.elf): Likewise.
11374
50d2cc5a
VS
113752011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11376
11377 Identify RAID by its UUID rather than (guessed) name.
11378
11379 * grub-core/disk/raid.c (ascii2hex): New function.
11380 (grub_raid_open): Accept mduuid/%s specification.
11381 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
11382 (get_mdadm_uuid): ... this.
11383 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
11384
e03f7bea
VS
113852011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
11386
11387 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
11388 to negative size.
11389
e74c3112
CW
113902011-04-13 Colin Watson <cjwatson@ubuntu.com>
11391
11392 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
11393 btrfs subvolume.
11394 * util/grub.d/20_linux_xen.in: Likewise.
11395
78fa584f
CW
113962011-04-13 Colin Watson <cjwatson@ubuntu.com>
11397
11398 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
11399 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
11400
11401 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
11402 Build a list of relevant visible mounts using the mnt_id and
11403 parent_mnt_id fields, and then scan that list at the end.
11404
9d5f8162
CW
114052011-04-12 Colin Watson <cjwatson@ubuntu.com>
11406
11407 * docs/grub.texi (normal): New section.
11408 (normal_exit): New section.
11409 (Embedded configuration): Add reference to normal.
11410 (GRUB only offers a rescue shell): Likewise.
11411 * docs/grub-dev.texi (Error Handling): Fix typo.
11412
09a9d66f
CW
114132011-04-12 Colin Watson <cjwatson@ubuntu.com>
11414
11415 * NEWS: Drop obsolete entry about probe-only btrfs support.
11416
0c676933
CW
114172011-04-12 Colin Watson <cjwatson@ubuntu.com>
11418
11419 * util/import_gcry.py: Fix typo.
11420
ec9f5e0d
VS
114212011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11422
11423 * NEWS: Add btrfs support.
11424
fe6b2cba
VS
114252011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
114262011-04-11 Colin Watson <cjwatson@ubuntu.com>
11427
11428 BtrFS support. Written by me (Vladimir) with important bugfixes and
11429 even more important testing by Colin.
11430
11431 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
11432 * grub-core/Makefile.core.def (btrfs): Add crc.c.
11433 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
11434 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
11435 mem_input_off and mem_input. All users updated to accept in-RAM input.
11436 (gzio_seek): New function.
11437 (test_zlib_header): Likewise.
11438 (grub_gzio_read): Likewise.
11439 (grub_zlib_decompress): Likewise.
11440 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
11441 Accept partial and non-virtual mounts.
11442 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
11443 avoid receiving /dev/dm-X as device.
11444 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
11445 Handle bind and partial mounts.
11446 * grub-core/lib/crc.c: New file.
11447 * include/grub/deflate.h: Likewise.
11448 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
11449 proto.
11450 * include/grub/lib/crc.h: New file.
11451
e745cf0c
VS
114522011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11453
11454 Implement automatic module license checking according to new GNU
11455 guidelines.
11456
11457 * grub-core/kern/dl.c (grub_dl_check_license): New function.
11458 (grub_dl_load_core): Use grub_dl_check_license.
11459 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
11460 (GRUB_MOD_LICENSE): Likewise.
11461 (GRUB_MOD_DUAL_LICENSE): Likewise.
11462 All modules updated.
11463
2a9bc016
CW
114642011-04-11 Colin Watson <cjwatson@ubuntu.com>
11465
11466 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
11467 reserved_first_sector to 1. btrfs reserves plenty of space for boot
11468 loaders.
11469 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
11470
8a3bc88e
VS
114712011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11472
11473 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
11474
af869a4a
VS
114752011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11476
11477 * util/grub-fstest.c (read_file): Report GRUB error if file opening
11478 failed.
11479
9ee8d94f
VS
114802011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11481
11482 * grub-core/kern/file.c (grub_file_open): Don't take into account the
11483 parenthesis in the middle of the filename.
11484
b01abe3e
VS
114852011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11486
11487 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
11488 rather than trying to put initrd way too high.
11489 Reported by: Ryan Lortie <desrt@desrt.ca>
11490
335bda1e
VS
114912011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11492
11493 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
11494 improperly removed string.
11495
5ca1a64d
VS
114962011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11497
11498 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
11499 is_disk.
11500 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
11501 (open_device) Likewise.
11502 (grub_util_biosdisk_close): Likewise.
d8ce9995 11503 Reported by: Mark Korenberg.
5ca1a64d 11504
cbac5b1e
AK
115052011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
11506
11507 * util/grub-mkconfig_lib.in: Add missing quotes.
11508
088cdb65
CW
115092011-04-10 Colin Watson <cjwatson@ubuntu.com>
11510
11511 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
11512 is NULL.
11513
8b8a81fa
VS
115142011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11515
11516 Dynamically count the number of lines for the lower banner.
11517
11518 * grub-core/normal/menu_entry.c (per_term_screen): New member
11519 num_entries.
11520 (print_down): Use num_entries.
11521 (update_screen): Likewise.
11522 (grub_menu_entry_run): Set num_entries.
11523 * grub-core/normal/menu_text.c (menu_viewer_data): New member
11524 num_entries.
11525 (grub_print_message_indented): Move real part to ...
11526 (grub_print_message_indented_real): ... here. Additional argument
11527 dry_run.
11528 (draw_border): Additional argument num_entries.
11529 (print_message): Additional argument dry_run.
11530 (print_entries): Receive menu viewer data.
11531 (grub_menu_init_page): New argment num_entries.
11532 (menu_text_set_chosen_entry): Use num_entries.
11533 (grub_menu_try_text): Likewise.
11534 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
11535 All users updated.
11536 (grub_ucs4_count_lines): New function.
11537 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
11538 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
11539 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
11540 (grub_term_border_height): Likewise.
11541 (grub_term_num_entries): Likewise.
11542
277f955b
VS
115432011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11544
11545 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
11546 Remove now unused string.
11547
536ce85a
CW
115482011-04-09 Colin Watson <cjwatson@ubuntu.com>
11549
11550 * docs/grub-dev.texi (Finding your way around): Update for 1.99
11551 build system.
11552 (Getting started): GRUB is developed in Bazaar now, not Subversion.
11553
11554 (Comment): Fix typo.
11555 (Getting started): General copy-editing.
11556 (Typical Development Experience): Likewise.
11557 (Error Handling): Likewise.
11558 (Video API): Likewise.
11559
2cf09e32
CW
115602011-04-09 Colin Watson <cjwatson@ubuntu.com>
11561
11562 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
11563 throughout.
11564
1ec652f4
VS
115652011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11566
11567 * util/grub-mkimage.c (main): Handle special naming of yeeloong
11568 directory.
11569
2c583728
CW
115702011-04-08 Colin Watson <cjwatson@ubuntu.com>
11571
11572 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
11573 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
11574 "development".
11575
d7a565e9
VS
115762011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11577
11578 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
11579 grub_strcpy since the lines aren't necessarily 0-terminated.
11580
7c2e4909
VS
115812011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11582
11583 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
11584 root on legacy.
11585
34c09785
VS
115862011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11587
11588 * grub-core/commands/probe.c (options): Argument to set isn't optional.
11589 (GRUB_MOD_INIT): DEVICE isn't optional.
11590
6a6f8058
VS
115912011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11592
11593 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
11594 word on new line if it's too long anyway. Fixes a hang.
11595
2e335e90
VS
115962011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11597
11598 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
11599 const.
11600 * util/grub-setup.c (main): Reuse md device name if available.
11601 * util/raid.c (grub_util_raid_getmembers): Receive device name and
11602 not GRUB name as argument.
11603 Based on patch by: Florian Wagner <fwagner>.
11604
10a7a867
VS
116052011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11606
11607 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
11608 Place mbi on low memory for better compatibility.
11609
7a3d6cd9
VS
116102011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11611
11612 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
11613
18dd6b47
VS
116142011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
116152011-04-08 Colin Watson <cjwatson@ubuntu.com>
11616
11617 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 11618 * conf/Makefile.common: Likewise.
18dd6b47 11619
3c0e3f14
VS
116202011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11621
f7148863
VS
11622 * grub-core/normal/menu.c: Add missing include.
11623
116242011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11625
11626 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 11627
6d1fa41f
MZ
116282011-04-08 Martin Zuther <mzuther@mzuther.de>
11629
11630 * util/grub-mkconfig.in: Ignore emacsen backup.
11631
478182a8
VS
116322011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11633
11634 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
11635 on open.
11636 (grub_util_biosdisk_close): Likewise.
11637
72a89a54
VS
116382011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11639
11640 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
11641 const attribute and use grub_isdigit.
11642
b5ebecfa
A
116432011-04-06 Andrey <dev_null@ukr.net>
11644
11645 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
11646 gcc warning.
11647
7755f66e
VS
116482011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11649
11650 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
11651 useful grub_dprintf's.
11652
461121ff
VS
116532011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11654
11655 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
11656
2a961775
VS
116572011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11658
11659 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
11660
adf594cc
VS
116612011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11662
11663 Output errors if theme loading failed.
11664
11665 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
11666 grub_gfxterm_fullscreen on error paths to ...
11667 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
11668 theme loading error.
11669
665900a3
VS
116702011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11671
11672 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
11673 space for older compilers.
11674 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
11675
a562b479
VS
116762011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11677
11678 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
11679 and report them as not RAID members since they are useless for GRUB.
11680 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11681
850e9373
VS
116822011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11683
11684 Increase LVM implementation robustness in order not to crash on
11685 configurations like pvmove. Previously code assumed that in some places
11686 only lvs or only pvs are used whereas it seems that they are used
11687 interchangeably.
11688
11689 * grub-core/disk/lvm.c (read_node): New function.
11690 (read_lv): Use read_node.
11691 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
11692 Match volumes only at the end when all lvs are found. Take both
11693 pvs (first) and lvs (second) into account.
11694 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
11695 mirror_* into node_*. All users updated.
11696 (grub_lvm_stripe): Merge this ...
11697 (grub_lvm_mirror): ... and this ...
11698 (grub_lvm_node): ... into this. All users updated.
11699
6f332153
VS
117002011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11701
11702 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
11703 of function to allow further scanning for LVMs.
11704
829ea451
VS
117052011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11706
11707 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
11708 on failed seek as it breaks open fd reusage.
11709
09ceb9a5
VS
117102011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11711
11712 * util/grub-install.in: Add a recommendation to use --recheck before
11713 reporting bugs.
11714
67e11623
VS
117152011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11716
11717 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
11718 are obtained.
11719
caee5efd
VS
117202011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11721
11722 GRUB developper manual based on existing Internals section and
11723 contributions by the various authors with active copyright assignment.
11724
11725 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
11726 * docs/font_char_metrics.png: New file.
11727 * docs/font_char_metrics.txt: Likewise.
11728 * docs/grub-dev.texi: Likewise.
11729 * docs/grub.texi (Internals): Move from here ...
11730 * docs/grub-dev.texi: ... here.
11731
2cccc747
CW
117322011-04-01 Colin Watson <cjwatson@ubuntu.com>
11733
11734 Store the loopback device as data on loopback grub_disk structures,
11735 rather than the file it points to. This fixes use of freed memory
11736 if an existing loopback device is replaced.
11737
11738 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
11739 disk->data, not dev->file.
11740 (grub_loopback_read): Adjust file assignment to match.
11741 Fixes Ubuntu bug #742967.
11742
186ae367
CW
117432011-04-01 Colin Watson <cjwatson@ubuntu.com>
11744
11745 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
11746 when replacing an existing device.
11747
cfed2ad0
VS
117482011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11749
11750 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
11751 memory corruptions.
11752
11753 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
11754 unsigned.
11755 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
11756 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
11757 (grub_jfs_read_inode): Likewise.
11758 (grub_jfs_opendir): Likewise. Remove now useless casts.
11759 (grub_jfs_getent): Likewise.
11760 Make ino a grub_uint32_t rather than int.
11761 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
11762 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
11763 division and module with bit operations.
11764 (grub_jfs_find_file): Make ino a grub_uint32_t.
11765 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
11766
05d2ed32
CW
117672011-04-01 Colin Watson <cjwatson@ubuntu.com>
11768
11769 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
11770 warning. (This was in fact always initialised before use, but GCC
11771 wasn't smart enough to prove that.)
11772 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
11773
91dc6073
VS
117742011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11775
11776 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
11777 stack alignment.
11778 (efi_wrap_1): Likewise.
11779 (efi_wrap_2): Likewise.
11780 (efi_wrap_3): Likewise.
11781 (efi_wrap_4): Likewise.
11782 (efi_wrap_5): Likewise.
11783 (efi_wrap_6): Likewise.
11784 (efi_wrap_10): Likewise.
11785 Based on information by: Red Hat/Peter Jones.
11786
a8afc1d1
CW
117872011-03-31 Colin Watson <cjwatson@ubuntu.com>
11788
11789 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
11790 set-but-not-used variable.
11791
a826cc7d
CW
117922011-03-31 Colin Watson <cjwatson@ubuntu.com>
11793
11794 * docs/grub.texi (Simple configuration): Be more explicit about
11795 GRUB_DEFAULT, and add an example.
11796 Reported by: Leslie Rhorer.
11797
875b67ba
CW
117982011-03-30 Colin Watson <cjwatson@ubuntu.com>
11799
11800 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
11801 shell".
11802
fd7cd914
AS
118032011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
11804
11805 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
11806 * util/grub.d/20_linux_xen.in: Likewise.
11807
090b1b6a
VS
118082011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11809
11810 * util/grub.d/10_linux.in: Try alternative config filenames where
11811 we parse config file.
11812 * util/grub.d/20_linux_xen.in: Likewise.
11813
baad885c
AS
118142011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
11815
11816 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
11817 * util/grub.d/20_linux_xen.in: Likewise.
11818
241e41f5
VS
118192011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11820
11821 * grub-core/disk/raid.c (insert_array): Add few potentially
11822 useful grub_util_info.
11823 (grub_raid_register): Likewise.
11824
56445fb2
VS
118252011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11826
11827 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
11828 Preserve partition number in mdadm code path.
11829
c871b1c6
VS
118302011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11831
11832 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
11833 few potentially useful grub_util_info.
11834
5e631b4f
CW
118352011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11836
11837 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
11838
2d5d0333
CW
118392011-03-30 Colin Watson <cjwatson@ubuntu.com>
11840
11841 * docs/grub.texi (default): Use @example rather than nested
11842 itemized lists to avoid breaking gendocs.
11843
3d7ed04e
CW
118442011-03-30 Colin Watson <cjwatson@ubuntu.com>
11845
11846 * docs/grub.texi (Future): Update.
11847
abf04200 118482011-03-30 Colin Watson <cjwatson@ubuntu.com>
11849
11850 * docs/grub.texi (Environment): New chapter.
11851 (Changes from GRUB Legacy): Link to "Environment block" section for
11852 details of limitations.
11853 (Simple configuration): Likewise. Link to documentation of gfxmode
11854 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
11855 respectively.
11856 (Shell-like scripting): Note that normal variables are stored in the
11857 environment.
11858 (gettext): Link to documentation of lang and locale_dir.
11859 (list_env): New section.
11860 (load_env): New section.
11861 (save_env): New section.
11862
11863 (Reporting bugs): Fix typo.
11864
e1ad0edd
VS
118652011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11866
11867 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
11868 the example.
11869
5d803174
VS
118702011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11871
11872 * grub-core/term/at_keyboard.c (set_scancodes)
11873 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
11874
2a2da1d0
CW
118752011-03-30 Colin Watson <cjwatson@ubuntu.com>
11876
11877 * docs/grub.texi (Menu-specific commands): Remove some semantics
11878 that were true in GRUB Legacy but not in GRUB 2.
11879 (submenu): New section.
11880 (false): New section.
11881 (read): New section.
11882 (true): New section.
11883
a7527639
CW
118842011-03-30 Colin Watson <cjwatson@ubuntu.com>
11885
11886 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
11887
118882011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
11889
11890 * docs/grub.texi (Simple configuration): Explain some of the
11891 current limitations of grub-mkconfig.
8a748df2 11892 Reported by: Leslie Rhorer.
e30af029 11893
fc858482
VS
118942011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11895
11896 Old macs search for boot.efi rather than for bootia32.efi.
11897
11898 * util/grub-install.in: Copy bootia32.efi to boot.efi.
11899 * util/grub-mkrescue.in: Likewise.
11900 Suggested by: Peter Jones.
11901
e1eb511d
VS
119022011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11903
11904 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
11905
70e75364
VS
119062011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11907
11908 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
11909 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
11910 (grub_lvm_mirror): New struct.
11911 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
11912 (grub_lvm_iterate): Iterate only visible volumes.
11913 (grub_lvm_read): Factor out to ..
11914 (read_lv): ... this. Support mirrors.
11915 (grub_lvm_read): New wrapper function.
11916 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
11917 stripped or mirrored.
11918
fc18f6a3
VS
119192011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11920
11921 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
11922
5c650f4c
CW
119232011-03-29 Colin Watson <cjwatson@ubuntu.com>
11924
11925 * docs/grub.texi (loopback): New section.
11926
61d7156b
CW
119272011-03-29 Colin Watson <cjwatson@ubuntu.com>
11928
11929 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
11930 removed -p option.
11931
994b8264
CW
119322011-03-29 Colin Watson <cjwatson@ubuntu.com>
11933
11934 * docs/grub.texi (BIOS installation): New section, partly based on
11935 previous text in other sections.
11936 (Installing GRUB using grub-install): Replace BIOS discussion with a
11937 cross-reference.
11938 (Images): Likewise.
11939
9e4d19e0
VS
119402011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11941
11942 * grub-core/kern/emu/hostdisk.c (find_partition_start)
11943 [HAVE_DIOCGDINFO]: Add safety checks.
11944
a307c0b2
VS
119452011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11946
11947 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
11948 per default compiled in kernel and prior to 8.0 isn't shipped at all.
11949
b4db4f39
CW
119502011-03-29 Colin Watson <cjwatson@ubuntu.com>
11951
11952 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
11953 real_sb->size is zero (e.g. RAID-0), get the disk size from
11954 real_sb->data_size instead.
11955 Fixes Ubuntu bug #743136.
11956
35e5f84c
VS
119572011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11958
11959 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
11960 printf clauses for printing size and start.
11961
d2e29d81
VS
119622011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11963
11964 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
11965 Reported and tested by: Timothy Nikkel.
11966
ed5587af
VS
119672011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11968
11969 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
11970 (dirty_region_add_real): ... this.
11971 (dirty_region_add): Don't discard margin refresh when performing
11972 scheduled repaint.
11973
a1dc717c
VS
119742011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11975
11976 * grub-core/lib/relocator.c (allocate_regstart)
11977 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
11978 terminals are capabple of malloc-free operation.
11979 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
11980 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
11981
9f3677d3
VS
119822011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
11983
11984 * util/grub-setup.c: Copy the partition table zone if floppy support
11985 is disabled, even if no partition table is found.
11986
11987 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
11988 during POST if an invalid partition table is contained in the PBR
11989 of the active partition when GRUB is installed to a partition.
11990
24148725
CW
119912011-03-28 Colin Watson <cjwatson@debian.org>
11992
11993 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
11994 comment.
11995
f329eda7
CW
119962011-03-28 Colin Watson <cjwatson@debian.org>
11997
11998 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
11999 to be specific about what kind of RAID device we're scanning for.
12000
c482ad98
SG
120012011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
12002
12003 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
12004 return freed string.
12005
5ee04984
VS
120062011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12007
12008 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
12009
f4727da9
VS
120102011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12011
12012 Use libgeom on FreeBSD to detect partitions.
12013
12014 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
12015 (grub-mkrelpath): Likewise.
12016 (grub-script-check): Likewise.
12017 (grub-editenv): Likewise.
12018 (grub-mkpasswd-pbkdf2): Likewise.
12019 (grub-fstest): Likewise.
12020 (grub-mkfont): Likewise.
12021 (grub-mkdevicemap): Likewise.
12022 (grub-probe): Likewise.
12023 (grub-setup): Likewise.
12024 (grub-ofpathname): Likewise.
12025 (grub-mklayout): Likewise.
12026 (example_unit_test): Likewise.
12027 (grub-menulst2cfg): Likewise.
12028 * grub-core/Makefile.core.def (grub-emu): Likewise.
12029 (grub-emu-lite): Likewise.
12030 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
12031 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
12032 define HAVE_DIOCGDINFO.
12033 (follow_geom_up) [FreeBSD]: New function.
12034 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
12035 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
12036 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
12037 unconditionally of HAVE_DIOCGDINFO.
12038
82fe6c75
VS
120392011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12040
12041 Fix FreeBSD compilation problem.
12042
12043 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
12044 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
12045
4c6c9431
CW
120462011-03-24 Colin Watson <cjwatson@ubuntu.com>
12047
12048 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
12049 Switch back to page zero before loading a kernel, since some kernel
12050 drivers expect that.
12051 Thanks to: Felix Kuehling.
12052
c7064d94
VS
120532011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12054
12055 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
12056 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
12057 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
12058
3f71cded
VS
120592011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12060
12061 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
12062 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
12063
ef6de21a
VS
120642011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12065
12066 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
12067 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
12068 malloc is disabled.
12069
8bc66a2c
VS
120702011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12071
12072 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
12073 for modules headers when counting the needed allocation size.
12074
5657722c
VS
120752011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12076
12077 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
12078 if no ASCII character is found to prevent crash.
12079
41a85f55
AK
120802011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
12081
12082 * grub-core/video/bitmap.c (match_extension): Ignore case.
12083
59e1e5f1
VS
120842011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12085
12086 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
12087
bd4d051a
VS
120882011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12089
12090 * grub-core/script/parser.y: Declare "time" as valid argument.
12091
bae7fcc1
PJ
120922011-03-23 Peter Jones <pjones@redhat.com>
12093
12094 Fix incorrect assert failure reporting.
12095
12096 * grub-core/tests/example_functional_test.c (example_test): Add
12097 a failure comment.
12098 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
12099 (failure_start): ...this. Check that malloc succeeded.
12100 Don't call xvasprintf. Return failure struct.
12101 (failure_append_vtext): New function.
12102 (failure_append_text): Likewise.
12103 (add_failure): Likewise.
12104 (grub_test_assert_helper): Likewise.
12105 * include/grub/test.h (grub_test_assert_helper): New declaration.
12106 (grub_test_assert): Macro rewritten.
12107
537dc9be
VS
121082011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12109
12110 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
12111
fa3e01bf
VS
121122011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12113
12114 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
12115
b1d28404
VS
121162011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12117
12118 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
12119 into GRUB-style one.
12120
2e3e2e09
VS
121212011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12122
12123 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
12124 error and not grub_errno.
12125 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
12126
ed57e557
VS
121272011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12128
12129 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
12130 GRUB_USB_SPEED_NONE in case of failure and not the error code.
12131
d1611f01
VS
121322011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12133
12134 * grub-core/efiemu/i386/pc/cfgtables.c
12135 (grub_machine_efiemu_init_tables): Make declaration a prototype.
12136 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
12137 (grub_xnu_unlock): Likewise.
12138 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
12139
7d4e39d6
VS
121402011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12141
12142 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
12143 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
12144 * grub-core/commands/hashsum.c (aliases): Likewise.
12145 * grub-core/commands/setpci.c (pci_registers): Likewise.
12146 * grub-core/disk/usbms.c (attach_hook): Likewise.
12147 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
12148 (zio_checksum_table): Likewise.
12149 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
12150 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
12151 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
12152 * grub-core/lib/relocator.c (leftovers): Likewise.
12153 (extra_blocks): Likewise.
12154 * grub-core/loader/i386/bsd.c (relocator): Likewise.
12155 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
12156 (modules_last): Likewise.
12157 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
12158 (devices): Likewise.
12159 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
12160 (modules_last): Likewise.
12161 * grub-core/normal/auth.c (users): Likewise.
12162 * grub-core/normal/context.c (initial_menu): Likewise.
12163 (current_menu): Likewise.
12164 * grub-core/normal/crypto.c (crypto_specs): Likewise.
12165 * grub-core/term/serial.c (grub_serial_ports): Likewise.
12166 (grub_serial_terminfo_input_template): Likewise.
12167 (grub_serial_terminfo_output_template): Likewise.
12168 (grub_serial_terminfo_input): Likewise.
12169 (grub_serial_terminfo_output): Likewise.
12170 (registered): Likewise.
12171 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
12172
40fc4659
VS
121732011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12174
12175 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
12176 grub_video_mode_type_t.
12177 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
12178 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
12179 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
12180
2da48d28
VS
121812011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12182
12183 * util/grub-install.in: Correct the x86-64 name as x86_64.
12184
9b43bf39
CW
121852011-03-11 Colin Watson <cjwatson@ubuntu.com>
12186
12187 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
12188 initial chunk read from the kernel always includes GRUB's multiboot
12189 header, which is now outside the first sector.
12190
be1a7ce0
CW
121912011-03-09 Colin Watson <cjwatson@ubuntu.com>
12192
12193 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
12194 cached mmap_size, so that this works correctly when called multiple
12195 times.
12196 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
12197
83a3c48d
CW
121982011-03-09 Colin Watson <cjwatson@ubuntu.com>
12199
12200 * docs/grub.texi (Simple configuration): Tidy up formatting.
12201
57d75699
SJ
122022011-03-07 Szymon Janc <szymon@janc.net.pl>
12203
12204 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
12205 Set-but-not-used variable removed.
12206
028501a0
VS
122072011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12208
12209 Workaround yet another IEEE1275 bug.
12210
12211 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
12212 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
12213 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
12214 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
12215 is set.
12216 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12217 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
12218
d998657d
VS
122192011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12220
12221 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
12222 error.
12223
fee7cdd4
CW
122242011-02-11 Colin Watson <cjwatson@ubuntu.com>
12225
12226 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
12227 empty, since in that case we can only generate either nothing or a
12228 syntactically invalid configuration file.
12229 Reported by: Michal Suchanek. Fixes Debian bug #612898.
12230
97286eb5
CW
122312011-02-09 Colin Watson <cjwatson@ubuntu.com>
12232
12233 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
12234 (Making a GRUB bootable CD-ROM): Likewise.
12235 (Invoking grub-mkrescue): New section.
12236 Reported by: Yann Dirson. Fixes Debian bug #612585.
12237
22b28eb3
CW
122382011-02-09 Colin Watson <cjwatson@ubuntu.com>
12239
12240 * util/grub-install.in: Remove unnecessary brackets from tr
12241 arguments.
12242 * util/grub.d/10_hurd.in: Likewise.
12243 * util/grub.d/10_kfreebsd.in: Likewise.
12244 * util/grub.d/10_linux.in: Likewise.
12245 * util/grub.d/20_linux_xen.in: Likewise.
12246 Reported by: Jamie Heilman. Fixes Debian bug #612564.
12247
7e735e43
CW
122482011-02-08 Colin Watson <cjwatson@ubuntu.com>
12249
12250 * include/grub/file.h (not_easly_seekable): Rename to ...
12251 (not_easily_seekable): ... this. Update all users.
12252
800f1881
CW
122532011-01-28 Colin Watson <cjwatson@ubuntu.com>
12254
12255 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
12256 grub-mkrescue.
12257
3281d3d6
VS
122582011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12259
12260 * util/grub-mkimage.c (generate_image): Refuse to create the images
12261 bigger than the actual flash (512K) in Loongson machines. 512K is also
12262 the biggest chip supported by them.
12263
3533413c
VS
122642011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12265
12266 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
12267
73ae4f4f
VS
122682011-01-22 Anthony DeRobertis <anthony@derobert.net>
12269
12270 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
12271 super_offset field.
12272
37f4f608
VS
122732011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12274
12275 * util/grub-install.in: Ignore install device on platforms
12276 where it doesn't make sense. Always use UUIDs except on pc, efi and
12277 sparc64.
12278 Reported by: Daniel Kahn Gillmor.
12279
03a4ccb5
VS
122802011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12281
12282 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
12283
ffc8f4d8
VS
122842011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12285
12286 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
12287 (iterate_real): Don't rely on partition being non-NULL.
12288
80f23be7
VS
122892011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12290
12291 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
12292 supported platforms. Put a compile time assert for this rather than
12293 generate a warning with 32-bit shift.
12294
5d4f4dd5
VS
122952011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12296
12297 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
12298 logical expression more readable.
12299
e489601a
VS
123002011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12301
12302 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
12303 even if some elements have a name.
12304 Reported by: Alexander GQ Gerasiov.
12305
96e0a6ea
CW
123062011-01-22 Colin Watson <cjwatson@ubuntu.com>
12307
12308 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
12309 path unreadable if `grub-probe -t abstraction' fails, for example if
12310 memberlist fails on an LVM volume group.
12311 Reported by: Darius Jahandarie.
12312
81431e2b
CW
123132011-01-22 Colin Watson <cjwatson@ubuntu.com>
12314
12315 * docs/grub.texi (Simple configuration): Document
12316 GRUB_PRELOAD_MODULES.
12317
5e79d66a
CW
123182011-01-17 Colin Watson <cjwatson@ubuntu.com>
12319
12320 * .bzrignore: Remove nonexistent grub-pbkdf2.
12321
646ada34
VS
123222011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
12323
12324 * configure.ac: Bump version to 1.99~rc1.
12325
04360337
VS
123262011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
12327
12328 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
12329 for safety.
12330
46c9db88
VS
123312011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12332
12333 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
12334 module.
12335
123362011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
12337
12338 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
12339
4fbf1852
VS
123402011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12341
12342 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
12343 diskdevid.
12344
f1632d4d
VS
123452011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12346
12347 Fix compilation on cygwin.
12348
12349 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
12350 -R .drectve on cygwin.
12351 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
12352 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
12353 (COND_CYGWIN): New condition.
12354 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
12355 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
12356 not @TARGET_OBJ2ELF@.
12357 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
12358 type to determine whether aux is to be used.
12359
0b5e127b
VS
123602011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12361
12362 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
12363 realpath'ed device string.
12364 Handle floppy (somewhat).
12365 Issue error in unknown case rather than garbage.
12366 Reported by: Axel Beckert.
12367
173b71e9
VS
123682011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12369
12370 * util/grub.d/00_header.in (load_video): Handle the case when no video
12371 drivers available.
12372 Thanks to: Axel Beckert.
12373
f8f479db
VS
123742011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12375
12376 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
12377 variable. Fixes problem on big endian platforms.
12378
8fc0a245
VS
123792011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12380
12381 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
12382 It doesn't work well there.
12383
b8494fbe
VS
123842011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12385
12386 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
12387 warning.
12388 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
12389 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
12390 counter.
12391
b44a558c
VS
123922011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12393
12394 Use alias->path rather than buggy "canon".
12395
12396 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
12397 (ofdisk_hash_add): New argument curcan. All users updated.
12398
51fa856c
CW
123992011-01-11 Colin Watson <cjwatson@ubuntu.com>
12400
12401 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
12402
9da068a5
VS
124032011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12404
12405 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
12406 loadmask before doing any calculations. Use correct type for offset.
12407 (grub_linux_load64): Likewise.
12408
86205c94
CW
124092011-01-11 Colin Watson <cjwatson@ubuntu.com>
12410
12411 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
12412 with NULL.
12413 (console_grub_equivalences_unshift): Likewise.
12414 Reported by: Daniel Dehennin.
12415
4531a206
VS
124162011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12417
12418 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
12419 (set_env_limn_ro): Likewise.
12420 (GRUB_MOD_INIT): Likewise.
12421 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
12422 ARRAY_SIZE while on it.
12423 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
12424 * grub-core/normal/context.c (grub_env_export): Move from here ...
12425 * grub-core/kern/env.c (grub_env_export): ... here.
12426 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
12427 prefix.
12428 * grub-core/kern/main.c (grub_main): Export root and prefix.
12429 * include/grub/env.h (grub_env_export): Export.
12430 Reported by: Seth Goldberg.
12431
45146057
VS
124322011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12433
12434 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12435 Take into account space used by ELF sections and multiboot palette.
12436 Reported by: Grégoire Sutre.
12437
f093110b
VS
124382011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12439
12440 * BUGS: New file.
12441
3395fe52
VS
124422011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12443
12444 Pass more appropriate video id to Linux.
12445
12446 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
12447 grub_video_get_driver_id and variable gfxpayloadforcelfb to
12448 fill have_vga.
12449 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
12450 shift params->lfb_size.
12451 * include/grub/i386/linux.h: Make an enume out of have_vga values.
12452
c2fa6cbb
VS
124532011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12454
12455 * util/grub-menulst2cfg.c: Add missing include of misc.h.
12456
b3ff6ff0
VS
124572011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12458
12459 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
12460 separator and pass bootpath/devid even if only one of them is available.
12461 Reported by: Seth Goldberg.
12462
ae67942e
VS
124632011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12464
12465 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
12466 implementations bug on them.
12467
12468 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
12469 memory.
12470 (filter_memory_map): Likewise.
12471
d570097a
VS
124722011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12473
12474 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
12475 Reported by: nebuchadnezzar.
12476
a508e776
VS
124772011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12478
12479 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
12480 Reported by: nebuchadnezzar.
12481
dcb883b1
VS
124822011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12483
12484 Submenu default support.
12485
12486 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
12487 auto_boot. All users updated.
12488 Declared static.
12489 Handle chosen and default with submenus.
12490 (grub_menu_execute_with_fallback): Declared static.
12491 Don't notify failure if autobooted. Upper level does it.
12492 (menuentry_eq): New function.
12493 (get_entry_number): Use menuentry_eq.
12494 (show_menu): New parameter "autobooted". All users updated.
12495 (grub_show_menu): Likewise.
12496 * include/grub/normal.h (grub_show_menu): Likewise.
12497 * include/grub/menu.h (grub_menu_execute_entry): Removed.
12498 (grub_menu_execute_with_fallback): Likewise.
12499
6fef99b4
VS
125002011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12501
12502 * util/grub-mklayout.c (usage): Update help text.
12503
47a77af5
VS
125042011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12505
12506 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
12507
ce6bb3ee
VS
125082011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12509
12510 * util/grub-menulst2cfg.c (main): Trim the line.
12511
db87be2a
VS
125122011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12513
12514 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
12515 (grub_machine_init): Don't check amount of low memory as reportedly
12516 INT 12h can be broken and if low memory is too low we wouldn't have
12517 gotten into grub_machine_init anyway.
12518
c49849cc
VS
125192011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12520
12521 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
12522 (grub_machine_mmap_iterate): Take low memory into account
12523
b1969b30
VS
125242011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12525
12526 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
12527 badfs.
12528 Reported by: TiCPU.
12529
cf0eaf13
VS
125302011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12531
12532 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
12533 members errors.
12534
1f060f39
GS
125352011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
12536
12537 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
12538 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
12539
a21e5672
GS
125402011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
12541
12542 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
12543 openbsd and netbsd types being in part_bsd module.
12544
c88172fa
VS
125452011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12546
12547 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
12548 (_FILE_OFFSET_BITS): Likewise.
12549 Reported by: Seth Goldberg.
12550
53798c4b
GS
125512011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
12552
12553 * configure.ac: Check for libdevmapper header.
12554
e7121b69
VS
125552011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12556
12557 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
12558 avoid aliasing.
12559 (fzap_lookup): Likewise.
12560 (dnode_get): Likewise.
12561 (make_mdn): Likewise.
12562 (zfs_mount): Likewise.
12563 (fzap_iterate): Use temporary pointer to avoid aliasing.
12564 (grub_zfs_read): Likewise.
12565 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
12566 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
12567 pointers to avoid aliasing.
12568 (grub_cmd_xnu_kernel64): Likewise.
12569 (grub_xnu_load_driver): Likewise.
12570
fc836af9
VS
125712011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12572
12573 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
12574 aliasing warning.
12575 (grub_cmd_terminal_output): Likewise.
12576 Reported and tested by: Grégoire Sutre.
12577
f9f37648
VS
125782011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12579
12580 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
12581 warning.
12582 Reported and tested by: Grégoire Sutre.
12583
ec1dfd63
VS
125842011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12585
12586 * configure.ac: Do CPU substitution even if it's specified explicitly.
12587 Reported and tested by: Alain Greppin.
12588
9462775a
VS
125892011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12590
12591 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
12592 Reported and tested by: Alain Greppin.
12593
0fd48e35
VS
125942011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12595
12596 Satisfy some bison versions need for inttypes.h.
12597
12598 * grub-core/lib/posix_wrap/inttypes.h: New file.
12599 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
12600 (int16_t): Likewise.
12601 (int32_t): Likewise.
12602 (int64_t): Likewise.
12603 Reported and tested by: Alain Greppin.
12604
43f1bc83
VS
126052011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12606
12607 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
12608 Silence spurious warning.
12609 Reported and tested by: Alain Greppin.
12610
64d1f041
SJ
126112011-01-07 Szymon Janc <szymon@janc.net.pl>
12612
12613 * docs/grub.texi (Support automatic decompression): Update with xz
12614 decompression support.
12615
25953e10
SJ
126162011-01-07 Szymon Janc <szymon@janc.net.pl>
12617
12618 Improve loaders' kernel command line handling.
12619
12620 * grub-core/lib/cmdline.c: New file.
12621 * include/grub/lib/cmdline.h: Likewise.
12622 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
12623 grub_create_loader_cmdline to create kernel command line.
12624 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12625 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
12626 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
12627 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
12628 (linux): Add lib/cmdline.c on common.
12629
e72d259f
VS
126302011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12631
12632 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
12633 inopos might be unaligned.
12634
c0cf26da
VS
126352011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12636
12637 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
12638 endian transformations.
12639 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12640 Based on report by: Doug Nazar.
12641
0ca09e6c
DN
126422011-01-07 Doug Nazar <nazard.michi@gmail.com>
12643
12644 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
12645 array->members[i].start_sector.
12646 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
12647
014b6806
VS
126482011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12649
12650 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
12651 Reported and tested by: Grégoire Sutre.
12652
415502c2
CW
126532011-01-06 Colin Watson <cjwatson@ubuntu.com>
12654
12655 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
12656 avoid causing test failures by clearing the screen.
12657
71b6a2b7
CW
126582011-01-06 Colin Watson <cjwatson@ubuntu.com>
12659
12660 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
12661 Fix prefix check to handle the case where dir ends with a slash
12662 (most significantly, "/" itself).
12663 Reported by: Michael Vogt.
12664
b3f8d28a
VS
126652011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
12666
12667 Run terminfo_cls on initing terminfo output to clear the screen and
12668 move the cursor to (0,0).
12669
12670 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
12671 Call grub_terminfo_output_init.
12672 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
12673 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
12674 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
12675
4c3e4f37
VS
126762011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
12677
12678 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
12679 only when needed.
12680
488f71f1
VS
126812011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
12682
12683 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
12684 CTRL.
12685
18a38098
VS
126862011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
12687
12688 The E820 type 5 is BADRAM, not EXEC_CODE.
12689
12690 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
12691 (GRUB_E820_BADRAM): New define.
12692 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
12693 into reserved. Propagate BADRAM.
12694 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
12695 (GRUB_E820_BADRAM): New define.
12696
9eae2084
VS
126972011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12698
12699 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
12700 Ignore the memory post-4G.
12701 (grub_relocator_firmware_alloc_region): Additional debug statement.
12702
ebc71d28
VS
127032011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12704
12705 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
12706 names.
12707 Reported by: David Pravec.
12708
446fa400
VS
127092011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12710
12711 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
12712 BIOSes.
12713
a0159f37
VS
127142011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12715
12716 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
12717 Prevent overflow.
12718 (grub_reed_solomon_recover): Likewise.
12719
e5146ca1
VS
127202011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12721
12722 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
12723
127242011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
12725
12726 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
12727 variable.
12728
5b1bdf12
CW
127292011-01-04 Colin Watson <cjwatson@ubuntu.com>
12730
12731 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
12732 descriptions of extract_legacy_entries_source and
12733 extract_legacy_entries_configfile.
12734 Reported by: Seung Soo, Ha.
12735
99d925aa
CW
127362011-01-03 Colin Watson <cjwatson@ubuntu.com>
12737
12738 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
12739 on devices that do not implement function 0.
12740
4af0504b
DV
127412011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
12742
12743 * grub-core/fs/hfsplus.c: Make parent unsigned.
12744 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
12745 overflows.
12746 (grub_hfsplus_cmp_extkey): Likewise
12747
469ee10a
VS
127482011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
12749
12750 * util/grub-install.in: Correctly use bootloader_id and not
12751 GRUB_DISTRIBUTOR on efibootmgr line.
12752
323a8e9c
VS
127532011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
12754
12755 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
12756
1b394975
IC
127572010-12-31 Ian Campbell <ijc@hellion.org.uk>
12758
12759 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
12760 Xen and reorder menu item wording to make it clearer that this entry
12761 will launch Xen. Print separate messages when loading Xen and
12762 Linux.
12763
275bff5f
VS
127642010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
12765
12766 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
12767 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
12768 loop in case of incorrect amiga partmap.
12769
307806cb
VS
127702010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
12771
12772 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
12773 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
12774 Reported by:EHeM.
12775
b12b923e
VS
127762010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
12777
12778 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
12779 spurious warning.
12780 Reported by: crocket
12781
14b48a19
VS
127822010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12783
12784 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
12785 Preload EFIemu.
12786 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
12787
693db2df
VS
127882010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12789
12790 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
12791 is loaded
12792 (grub_cmd_xnu_kextdir): Likewise.
12793 (grub_cmd_xnu_splash): Likewise.
12794
c7638645
VS
127952010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12796
12797 Avoid using Reed-Solomon with 0 redundancy.
12798
12799 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
12800 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
12801 or 0 redundancy.
12802 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
12803 (grub_reed_solomon_recover): Likewise.
12804
25dd4780
VS
128052010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12806
12807 Don't use disk subsystem in freebsd_boot.
12808
12809 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
12810 (freebsd_biosdev): Likewise.
12811 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
12812 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
12813
0b2db943
VS
128142010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12815
12816 Handling of files of unknown size is currently limited. They can't be
12817 used e.g. for initrd or modules. Moreover gzip handling of not
12818 easily seekable files is buggy. Disable unknown file size for now. May
12819 be inefficient but works.
12820
12821 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
12822 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
12823
5c408d0f
MP
128242010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
12825
12826 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
12827 floppy probe.
12828
190a011a
JD
128292010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
12830
12831 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
12832
022d01b8
SL
128332010-12-25 Shea Levy <shlevy>
12834
12835 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
12836
c4855fdc
VS
128372010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12838
12839 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
12840 Windows Server 2008.
12841 Reported by: Devin Giddings.
12842
0354b867
VS
128432010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12844
12845 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
12846 writing an error message because of async power management.
12847 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
12848 (grub_reboot): Likewise.
12849
ab66c69f
JU
128502010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
12851
12852 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
12853 keep unit tests from failing when they shouldn't.
12854
1426ef35
CW
128552010-12-21 Colin Watson <cjwatson@ubuntu.com>
12856
12857 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
12858 previous patch increased the size of the RS code by 20 bytes (at
12859 least with gcc-4.4), so increase this by 20 bytes to match.
12860 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
12861
20641b6b
CW
128622010-12-21 Colin Watson <cjwatson@ubuntu.com>
12863
12864 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
12865 scratch area. Make sure to initialise chosen in standalone mode as
12866 well as non-standalone.
12867 Reported by: Robert Hooker and Andy Whitcroft.
12868 Tested by: Andy Whitcroft.
12869
d060ad60
CW
128702010-12-21 Colin Watson <cjwatson@ubuntu.com>
12871
12872 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
12873 constructing a new unescaped string and passing it to grub_xputs in
12874 one go, rather than passing characters to grub_printf one at a time.
12875
b889cfad
CW
128762010-12-21 Colin Watson <cjwatson@ubuntu.com>
12877
12878 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
12879 initialising utf16.
12880
4e01b6c8
CW
128812010-12-21 Colin Watson <cjwatson@ubuntu.com>
12882
12883 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
12884 comment. Add an extra layer of quotation, requiring the output of
12885 this function to be used in a printf format string.
12886 (gettext_printf): New function.
12887 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
12888 Extract translatable strings from here-documents and use a temporary
12889 variable instead, so that xgettext can find them.
12890 * util/grub.d/10_kfreebsd.in: Likewise.
12891 * util/grub.d/10_linux.in: Likewise.
12892 * util/grub.d/20_linux_xen.in: Likewise.
12893
12894 * po/grub.d.sed: New file.
12895 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
12896 arguments. Set c-format flags on all strings extracted from
12897 util/grub.d/ (xgettext refuses to include these itself for strings
12898 it extracted from a shell file, but these really are c-format).
12899
5318fe98
VS
129002010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
12901
12902 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
12903 Avoid next pointing to nowhere.
12904
6c85b743
VS
129052010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
12906
12907 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
12908 rather than assuming than rootblock is exactly in the middle.
12909 (grub_affs_label): Likewise.
12910
a2a08a35
VS
129112010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
12912
12913 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
12914 reserved_first_sector to 0.
12915 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
12916 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
12917 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
12918
7059d1ec
VS
129192010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
12920
12921 Fix handling of UTF-16 UDF labels.
12922
12923 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
12924 (read_string): .. here.
12925 (grub_udf_label): Use read_string.
12926
30aff4cb
BC
129272010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
12928
12929 * grub-core/normal/menu_entry.c (run): Execute commands from menu
12930 editor under argument scope.
12931 Reported by: Jordan Uggla
12932
5cf86f4b
VS
129332010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
12934
12935 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
12936
32570200
CW
129372010-12-18 Colin Watson <cjwatson@ubuntu.com>
12938
12939 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
12940 line, and other keys scroll an entire page (previous handling was
12941 for \r and \n to scroll a page and other keys to scroll two lines).
12942
e1dffcf2
VS
129432010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
12944
12945 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12946 Set ptrdest to correct get_physical_target_address rather than
12947 incorrect get_virtual_current_address.
12948
b04298cf 129492010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
12950
12951 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
12952 correct cat to grub_uint8_t * rather than grub_uint32_t *.
12953
5367ecd3
CW
129542010-12-10 Colin Watson <cjwatson@ubuntu.com>
12955
12956 * .bzrignore: Ignore grub-core/rs_decoder.S.
12957
1fb430f8
CW
129582010-12-10 Colin Watson <cjwatson@ubuntu.com>
12959
12960 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
12961 .mo/.mo.gz opening sequence to ...
12962 (grub_mofile_open_lang): ... here.
12963 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
12964 * util/grub.d/00_header.in (grub_lang): Include country part of
12965 locale.
12966 Reported by: Mario Limonciello.
12967
a94a6671
RM
129682010-12-09 Robert Millan <rmh@gnu.org>
12969
12970 * NEWS: Document addition of ZFS support.
12971
24b7938b
CW
129722010-12-04 Colin Watson <cjwatson@ubuntu.com>
12973
12974 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
12975 rather than `/ 2', as the latter requires -Wa,--divide which would
12976 require bumping our minimum binutils version.
12977
bddc3ef6
BC
129782010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
12979
12980 * util/grub-script-check.c (main): Print script line number on
12981 error.
12982
bf78d5b2
RM
129832010-12-01 Robert Millan <rmh@gnu.org>
12984
12985 * grub-core/fs/zfs/zfs.c: New file.
12986 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
12987 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
12988 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
12989 * grub-core/fs/zfs/zfsinfo.c: Likewise.
12990
12991 * include/grub/zfs/dmu.h: Likewise.
12992 * include/grub/zfs/dmu_objset.h: Likewise.
12993 * include/grub/zfs/dnode.h: Likewise.
12994 * include/grub/zfs/dsl_dataset.h: Likewise.
12995 * include/grub/zfs/dsl_dir.h: Likewise.
12996 * include/grub/zfs/sa_impl.h: Likewise.
12997 * include/grub/zfs/spa.h: Likewise.
12998 * include/grub/zfs/uberblock_impl.h: Likewise.
12999 * include/grub/zfs/vdev_impl.h: Likewise.
13000 * include/grub/zfs/zap_impl.h: Likewise.
13001 * include/grub/zfs/zap_leaf.h: Likewise.
13002 * include/grub/zfs/zfs.h: Likewise.
13003 * include/grub/zfs/zfs_acl.h: Likewise.
13004 * include/grub/zfs/zfs_znode.h: Likewise.
13005 * include/grub/zfs/zil.h: Likewise.
13006 * include/grub/zfs/zio.h: Likewise.
13007 * include/grub/zfs/zio_checksum.h: Likewise.
13008
13009 * Makefile.util.def: Build ZFS into libgrubmods.
13010 * grub-core/Makefile.core.def: Build zfs.mod.
13011
3f0f3831
SJ
130122010-11-30 Szymon Janc <szymon@janc.net.pl>
13013
13014 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
13015 variable.
13016 * grub-core/commands/wildcard.c (match_files): Likewise.
13017
3a4253b2
RM
130182010-11-30 Robert Millan <rmh@gnu.org>
13019
13020 * grub-core/loader/i386/bsd.c
13021 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
13022 whether kernel is loaded using grub_loader_is_loaded(), rather
13023 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
13024 certain error conditions.
13025
8c317b27
RM
130262010-11-30 Robert Millan <rmh@gnu.org>
13027
c5c9cd3e
RM
13028 * grub-core/commands/echo.c: Include `<grub/term.h>'.
13029 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 13030
49d3ab46
VS
130312010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
13032
13033 Avoid using tricks for initialising endian variables.
13034
13035 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
13036 Make const.
13037 (GRUB_MOD_INIT): Don't byte-swap.
13038 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
13039 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
13040 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
13041 (grub_swap_bytes32_compile_time): Likewise.
13042 (grub_cpu_to_le32_compile_time): Likewise.
13043 (grub_cpu_to_le16_compile_time): Likewise.
13044
f420a804
VS
130452010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
13046
13047 * util/grub-setup.c (setup): Stop recommending --force. People who
13048 understand the dangers of blocklists are able to find this option
13049 anyway and the ones who don't shouldn't use it anyway.
13050
4e7db17b
RM
130512010-11-26 Robert Millan <rmh@gnu.org>
13052
13053 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
13054 Update all users.
13055
9be57a0d
CW
130562010-11-26 Colin Watson <cjwatson@ubuntu.com>
13057
13058 Fix LVM-on-RAID probing.
13059
13060 * util/grub-probe.c (probe): Remember which disk was detected as
13061 RAID (perhaps an LVM physical volume). Use that disk's raidname
13062 rather than that of the top-level disk.
13063
2c7859b3 130642010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 13065
d7647bb6
BC
13066 Fix cmdline argument quotes for setparams command of menuentry
13067 definitions.
7e623b0d
BC
13068
13069 * grub-core/commands/menuentry.c (setparams_prefix): Use single
13070 quotes for arguments.
f866fe80 13071 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 13072 grub_strchrsub function instead.
f866fe80 13073
7955bea0 13074 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 13075
74f72a64
CW
130762010-11-24 Colin Watson <cjwatson@ubuntu.com>
13077
13078 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
13079 effort by skipping "." and ".." entries up-front.
13080 Suggested by: Michael Lazarev.
13081
5a407278
CW
130822010-11-24 Colin Watson <cjwatson@ubuntu.com>
13083
13084 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
13085 ldflags to ldadd, to fix link line ordering.
13086 (none_decompress): Likewise.
13087
3030d8ec
CW
130882010-11-24 Colin Watson <cjwatson@ubuntu.com>
13089
13090 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
13091 platforms.
13092 (grub-emu-lite): Remove kern/emu/cache.S.
13093
b7fbac12
CW
130942010-11-23 Colin Watson <cjwatson@ubuntu.com>
13095
13096 * util/deviceiter.c (compare_devices): If the by-id link for a
13097 device couldn't be resolved, fall back to sorting by the by-id link
13098 rather than segfaulting.
13099 Reported and tested by: Daniel Mierswa.
13100
5225f328
CW
131012010-11-23 Colin Watson <cjwatson@ubuntu.com>
13102
13103 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
13104 ldflags, to fix link line ordering.
13105
038b3ce8
CW
131062010-11-23 Colin Watson <cjwatson@ubuntu.com>
13107
13108 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
13109 linkers are picky about this.
13110
bf16e98e
CW
131112010-11-23 Colin Watson <cjwatson@ubuntu.com>
13112
13113 * grub-core/Makefile.am (command.lst): Adjust sed expression
13114 ordering so that extended and priority commands aren't treated as
13115 ordinary commands.
13116
7242bab6
CW
131172010-11-23 Colin Watson <cjwatson@ubuntu.com>
13118
13119 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
13120 Remove byte-swapping function calls, which are not valid in
13121 structure initialisers.
13122 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
13123 non-const.
13124 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
13125 grub_gpt_partition_type_bios_boot.
13126
14e8b279
CW
131272010-11-22 Colin Watson <cjwatson@ubuntu.com>
13128
13129 Fix test program build on GNU/kFreeBSD.
13130
13131 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
13132 $(LIBNVPAIR)' library dependencies.
13133
e6f63338 131342010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
13135
13136 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
13137
cf8ffc38
CW
131382010-11-22 Colin Watson <cjwatson@ubuntu.com>
13139
13140 * util/grub-install.in: Remove excessive quoting that broke
13141 installations to RAID devices.
13142
7f8b0fd7
VS
131432010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13144
13145 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
13146 bootloader version instead of 0.
13147
dfd240b1
VS
131482010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13149
13150 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
13151 warning.
13152
7b61e609
VS
131532010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13154
13155 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
13156 retrieve the metadat sector if size isn't known.
13157 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13158
9dfe92d0
RM
131592010-11-18 Robert Millan <rmh@gnu.org>
13160
13161 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
13162 with grub_memcmp().
13163
41cc919e
VS
131642010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
13165
13166 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
13167 arrow.
13168 Reported by: Jordan Uggla.
13169
1afcc914
VS
131702010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13171
13172 Make better UTF compliant.
13173
13174 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
13175 sequences as incorrect.
13176 (grub_is_valid_utf8): Likewise.
13177 (grub_utf8_to_ucs4): Likewise.
13178 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
13179 (grub_ucs4_to_utf8_alloc): Likewise.
13180 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
13181
f1808884
VS
131822010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13183
13184 Make legacy_source behave like source.
13185
13186 * grub-core/commands/legacycfg.c (legacy_file): Don't call
13187 grub_show_menu.
13188 (grub_cmd_legacy_source): Call grub_show_menu if needed.
13189
24ec575b
CW
131902010-11-16 Colin Watson <cjwatson@debian.org>
13191
13192 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
13193 (-Wunused implies -Wunused-parameter, but not vice versa).
13194
72b7c7aa
CW
131952010-11-16 Colin Watson <cjwatson@ubuntu.com>
13196
13197 * configure.ac: Make error messages less confusing by testing for
13198 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
13199 accepted, but produces a diagnostic if something else is wrong).
13200
e98937aa
VS
132012010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
13202
13203 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
13204 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
13205 (now unused).
13206 (grub_keyboard_controller_init)
13207 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
13208 read the initial state since controller isn't inited yet.
13209
f6bbabc3
VS
132102010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
13211
13212 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
13213 allocate_regbeg may need to create new chunk header.
13214
22e7dbb2
VS
132152010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13216
13217 Fix quoting in legacy parser.
13218
13219 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
13220 single quotes.
13221 (grub_legacy_parse): Likewise.
13222 Reported by: Jordan Uggla.
13223 Tested by: Jordan Uggla.
13224
03f80960
VS
132252010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13226
13227 Don't add -lgcc on i386 and x86_64.
13228
13229 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
13230 * conf/Makefile.common (LDADD_KERNEL): Likewise.
13231 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
13232
779dc15b
VS
132332010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13234
13235 * configure.ac: Add -Wno-trampolines when supported.
13236
d20a3b37
MV
132372010-11-14 Modestas Vainius <modax@debian.org>
13238
13239 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
13240 fakeraid.
13241
e5360933
GC
132422010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13243
13244 Add generic logical block size support for UDF.
13245
13246 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
13247 (GRUB_UDF_BLKSZ): Removed.
13248 (struct grub_udf_data): New field "lbshift" to hold the logical block
13249 size of the file system in log2 format. All users updated.
13250 (sblocklist): Change type to unsigned.
13251 (grub_udf_mount): Change type of "sblklist" to unsigned.
13252 Move AVDP search before VRS recognition, because the latter requires
13253 knowledge of the logical block size, which is detected during the
13254 former.
13255 Detect and validate logical block size during AVDP search, adding
13256 support for block sizes 512, 1024 and 4096.
13257 Make VRS recognition independent of block size.
13258
cb0229c5
GC
132592010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13260
13261 Properly handle deleted files on UDF.
13262
13263 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
13264 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
13265 set.
13266
406858a8
GC
132672010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13268
13269 Support reading files larger than 2 GiB.
13270
13271 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
13272 "offset" to grub_off_t.
13273 (grub_udf_read_file): Likewise for parameter "pos".
13274
130da6a7
VS
132752010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13276
13277 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
13278 unavailable.
13279 (Simple configuration): Refer to Changes from GRUB Legacy about
13280 save_env availability.
13281
65e93f6b
VS
132822010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13283
13284 * util/grub-install.in: Ignore empty partition table detection
13285 instead of trying to include part_ module.
13286
1fd08bf1
VS
132872010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13288
13289 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
13290 LVM on RAID support.
13291
de1a024f
VS
132922010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13293
13294 Properly define WORDS_BIGENDIAN in wrapped environments.
13295
13296 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
13297 definition.
13298 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
13299
13300 Reported by: Manoel Rebelo Abranches.
13301 Tested by: Manoel Rebelo Abranches.
13302
bc5dd0b9
VS
133032010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13304
13305 * util/grub-mkconfig.in: Fix quoting.
13306
58c184be
VS
133072010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13308
13309 Support big ext2 files.
13310
13311 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
13312 (grub_ext2_read_block): Support triple indirect blocks.
13313 (grub_ext2_read_file): Use 64-bit types and read size_high.
13314 (grub_ext2_open): Read size_high.
13315 Reported by: Ximin Luo.
13316 Tested by: Manoel Rebelo Abranches.
13317
5f0c02b3
VS
133182010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13319
13320 * util/grub-install.in: Handle filenames containing spaces.
13321 Reported by: Jordan Uggla.
13322 Tested by: Jordan Uggla.
13323
4417aae6
VS
133242010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13325
13326 * util/grub-mkconfig.in (grub_script_check): New variable.
13327 Use grub_script_check instead of grub-script-check.
13328 Reported by: Barry Jackson.
13329
7625a68e
VS
133302010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13331
13332 * docs/grub.texi (menu): Correct the order.
13333 Reported by: D. Hugh Redelmeier.
13334
10001ac5
VS
133352010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13336
13337 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
13338 jump.
13339
9c4cf53b
MRA
133402010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
13341
10001ac5
VS
13342 * include/grub/elfload.h (grub_elf32_size): New parameter.
13343 All users updated.
9c4cf53b
MRA
13344 Return maximum segments alignment.
13345 (grub_elf64_size): Likewise.
13346 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
13347 Return maximum segments alignment.
13348 (grub_elf64_size): Likewise.
13349 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
13350 (grub_linux_claimmap_iterate): New function. Uses the
13351 "available" property in the "memory" node for memory allocation
13352 for kernel in the PowerPC loader.
9c4cf53b
MRA
13353 (grub_linux_load32): Correctly find linux entry point offset.
13354 (grub_linux_load64): Likewise.
13355
d2bf06bf
RM
133562010-11-07 Robert Millan <rmh@gnu.org>
13357
13358 On mips-yeeloong, build with -march=loongson2f when this flag is
13359 available (GCC >= 4.4).
13360 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
13361 `-march=mips3'.
13362 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
13363 or otherwise add -march=mips3.
13364
898c99a2
BC
133652010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
13366
87220a68
BC
13367 Suppress shell expansion on echo '*' and echo "*" like cases.
13368 Reported by: Jordan Uggla.
898c99a2
BC
13369
13370 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
13371 string arguments before shell expansion.
13372 * tests/grub_cmd_echo.in: New testcases.
13373
4f9b406a
RM
133742010-11-07 Robert Millan <rmh@gnu.org>
13375
13376 * conf/mips-qemu-mips.rmk: Remove stale file from previous
13377 transition.
13378
80c6d25e
VS
133792010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
13380
13381 * grub-core/kern/emu/hostdisk.c
13382 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
13383
4a1a0153
VS
133842010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13385
13386 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
13387 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
13388 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
13389
34706ddc
VS
133902010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13391
13392 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
13393
6972dea9
VS
133942010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13395
13396 * util/grub-install.in: Replace useless recomendation to pass
13397 --modules with a recomendation to report a bug.
13398
9c693bd6
VS
133992010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13400
13401 Properly register serial terminfo.
13402 Reported by: Jordan Uggla
13403
13404 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
13405 const.
13406 (grub_serial_terminfo_output_template): Likewise.
13407 (grub_cmd_serial): Register "serial" with terminfo.
13408 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
13409 grub_serial_terminfo_output.
13410
6c9e4c0c
RM
134112010-11-05 Robert Millan <rmh@gnu.org>
13412
13413 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
13414 needed).
13415
b9b3839f
RM
134162010-11-05 Robert Millan <rmh@gnu.org>
13417
13418 On Yeeloong, pass machine type information to Linux.
13419
13420 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
13421 (LOONGSON_MACHTYPE): New macro, set to
13422 "machtype=lemote-yeeloong-2f-8.9inches".
13423 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
13424 additional argument to Linux.
13425
1a3aaff4
RM
134262010-11-04 Robert Millan <rmh@gnu.org>
13427
13428 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
13429 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
13430 (its SATA disks are detected as slaveless IDE master drives on
13431 kFreeBSD).
13432 Reported by Carsten Aulbert.
13433
a75f4f62
CW
134342010-11-02 Colin Watson <cjwatson@ubuntu.com>
13435
13436 * util/bin2h.c (main): Fix spelling error in generated output.
13437
33b4b0c6
GS
134382010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
13439
13440 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
13441
2b36fbf4
VS
134422010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13443
13444 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
13445 vga= option is supplied.
13446
74aaf558
VS
134472010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13448
13449 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
13450 * util/grub.d/10_kfreebsd.in: Likewise.
13451 * util/grub.d/10_linux.in: Likewise.
13452 * util/grub.d/20_linux_xen.in: Likewise.
13453
6428dec3
VS
134542010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13455
13456 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
13457 argument as an argument to no-argument option.
13458
f8729d98
VS
134592010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13460
13461 * util/grub.d/10_linux.in: Add missing load_video with explicit
13462 GRUB_GFXPAYLOAD_LINUX.
13463
89d68fa6
VS
134642010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13465
13466 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
13467
3a1197cd
VS
134682010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13469
13470 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
13471 elements with invlid index.
13472 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13473 * grub-core/disk/raid.c (insert_array): Automatically reallocate
13474 members.
13475 * include/grub/raid.h (grub_raid_member): New struct.
13476 (grub_raid_array): Transform devices and start_sector into usage of
13477 grub_raid_member. All users updated
13478 (allocated_devs): New member.
13479
71574288
VS
134802010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13481
13482 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
13483 is modified
13484
8d40ec65
BC
134852010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
13486
13487 NetBSD build fix for getline function conflict from gnulib.
13488
13489 * Makefile.util.def (libgrubkern.a): New library for grub kernel
13490 components that depend on gnulib headers.
13491 (libgrubmods.a): Renamed from earlier libgrub.a.
13492 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
13493
95b9257e
VS
134942010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13495
13496 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
13497 install rather than creating a broken install.
13498
26c53dc6
VS
134992010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13500
13501 * util/grub-setup.c (argp): Remove misleading example of installing to
13502 a partition.
13503
4171b3c5
VS
135042010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13505
13506 * util/grub-setup.c (setup): Clarify the error message.
13507
18568d18
VS
135082010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13509
13510 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
13511
4f6a2e21
VS
135122010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13513
13514 * grub-core/kern/emu/misc.c
13515 (grub_make_system_path_relative_to_its_root)
13516 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
13517
135182010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
13519
13520 * grub-core/kern/emu/misc.c
13521 (grub_make_system_path_relative_to_its_root): Revert r2882.
13522
e138c458
VS
135232010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
13524
13525 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
13526 useless field head. All users updated.
13527 (free_subchunk): Correct handling of IN_REGION subchunk.
13528
0cbcdf0e
CW
135292010-10-22 Colin Watson <cjwatson@ubuntu.com>
13530
13531 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
13532 (Supported kernels): Likewise.
13533
b65ea155
GS
135342010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
13535
13536 Make mktemp invocations portable.
13537
13538 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
13539 exit if mktemp fails.
13540 * tests/grub_script_blockarg.in: Likewise.
13541 * tests/partmap_test.in: Likewise.
13542 * tests/util/grub-shell-tester.in: Likewise.
13543 * tests/util/grub-shell.in: Likewise.
13544 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13545 * Makefile.am: Likewise, and chain shell commands with `&&'
13546 instead of ';'.
13547 * util/grub-mkrescue.in: Use the same explicit template as above, and
13548 exit if mktemp fails.
13549
05f43cdd
BC
135502010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
13551
13552 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
13553 Linux kernel, reported by Dennis Schridde.
13554
800e6a9b
SJ
135552010-10-17 Szymon Janc <szymon@janc.net.pl>
13556
13557 * grub-core/normal/auth.c (grub_auth_check_authentication):
13558 Set-but-not-used variable removed.
13559
d82df574
VS
135602010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13561
13562 * docs/grub.texi (GNU/Linux): Document APM unavailability with
13563 32-bit linux protocol.
13564
7bced458
VS
135652010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13566
13567 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
13568 cursor shape for sanity.
13569
5b027690
VS
135702010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13571
13572 * docs/grub.texi (Installation): Document buggy BIOS install.
13573
ba5f65cf
VS
135742010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13575
13576 * docs/grub.texi (Installation): Indent.
13577
fdf2ec9c
VS
135782010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13579
13580 * util/grub-setup.c (setup): New parameter allow_floppy.
13581 (arguments): New member allow_floppy.
13582 (argp_parser): Handle --allow-floppy.
13583 (main): Pass allow_floppy.
13584 * util/grub-install.in: New option --allow-floppy passed though to
13585 grub-setup.
13586
861dfd4c
VS
135872010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13588
13589 * util/grub-install.in: Handle partitionless disks.
13590
f77a8c24
VS
135912010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13592
13593 * util/grub-setup.c (setup): Don't clean blocklists before readability
13594 verfification.
13595
27d9ee32
VS
135962010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13597
13598 * docs/grub.texi (Installation): Document embedding zone. Remove
13599 obsolete grub-install example.
13600
6bdda8f8
SJ
136012010-10-16 Szymon Janc <szymon@janc.net.pl>
13602
13603 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
13604 Set-but-not-used variable ifdef'ed.
13605 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
13606 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
13607 variable removed.
13608 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
13609 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
13610 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
13611 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
13612 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
13613 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
13614 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
13615 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
13616 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
13617 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
13618 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
13619 Likewise.
13620
e19b016b
VS
136212010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13622
13623 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
13624 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
13625 enum value.
13626
6c8d3002
VS
136272010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13628
13629 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
13630 synonym to _S5_. Needed for some DSDTs.
13631
c32b51c9
VS
136322010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13633
13634 Userspace ACPI parser debugging.
13635
13636 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
13637 headers and add relevant defines. Don't include standard headers.
13638 (main) [GRUB_DSDT_TEST]: New function.
13639 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
13640 Don't declare functions.
13641
fbfbeb39
VS
136422010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13643
13644 Remove dead grub_efi_mm_fini.
13645
13646 * grub-core/kern/efi/mm.c (allocated_page): Removed.
13647 (ALLOCATED_PAGES_SIZE): Likewise.
13648 (MAX_ALLOCATED_PAGES): Likewise.
13649 (allocated_pages): Likewise.
13650 (grub_efi_allocate_pages): Don't record allocated pages.
13651 (grub_efi_free_pages): Likewise.
13652 (grub_efi_mm_init): Likewise.
13653 (grub_efi_mm_fini): Removed.
13654
65f7ed7c
VS
136552010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13656
13657 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
13658 (grub_efi_mm_init): Take into account the memory map size increase.
13659
24977b44
VS
136602010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13661
13662 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
13663 (serial_hw_put): Wait based on real time rather than port reads. Don't
13664 roken ports.
13665 * include/grub/serial.h (grub_serial_port): New field broken.
13666
1eb01cd2
RM
136672010-10-16 Robert Millan <rmh@gnu.org>
13668
13669 * grub-core/kern/emu/misc.c
13670 (grub_make_system_path_relative_to_its_root): Fix premature return
13671 when processing non-root ZFS filesystems.
5f8b440b 13672 Reported by Sergio Talens-Oliag.
1eb01cd2 13673
2d5fed60
RM
136742010-10-15 Robert Millan <rmh@gnu.org>
13675
13676 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
13677 guarantee compressed ones are processed first.
13678
d0f4c1ea
VS
136792010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13680
13681 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
13682 grub_efiemu_autocore.
13683
d87c681f
VS
136842010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13685
13686 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
13687 rather than 0x1b.
13688 (grub_console_getkey): Use correct jae opcode rather than ja.
13689
219b3564
RM
136902010-10-12 Robert Millan <rmh@gnu.org>
13691
13692 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
13693 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
13694 variable. All references updated.
13695
13696 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
13697
20c6bb7e
VS
136982010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
13699
13700 Correctly distinguish mdraid flavours.
13701
13702 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
13703 (insert_array): New argument raid.
13704 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
13705 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
13706 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
13707
74baff84
VS
137082010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
13709
13710 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
13711 handling of special keys.
13712
3ef068df 137132010-10-02 Aleš Nesrsta <starous@volny.cz>
13714
c7980ad9
VS
13715 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
13716 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 13717
a9455194 137182010-10-02 Aleš Nesrsta <starous@volny.cz>
13719
c7980ad9
VS
13720 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
13721 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
13722 users updated.
a9455194 13723 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 13724 Use right endpoint when querying descriptor.
a9455194 13725
441cfe65
VS
137262010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
13727
13728 Clear out 0x80 color bit on EFI.
13729 Tested by: decoder
13730 Reported by: decoder and meta tech.
13731
13732 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
13733 (grub_console_setcolorstate): Clear out 0x80 bit.
13734 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
13735 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
13736 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
13737
bf26bcc4
VS
137382010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
13739
13740 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
13741 Set to "auto".
13742
6e3c515d
VS
137432010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13744
13745 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
13746 mo_file after freeing.
13747
e6d983ba
VS
137482010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13749
13750 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
13751
74ccb5b5
VS
137522010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13753
13754 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
13755 flags.
13756
17821956
VS
137572010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13758
13759 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
13760 usage.
13761
ee74fa48
VS
137622010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13763
13764 Put terminfo into core on ieee1275 and yeeloong (needed for console).
13765
13766 * gentpl.py: New groups terminfoinkernel and terminfomodule.
13767 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
13768 and terminfo.h when needed.
13769 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
13770 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
13771 (terminfo): Enable only on terminfokernel.
13772 (extcmd): Likewise.
13773 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
13774 * include/grub/lib/arg.h: Likewise.
13775 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
13776 incorrect usage of ->.
13777
aa438e68
VS
137782010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13779
13780 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
13781 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
13782
57994012
VS
137832010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13784
13785 Fix coreboot compilation.
13786
13787 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
13788 Take VBE info into account even if only text is supported.
13789 (fill_vbe_info): Take into account the case when only VGA text
13790 is supported.
13791 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
13792 on coreboot, multiboot and qemu.
13793
2a406611
VS
137942010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13795
13796 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
13797 debug messages.
13798 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
13799
d33613fc
VS
138002010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13801
13802 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
13803 parameters.
13804
44a1b432
VS
138052010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13806
13807 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
13808 if they were BSD-style.
13809
edde54e6
VS
138102010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13811
13812 * grub-core/boot/i386/pc/lnxboot.S: Replace
13813 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
13814 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
13815
b65830fa
VS
138162010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13817
13818 Write embedding zone using Reed-Solomon.
13819
13820 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
13821 * grub-core/Makefile.am (rs_decoder.S): New target.
13822 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
13823 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
13824 (multiboot): Move to RS part.
13825 (post_reed_solomon): New label.
13826 (grub_boot_drive): Move to non-RS part since it's modified in memory
13827 on boot.
13828 Include rs_decoder.S.
13829 * grub-core/lib/reed_solomon.c: New file.
13830 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
13831 New definition.
13832 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
13833 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
13834 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
13835 * include/grub/partition.h (grub_partition_map): Change prototype of
13836 embed to allow returning additional sectors.
13837 * include/grub/reed_solomon.h: New file.
13838 * util/grub-setup.c (setup): Handle Reed-Solomon.
13839
0b4b227f
CW
138402010-09-28 Colin Watson <cjwatson@ubuntu.com>
13841
13842 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
13843 i386 and x86-64 definedness tests.
13844
f772623b
YB
138452010-09-27 Yves Blusseau <blusseau@zetam.org>
13846
13847 Fix generation of kernel_syms.lst
13848
13849 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
13850 ASM_PREFIX
13851
8e57a6ca
RM
138522010-09-26 Robert Millan <rmh@gnu.org>
13853
13854 Support degraded ZFS arrays in "grub-probe -t device" resolution.
13855
13856 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
13857 the pool is an array of devices, iterate through it and return the
13858 first device that passes a stat() test (instead of blindly returning
13859 the first one).
13860
f9130836
RM
138612010-09-26 Robert Millan <rmh@gnu.org>
13862
13863 Build fixes for GNU/kFreeBSD.
13864
13865 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
13866 to programs that require ZFS conversion.
13867 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
13868 kernels that don't have FLOPPY_MAJOR.
13869
96510faf
BC
138702010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
13871
13872 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
13873
449333eb
BC
138742010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
13875
13876 Fix grub-emu build.
13877
13878 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
13879 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
13880 mdraid09 and mdraid1x.
13881
e1fd1939
CW
138822010-09-24 Colin Watson <cjwatson@ubuntu.com>
13883
13884 Re-enable grub-extras.
13885
13886 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
13887 avoid confusing Automake. Run autogen only twice, once for the top
13888 level and once for grub-core. Add Makefile.util.def and
13889 Makefile.core.def from extra modules to the appropriate autogen
13890 invocations. If Makefile.common exists in an extra module, include
13891 it in both Makefile.util.am and grub-core/Makefile.core.am;
13892 similarly, include any Makefile.util.common file in Makefile.util.am
13893 and any Makefile.core.common file in grub-core/Makefile.core.am.
13894 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
13895 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
13896 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
13897 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
13898
13899 * gentpl.py (gvar_add): Turn GVARS into a set.
13900 (global_variable_initializers): Sort global variables on output.
13901 (vars_init): New function.
13902 (first_time): Likewise.
13903 (library): Ensure that non-global variable initialisations are
13904 emitted before the first time we emit code for a library block.
13905 Append to variables rather than setting them. Only emit
13906 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
13907 each conditional path.
13908 (program): installdir() emits an Autogen macro, so must be passed to
13909 var_add rather than gvar_add.
13910 (data): Likewise.
13911 (script): Likewise.
13912 (rules): New function, centralising handling for different target
13913 types. Set up Guile association lists for first_time and vars_init,
13914 and send most output to a diversion so that variable initialisations
13915 can be emitted first.
13916 (module_rules): Use new rules function.
13917 (kernel_rules): Likewise.
13918 (image_rules): Likewise.
13919 (library_rules): Likewise.
13920 (program_rules): Likewise.
13921 (script_rules): Likewise.
13922 (data_rules): Likewise.
13923
13924 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
13925
13926 * .bzrignore: Add contrib and grub-core/contrib. Remove
13927 grub-core/Makefile.gcry.am.
13928
1d12cf29
YB
139292010-09-24 Yves Blusseau <blusseau@zetam.org>
13930
13931 * grub-core/lib/LzFind.c: Add missing include.
13932 * grub-core/lib/LzmaEnc.c: Likewise.
13933 * grub-core/script/lexer.c: Likewise.
13934 * grub-core/script/yylex.l: Likewise.
13935 * util/grub-macho2img.c: Likewise.
13936 * util/grub-menulst2cfg.c: Likewise.
13937 * util/grub-mklayout.c: Likewise.
13938 * util/grub-mkpasswd-pbkdf2.c
13939 * util/grub-mkrelpath.c: Likewise.
13940 * util/resolve.c: Likewise.
13941
dd363028
BC
139422010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
13943
13944 * Makefile.util.def (example_unit_test): Add
13945 grub-core/gnulib/libgnu.a.
13946
f5a109e2
GS
139472010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
13948
13949 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
13950
6d0fa83c
VS
139512010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
13952
13953 Support xz compression on yeeloong.
13954
13955 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
13956 * configure.ac: Check for LZMA.
13957 * grub-core/Makefile.core.def (xz_decompress): New target.
13958 (none_decompress): Likewise.
13959 * grub-core/boot/decompressor/minilib.c: New file.
13960 * grub-core/boot/decompressor/none.c: Likewise.
13961 * grub-core/boot/decompressor/xz.c: Likewise.
13962 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
13963 * grub-core/kern/mips/cache_flush.S: Likewise.
13964 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
13965 * grub-core/kern/mips/startup.S: Move first stage to ...
13966 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
13967 nomacro.
13968 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
13969 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
13970 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
13971 Allocate statically.
13972 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
13973 Allocate statically or use scratch. Don't check CRC32.
13974 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
13975 Allocate statically. Don't check CRC32.
13976 * include/grub/decompressor.h: New file.
13977 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
13978 Removed.
13979 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
13980 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
13981 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
13982 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
13983 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
13984 * util/grub-mkimage.c (grub_compression_t): New type.
13985 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
13986 (image_target_desc): New field default_compression.
13987 (image_targets): Adjust yeeloong targets.
13988 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
13989 (compress_kernel): New parameter comp.
13990 (generate_image): Likewise. Handle new compression case.
13991 (options): New option --compression
13992 (help): Likewise.
13993 (main): Handle new option.
13994
1b655af6
GS
139952010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
13996
13997 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
13998
8f03f0b5
CW
139992010-09-22 Colin Watson <cjwatson@ubuntu.com>
14000
14001 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
14002 typo in __i386__ conditional.
14003
7835dfd3
VS
140042010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
14005
14006 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
14007 include.
14008
e255597e
VS
140092010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
14010
6d0fa83c 14011 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
14012
14013 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
14014 new tags as supported.
14015 (acpiv2_size): New function.
14016 (grub_multiboot_get_mbi_size): Take new tags into account.
14017 (grub_multiboot_make_mbi): Add new tags.
14018 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 14019
6cc14051 140202010-09-21 Aleš Nesrsta <starous@volny.cz>
14021
14022 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
14023 Added missing configuration of USB device.
14024
df7769d8
CW
140252010-09-21 Colin Watson <cjwatson@ubuntu.com>
14026
14027 * grub-core/normal/menu_entry.c (run): Make sure we always return
14028 a value.
14029
b031012d
CW
140302010-09-21 Colin Watson <cjwatson@ubuntu.com>
14031
14032 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
14033 NumberOfPages is UINT64 according to the UEFI specification, not
14034 UINTN. Fix printf format.
14035
174de8f3
CW
140362010-09-21 Colin Watson <cjwatson@ubuntu.com>
14037
14038 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
14039 `err' to grub_usb_err_t.
14040 Reported and tested by: KESHAV P.R.
14041
d7dbe923
CW
140422010-09-21 Colin Watson <cjwatson@ubuntu.com>
14043
14044 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
14045 tpart non-const, so that we can assign to it. (Since this is a
14046 typedef, the constness refers to the pointer rather than what it
14047 points to.)
14048
8d5e2af3
CW
140492010-09-21 Colin Watson <cjwatson@ubuntu.com>
14050
14051 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
14052 $(top_srcdir)/grub-core/gnulib as well as
14053 $(top_builddir)/grub-core/gnulib.
14054 Reported by: KESHAV P.R.
14055
5c527783
CW
140562010-09-21 Colin Watson <cjwatson@ubuntu.com>
14057
14058 * util/grub-install.in: Fix the bootloader ID option to be
14059 consistently --bootloader-id, not --bootloader_id.
14060 Reported by: KESHAV P.R.
14061
d309a16e
CW
140622010-09-21 Colin Watson <cjwatson@ubuntu.com>
14063
14064 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
14065 check hash checksum." consistently translatable.
14066
b830cd16
YB
140672010-09-21 Yves Blusseau <blusseau@zetam.org>
14068
14069 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
14070 $(top_builddir).
14071
c4fe27a8
CW
140722010-09-21 Colin Watson <cjwatson@ubuntu.com>
14073
14074 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
14075 (GRUB_MOD_INIT): Register sha1sum command.
14076 (GRUB_MOD_FINI): Unregister sha1sum command.
14077
a4c1d277
YB
140782010-09-21 Yves Blusseau <blusseau@zetam.org>
14079
14080 Keep boot and grub directory names in sync with utils scripts
14081
14082 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
14083 * config.h.in: Add previous macros.
14084 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
14085 * util/grub-install.in: Use $bootdir and $grubdir variables.
14086
4eff79d2
CW
140872010-09-21 Colin Watson <cjwatson@ubuntu.com>
14088
14089 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
14090 convert partition names to disk names if the new `convert' parameter
14091 is set.
14092 (grub_util_biosdisk_get_grub_dev): If opening the disk device
14093 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
14094 disk in its own right. This can happen with Xen disk images.
14095
934d7e44
YB
140962010-09-21 Yves Blusseau <blusseau@zetam.org>
14097
14098 * util/grub-editenv.c: Update strings to avoid warnings when generating
14099 grub.pot file.
14100 * util/grub-setup.c: Likewise.
934d7e44 14101
df3367cc
VS
141022010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
14103
14104 * configure.ac: Change version to 1.99~beta0.
14105
77a94e98
VS
141062010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
14107
14108 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
14109 Add BADRAM.
14110 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
14111 Likewise.
14112 * include/multiboot.h: Resynced with specification.
14113 * include/multiboot2.h: Likewise.
14114
269004c1
CW
141152010-09-21 Colin Watson <cjwatson@ubuntu.com>
14116
14117 Fix po directory handling.
14118
14119 * configure.ac: Create po/Makefile.in rather than po/Makefile.
14120 * grub-core/gnulib/Makefile.am: Import gettext module.
14121 * m4/gnulib-cache.m4: Likewise.
14122 * m4/gnulib-comp.m4: Likewise.
14123 * m4/gettext.m4: New file, from gnulib.
14124 * m4/glibc2.m4: Likewise.
14125 * m4/iconv.m4: Likewise.
14126 * m4/intdiv0.m4: Likewise.
14127 * m4/intl.m4: Likewise.
14128 * m4/intldir.m4: Likewise.
14129 * m4/intlmacosx.m4: Likewise.
14130 * m4/intmax.m4: Likewise.
14131 * m4/inttypes-pri.m4: Likewise.
14132 * m4/lcmessage.m4: Likewise.
14133 * m4/lib-ld.m4: Likewise.
14134 * m4/lib-link.m4: Likewise.
14135 * m4/lib-prefix.m4: Likewise.
14136 * m4/lock.m4: Likewise.
14137 * m4/nls.m4: Likewise.
14138 * m4/po.m4: Likewise.
14139 * m4/printf-posix.m4: Likewise.
14140 * m4/progtest.m4: Likewise.
14141 * m4/threadlib.m4: Likewise.
14142 * m4/uintmax_t.m4: Likewise.
14143 * m4/visibility.m4: Likewise.
14144 * po/Makefile.am: Remove.
14145 * po/Makefile.in.in: New file, from gettext.
14146 ($(DOMAIN).pot-update): Support POTFILES-shell.
14147 * po/Makevars: New file.
14148 * po/POTFILES-shell: Rename to ...
14149 * po/POTFILES-shell.in: ... this. Update.
14150 * po/POTFILES: Rename to ...
14151 * po/POTFILES.in: ... this. Update.
14152 * po/Rules-quot: New file, from gettext.
14153 * po/boldquot.sed: Likewise.
14154 * po/en@boldquot.header: Likewise.
14155 * po/en@quot.header: Likewise.
14156 * po/insert-header.sin: Likewise.
14157 * po/quot.sed: Likewise.
14158 * po/remove-potcdate.sin: Likewise.
14159
3e0fa5d0
VS
141602010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14161
14162 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
14163
ade9bd66
VS
141642010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14165
14166 * util/grub.d/20_linux_xen.in: Use submenus.
14167
fc55cc4c
VS
141682010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14169
14170 Support submenus.
14171
14172 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
14173 parameter submenu. All users updated.
14174 * grub-core/normal/main.c (free_menu): Rename to ...
14175 (grub_normal_free_menu): ... this. Made global.
14176 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
14177 if requested.
14178 * grub-core/normal/menu_entry.c (screen): New field submenu.
14179 (make_screen): Set submenu.
14180 (run): Open new context if requested.
14181 * include/grub/menu.h (grub_menu_entry): New field submenu.
14182 * include/grub/normal.h (grub_normal_free_menu): New proto.
14183
600cedf7
VS
141842010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14185
14186 Menu entries extractor.
14187
14188 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
14189 variants.
14190 (GRUB_MOD_INIT): Register new variants.
14191 (GRUB_MOD_FINI): Unregister new variants.
14192 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
14193 into grub_cmd_legacy_source.
14194 (grub_cmd_legacy_source): Implement extractor variants.
14195 (GRUB_MOD_INIT): Register new variants.
14196 (GRUB_MOD_FINI): Unregister new variants.
14197 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
14198 as an extractor.
14199 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
14200 search as an extractor.
14201 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
14202 test as an extractor.
14203 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
14204 as an extractor.
14205 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
14206 (grub_env_new_context): New function.
14207 (grub_env_context_open): Likewise.
14208 (grub_env_extractor_open): Likewise.
14209 (grub_env_extractor_close): Likewise.
14210 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
14211 grub_extractor_level.
14212 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
14213 * include/grub/env.h (grub_env_extractor_open): New proto.
14214 (grub_env_extractor_close): Likewise.
14215 * include/grub/normal.h (grub_extractor_level): New external variable.
14216
7bda3a87
VS
142172010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14218
14219 Make cutmem accept a region specification.
14220 Suggested by: Samuel Thibault
14221
14222 * grub-core/mmap/mmap.c (parsemem): New function.
14223 (grub_cmd_cutmem): Handle new arguments.
14224
2ea57f88
VS
142252010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14226
14227 New command cutmem.
14228
14229 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
14230 (GRUB_MOD_INIT): Register new command.
14231 (GRUB_MOD_FINI): Unregister new command.
14232
74342e31
VS
142332010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14234
14235 Support some annoying BSD and Minix subpartitions.
14236
14237 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
14238 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
14239 Properly handle concatenation.
14240 * grub-core/kern/device.c (grub_device_iterate): Likewise.
14241 * grub-core/normal/completion.c (iterate_partition): Likewise.
14242 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
14243 contain partition. All users updated.
14244 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
14245 struct.
14246 (grub_openbsdlabel_partition_map): Likewise.
14247 (bsdlabel_partition_map_iterate): Rename to ..
14248 (iterate_real): ... this. New arguments sector, freebsd and pmap.
14249 (bsdlabel_partition_map_iterate): New function.
14250 (netopenbsdlabel_partition_map_iterate): Likewise.
14251 (netbsdlabel_partition_map_iterate): Likewise.
14252 (openbsdlabel_partition_map_iterate): Likewise.
14253 (GRUB_MOD_INIT): Register new partmaps.
14254 (GRUB_MOD_FINI): Unregister new partmaps.
14255 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
14256 (grub_partition_msdos_iterate): ... this. All users updated.
14257 Don't support embedding other than in a minix partition.
14258 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
14259 proto.
14260 * include/grub/partition.h (grub_partition): New field msdostype.
14261 * util/grub-install.in: Handle openbsd and netbsd types being in
14262 part_bsd module.
14263
1e8d555b
VS
142642010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14265
14266 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
14267
14268 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
14269 * grub-core/Makefile.core.def (mdraid): Renamed to ...
14270 (mdraid09): ... this.
14271 (mdraid1x): New module.
14272 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
14273 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
14274
899d8af4
VS
142752010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14276
14277 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
14278 vsprintf.
14279
40901acd
CW
142802010-09-20 Colin Watson <cjwatson@ubuntu.com>
14281
14282 * grub-core/commands/efi/lsefimmap.c: Correct header.
14283 * NEWS: Update.
14284
dfe3b247
CW
142852010-09-20 Colin Watson <cjwatson@ubuntu.com>
14286
14287 * util/grub-editenv.c (argp_parser): Don't pass translated strings
14288 as printf format strings; the translations might contain '%' which
14289 could cause a crash.
14290 (main): Likewise.
14291 * util/grub-fstest.c (argp_parser): Likewise.
14292 * util/grub-setup.c (argp_parser): Likewise.
14293 (main): Likewise.
14294
3286a4b4
VS
142952010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14296
14297 Use argp in grub-fstest.
14298
14299 * util/grub-fstest.c: Don't include getopt.h.
14300 Include argp.h.
14301 (root): New variable.
14302 (args_count): Likewise.
14303 (nparm): Likewise.
14304 (num_disks): Likewise.
14305 (images): Likewise.
14306 (cmd): Likewise.
14307 (debug_str): Likewise.
14308 (args): Likewise.
14309 (options): Transformed to argp.
14310 (usage): Removed.
14311 (main): Split argument parsing into ...
14312 (argp_parser): ... this. Changed to argp format.
14313 (argp): New variable.
14314 (main): Use argp_parse.
14315
3dccbe4b
TG
143162010-09-20 Tristan Gingold <gingold@free.fr>
143172010-09-20 Robert Millan <rmh.grub@aybabtu.com>
143182010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14319
14320 * grub-core/commands/efi/lsefimmap.c: New file.
14321 * grub-core/Makefile.core.def (lsefimmap): New module.
14322 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
14323
38c259a7
VS
143242010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14325
14326 Pause the execution (10s max) if any errors are displayed so the user
14327 has a chance to see them.
14328
14329 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
14330 (grub_print_error): Increment grub_err_printed_errors.
14331 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
14332 execution if any errors were displayed.
14333 (show_menu): Remove old code for pause.
14334 * grub-core/normal/menu_entry.c (run): Likewise.
14335 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
14336 users updated.
14337 (grub_normal_get_char_counter): Likewise.
14338 * include/grub/err.h (grub_err_printed_errors): New external variable.
14339 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
14340
f218b09c
VS
143412010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14342
14343 Support multiboot VBE info.
14344
14345 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14346 Take VBE info into account.
14347 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
14348 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
14349 Call fill_vbe_info when appropriate.
14350 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
14351 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
14352 as supported.
14353 (grub_multiboot_get_mbi_size): Take new tags into account.
14354 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
14355 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
14356 Call fill_vbe_tag when appropriate.
14357 (grub_multiboot_make_mbi): Properly align tags.
14358 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
14359 function.
14360 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
14361 proto.
14362 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
14363
a9cc5438
VS
143642010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14365
14366 Suport manual terminal geometry specification.
14367
14368 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
14369 Save state in grub_ofconsole_terminfo_output.
14370 (grub_ofconsole_term): Use grub_terminfo_getwh.
14371 (grub_ofconsole_getwh): Removed.
14372 * grub-core/term/serial.c (grub_serial_getwh): Removed.
14373 (grub_serial_term): Use grub_terminfo_getwh.
14374 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
14375 (options): New struct.
14376 (OPTION_*): New enum.
14377 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
14378 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
14379 width and height.
14380 (grub_terminfo_getwh): New proto.
14381 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
14382
1a8fed20
VS
143832010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14384
14385 Handle legacy "terminal" command.
14386
14387 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
14388 and FLAG_TERMINAL.
14389 (legacy_commands): Add terminal and title.
14390 (grub_legacy_parse): Handle terminal. Simplify title handling.
14391
41e9c57d
VS
143922010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14393
14394 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
14395 parameters overflow.
14396
61c874c5
CW
143972010-09-20 Colin Watson <cjwatson@ubuntu.com>
14398
14399 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
14400 widthspec.h.
14401
14402 * docs/grub.texi (Shell-like scripting): Document `!'.
14403 (Network): Simplify using new i386-pc-pxe format. Mention
14404 grub-mknetdir.
14405
14406 * NEWS: Update.
14407
943682b4
CW
144082010-09-20 Colin Watson <cjwatson@ubuntu.com>
14409
14410 * Makefile.am (SUBDIRS): Restore "."; it's important to force
14411 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
14412 when needed.
14413
6d3d698d
CW
144142010-09-20 Colin Watson <cjwatson@ubuntu.com>
14415
14416 * grub-core/commands/efi/lsefisystab.c: Correct header.
14417 * grub-core/commands/efi/lssal.c: Likewise.
14418 * grub-core/commands/testload.c: Likewise.
14419
c982589f
CW
144202010-09-20 Colin Watson <cjwatson@ubuntu.com>
14421
14422 * util/grub-mkrescue.in: Add explicit root argument to --set to
14423 prevent the UUID being interpreted as an argument to --set (matches
14424 previous change to prepare_grub_to_access_device).
14425
a63c31b6
CW
144262010-09-20 Colin Watson <cjwatson@ubuntu.com>
14427
14428 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
14429 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
14430 the verbosity of later #ifs.
14431 (find_partition_start): Define this function on FreeBSD too.
14432 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
14433 function.
14434 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
14435 on FreeBSD.
14436
6439b8ee
YB
144372010-09-20 Yves Blusseau <blusseau@zetam.org>
14438
14439 * util/grub-editenv.c: Use argp instead of getopt.
14440
c5930ec8
YB
144412010-09-20 Yves Blusseau <blusseau@zetam.org>
14442
14443 * util/grub-setup.c: Use argp instead of getopt.
14444
15c69261
YB
144452010-09-20 Yves Blusseau <blusseau@zetam.org>
14446
14447 Use gnulib-tool to create gnulib source files.
14448
14449 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
14450 grub-core/gnulib directories
14451 * .bzignore: Add **/.deps and autogenerated gnulib files
14452 * configure.ac: Assign auxiliary directory to build-aux, add invocation
14453 of gnulib macros, add grub-core/gnulib/Makefile
14454 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
14455 include m4 directory to aclocal.
14456 * Makefile.util.def: Remove direct compilation of gnulib source files
14457 and use the new grub-core/gnulib/libgnu.a.
14458 * build-aux/config.rpath: move config.rpath from top directory to
14459 build-aux
14460 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
14461 in gnulib headers
14462 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
14463 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
14464 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
14465 header.
14466 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
14467 string.
14468
e511c9f5
YB
144692010-09-20 Yves Blusseau <blusseau@zetam.org>
14470
14471 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
14472 grub-core/genmod.sh and grub-core/gensyminfo.sh
14473
c2dede05
BC
144742010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
14475
14476 Add a test for echo command options.
14477
14478 * tests/grub_cmd_echo.in: New test.
14479 * Makefile.util.def: Rules for new test.
14480
c55f5018
SJ
144812010-09-20 Szymon Janc <szymon@janc.net.pl>
14482
14483 Remove crc.mod and move crc command to hashsum.mod.
14484 Remove lib/crc.c - users updated to use gcrypt implementation.
14485
14486 * grub-core/commands/crc.c: Removed.
14487 * grub-core/Makefile.core.def (crc): Module removed.
14488 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
14489 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
14490 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
14491 * grub-core/lib/crc.c: Removed.
14492 * include/grub/lib/crc.h: Removed.
14493 * Makefile.util.def (crc): Remove lib/crc.c
14494 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
14495 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
14496 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
14497 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
14498 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
14499 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
14500
e0337366
VS
145012010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14502
14503 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
14504
742f9232
VS
145052010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14506
14507 Split config.h for util and core.
14508
14509 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
14510 (ADDR32): Likewise.
14511 (DATA32): Likewise.
14512 (BSS_START_SYMBOL): Likewise.
14513 (END_SYMBOL): Likewise.
14514 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
14515 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
14516 * config.h.in: New file.
14517 * configure.ac: Use config-util.h as config define file.
14518 Rename MACHINE into GRUB_MACHINE. All users updated.
14519 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
14520 updated.
14521 (NESTED_FUNC_ATTR): Likewise.
14522 Substitue new variables.
14523 (COND_HAVE_ASM_USCORE): New conditional.
14524 * grub-core/Makefile.am (ASM_PREFIX): New variable.
14525 (kernel_syms.lst): Use ASM_PREFIX.
14526 * grub-core/kern/emu/console.c: Include config-util.h.
14527 * grub-core/kern/emu/misc.c: Likewise.
14528 * grub-core/kern/emu/mm.c: Likewise.
14529 * include/grub/emu/misc.h: Likewise.
14530 * include/grub/libgcc.h: Likewise.
14531
39feb0e8
VS
145322010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14533
14534 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
14535 constants usage.
14536 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
14537 Fix GRUB_TERM_KEY_* constants usage.
14538 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
14539
9af6dac3
VS
145402010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14541
14542 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
14543 print pointer.
14544 * grub-core/bus/usb/uhci.c: Remove empty define.
14545 (grub_uhci_check_transfer): Add missing cast.
14546 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
14547 print pointer.
14548 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
14549 PRIuGRUB_SIZE.
14550 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
14551
d6d94820
VS
145522010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14553
14554 * grub-core/Makefile.core.def (legacycfg): Add
14555 lib/i386/pc/vesa_modes_table.c on emu.
14556
3572f2b6
BC
145572010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
14558
14559 Reduce number of temporary files generated by build system.
14560
14561 * grub-core/gencmdlist.sh: Removed.
14562 * grub-core/genfslist.sh: Removed.
14563 * grub-core/genhandlerlist.sh: Removed.
14564 * grub-core/genmodsrc.sh: Removed.
14565 * grub-core/genpartmaplist.sh: Removed.
14566 * grub-core/genparttoollist.sh: Removed.
14567 * grub-core/gentermiinallist.sh: Removed.
14568 * grub-core/genvideolist.sh: Removed.
14569
14570 * grub-core/genmod.sh.in: New file.
14571 * grub-core/gensyminfo.sh.in: New file.
14572
14573 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
14574 * conf/Makefile.extra-dist: Update with new files.
14575 * gentpl.py: Remove rules related to unnecessary temporary files.
14576 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
14577 and und-* files.
14578 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
14579 genmod.sh scripts.
14580 * grub-core/bus/usb/uhci.c: Remove empty #define.
14581 * grub-core/genmoddep.awk: Updated with new syminfo format.
14582 * util/bash-completion.d/Makefile.am: Add config.log to
14583 CLEANFILES.
14584
c836b030
YB
145852010-09-19 Yves Blusseau <blusseau@zetam.org>
14586
14587 * Makefile.util.def: Add forgotten $(LIBINTL) library.
14588
2f4e8053
BC
145892010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
14590
14591 * util/grub-mkconfig.in: Check the config script for syntax errors
14592 before saving.
14593
75831c34
CW
145942010-09-19 Colin Watson <cjwatson@ubuntu.com>
145952010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14596
14597 * Makefile.util.def (grub-install): Use util/grub-install.in on all
14598 platforms.
14599 * util/grub-install.in: Add EFI and IEEE1275 support.
14600 * util/i386/efi/grub-install.in: Removed.
14601 * util/ieee1275/grub-install.in: Likewise.
14602
eaf41b25
VS
146032010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14604
14605 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
14606 (grub_cmd_cmosclean): Likewise.
14607 (GRUB_MOD_INIT): Register command cmosclean.
14608 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
14609 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
14610
1a9130dd
CPE
146112010-09-18 Carles Pina i Estany <carles@pina.cat>
146122010-09-18 Aleš Nesrsta <starous@volny.cz>
146132010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
14614
14615 Add keyboard layouts support.
14616
14617 * Makefile.util.def (grub-mklayout): New file.
14618 (grub-kbdcomp): New script.
14619 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
14620 Add keyboard_layouts.h.
14621 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
14622 commands/boot.c on yeeloong.
14623 (keylayouts): New module.
14624 * grub-core/bus/usb/ohci.c
14625 * grub-core/bus/usb/uhci.c
14626 * grub-core/bus/usb/usbhub.c (rescan): New variable.
14627 (grub_usb_add_hub): Poll interrupt pipe for device handling.
14628 (attach_root_port): Likewise.
14629 (poll_nonroot_hub): Likewise.
14630 (grub_usb_poll_devices): Likewise.
14631 (detach_device): Close transfer.
14632 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
14633 function.
14634 (grub_usb_bulk_setup_readwrite): Likewise.
14635 (grub_usb_bulk_finish_readwrite): Likewise.
14636 * grub-core/commands/keylayouts.c: New file.
14637 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
14638 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
14639 aliases.
14640 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
14641 support scancode 2.
14642 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
14643 * include/grub/keyboard_layouts.h: New file.
14644 * util/grub-mklayout.c: New file.
14645 * util/grub-kbdcomp.in: Likewise.
14646
a1d84a5e
VS
146472010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
14648
14649 Unify memory types.
14650
14651 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
14652 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
14653 types.
14654 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
14655 (grub_upper_mem): Likewise.
14656 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
14657 * include/grub/memory.h (grub_memory_type_t): New enum.
14658 All users updated.
14659
9696382e
VS
146602010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
14661
14662 * grub-core/Makefile.core.def (lsapm): New module.
14663 * grub-core/commands/i386/pc/lsapm.c: New file.
14664 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
14665 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
14666 Likewise.
14667 * include/grub/i386/pc/apm.h: New file.
14668 * include/multiboot.h (multiboot_apm_info): New struct.
14669
146702010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
14671
14672 GRUB-legacy configuration file support.
14673
14674 * Makefile.util.def (grub-menulst2cfg): New util.
14675 * docs/man/grub-menulst2cfg.h2m: New file.
14676 * grub-core/Makefile.core.def (legacycfg): New module.
14677 * grub-core/commands/legacycfg.c: New file.
14678 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
14679 (grub_normal_add_menu_entry): ... this.
14680 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
14681 (grub_normal_set_password): ...this.
14682 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
14683 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
14684 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
14685 * grub-core/lib/legacy_parse.c: New file.
14686 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
14687 * include/grub/i386/pc/vesa_modes_table.h: New file.
14688 * include/grub/legacy_parse.h: Likewise.
14689 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
14690 * util/grub-menulst2cfg.c: New file.
14691
bf8d1338
CW
146922010-09-17 Colin Watson <cjwatson@ubuntu.com>
14693
14694 * grub-core/kern/emu/hostdisk.c
14695 (convert_system_partition_to_system_disk): Initialise node.
14696
9c0bad2e
CW
146972010-09-17 Colin Watson <cjwatson@ubuntu.com>
14698
14699 * grub-core/kern/emu/hostdisk.c
14700 (convert_system_partition_to_system_disk): Fix devmapper memory pool
14701 leak.
14702 Reported and based on patch by: Modestas Vainius.
14703
a939d135
CW
147042010-09-17 Colin Watson <cjwatson@ubuntu.com>
14705
14706 Fix DM-RAID probing with recent versions of device-mapper udev
14707 rules.
14708
14709 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
14710 canonicalise device paths under /dev/mapper/.
14711 (convert_system_partition_to_system_disk): Compare the
14712 uncanonicalised path to /dev/mapper/ rather than the canonicalised
14713 path, since device nodes under /dev/mapper/ are often symlinks.
14714
0f7ee3c9
YB
147152010-09-17 Yves Blusseau <blusseau@zetam.org>
14716
14717 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
14718
10854d0d
YB
147192010-09-16 Yves Blusseau <blusseau@zetam.org>
14720
14721 * configure.ac: Avoid some annoying error messages if freetype-config
14722 program is not found.
14723
108538d8
CW
147242010-09-16 Colin Watson <cjwatson@ubuntu.com>
14725
14726 Support RAID on virtio devices, and others.
14727
14728 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
14729 Rename to ...
14730 [__MINGW32__] (grub_find_device): ... this.
14731 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
14732 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
14733 reasonable default if dir is NULL.
14734 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
14735 ...
14736 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
14737 (grub_guess_root_device): Update callers.
14738 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
14739
14740 * util/raid.c (grub_util_getdiskname): Remove.
14741 (grub_util_raid_getmembers): Use grub_find_device rather than
14742 grub_util_getdiskname.
14743
e5bfc130
CW
147442010-09-16 Colin Watson <cjwatson@ubuntu.com>
14745
14746 * docs/grub.texi (serial): Remove obsolete comment about GRUB
14747 needing to be compiled with serial support.
14748 (ls): Indicate that multiple files are accepted.
14749 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
14750 indicate that multiple files are accepted.
14751
be458ae2
CW
147522010-09-16 Colin Watson <cjwatson@ubuntu.com>
14753
14754 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
14755 libgrub_a_init.c, and util/bash-completion.d/grub.
14756
cb731b5e
VS
147572010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14758
14759 * util/grub-setup.c (setup): Fix incorrect container semantics.
14760
35139e8a
VS
147612010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14762
14763 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
14764 misusage.
14765 Reported by: J. Nick Terry
14766
e50fca4a
VS
147672010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14768
14769 Move embedding routines to partmap sources files.
14770
14771 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
14772 [GRUB_UTIL]: New variable.
14773 (gpt_partition_map_iterate): Set part.parent.
14774 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
14775 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
14776 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
14777 New function.
14778 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
14779 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
14780 (grub_partition_map) [GRUB_UTIL]: New field embed.
14781 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
14782 (setup): Use ->embed.
14783
f00478b7
VS
147842010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14785
14786 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
14787 function.
14788 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
14789 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
14790
2b94e3ff
YB
147912010-09-15 Yves Blusseau <blusseau@zetam.org>
14792
14793 Add function to get completions from usage.
14794
14795 * util/bash-completion.d/grub-completion.bash.in: Add function to get
14796 completions from usage. Use LC_ALL=C to get options properly.
14797
2e04a006
VS
147982010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14799
14800 * grub-core/gnulib/basename-lgpl.c: Imported.
14801 * grub-core/gnulib/basename.c: Likewise.
14802 * grub-core/gnulib/dirname-lgpl.c: Likewise.
14803 * grub-core/gnulib/dirname.c: Likewise.
14804 * grub-core/gnulib/dirname.h: Likewise.
14805 * grub-core/gnulib/stripslash.c: Likewise.
14806
5dcdf93a
VS
148072010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14808
14809 * grub-core/gnulib/error.c: Resynced.
14810 * grub-core/gnulib/getopt.c: Likewise.
14811 * grub-core/gnulib/getopt_int.h: Likewise.
14812 * grub-core/gnulib/regex.h: Likewise.
14813 * grub-core/gnulib/regex_internal.c: Likewise.
14814 * grub-core/gnulib/regex_internal.h: Likewise.
14815
014f47b7
SJ
148162010-09-15 Szymon Janc <szymon@janc.net.pl>
14817
14818 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
14819 CRC calculations and validity checks.
14820 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
14821 calculations.
14822
dd521a4a
SJ
148232010-09-15 Szymon Janc <szymon@janc.net.pl>
14824
14825 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
14826
79c4eeb9
VS
148272010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14828
14829 Fix incorrect echo options handling.
14830 Reported by: Yves Blusseau.
14831
14832 * include/grub/command.h (grub_command_flags_t): New flags
14833 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
14834 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
14835 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
14836
ed80f7d5
VS
148372010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14838
14839 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
14840 users updated.
14841 (GRUB_COMMAND_FLAG_MENU): Likewise.
14842 (GRUB_COMMAND_FLAG_BOTH): Likewise.
14843 (GRUB_COMMAND_FLAG_TITLE): Removed.
14844 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
14845 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
14846 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
14847 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
14848 (grub_command_flags_t): New enum. All users updated.
14849
5fe7620a
SG
148502010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
14851
14852 Fix solaris compilation.
14853
14854 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
14855 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
14856 (grub-emu-list): Likewise.
14857
545b752f
VS
148582010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14859
14860 Remove deprecated root command.
14861
14862 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
14863 updated.
14864
6c1a338c
VS
148652010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14866
14867 * util/i386/pc/grub-setup.c: Merge this ...
14868 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
14869 * util/grub-setup.c: ... into this.
14870 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
14871 New struct.
14872
148732010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14874
14875 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
14876 possible.
14877
d2ea4551
VS
148782010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14879
14880 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
14881 allocate p.
14882
3c3b5040
VS
148832010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14884
14885 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
14886 explicit root argument to set to prevent UUID to be interpreted as
14887 argument to set.
14888
b71c3fae
VS
148892010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14890
14891 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
14892
275433e6
VS
148932010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14894
14895 Don't export grub_gate_a20.
14896
14897 * grub-core/kern/i386/pc/init.c: Remove leftovers.
14898 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
14899 to ...
14900 (grub_gate_a20): ... this. All users updated.
14901 * include/grub/i386/pc/init.h: Removed. All users updated.
14902
a5dbb1f1
VS
149032010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14904
14905 Create euro.pf2 which supports most European languages.
14906
14907 * Makefile.am (grubdata_DATA): Add euro.pf2.
14908 (euro.pf2): New target.
14909 (CLEANFILES): Add euro.pf2.
14910
62a747cb
VS
149112010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14912
14913 * configure.ac: Disable emu-usb by default to prevent inadvertent
14914 device takeover.
14915
608e43b1
VS
149162010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14917
14918 Disable usbserial on grub-emu since our libusb code isn't good enough
14919 yet.
14920
14921 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
14922 (usbserial_pl2303): Likewise.
14923 (usbserial_ftdi): Likewise.
14924
94564f81
VS
149252010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14926
14927 * include/grub/disk.h (grub_disk): Remove has_partitions.
14928 All users updated.
14929 * disk/loopback.c (grub_loopback): Remove has_partitions.
14930 All users updated.
14931 (options): Remove partitions. All users updated.
14932 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
14933 * util/i386/pc/grub-setup.c (setup): copy partition table only when
14934 actual partition table is found.
14935
3352800b
VS
149362010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14937
14938 Remove readability checks (too many false negatives).
14939
14940 * util/grub-install.in: Remove readability checks.
14941 * util/grub-mkconfig.in: Likewise.
14942 * util/grub.d/10_hurd.in: Likewise.
14943 * util/grub.d/10_kfreebsd.in: Likewise.
14944 * util/grub.d/10_linux.in: Likewise.
14945 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
14946 way.
14947
2419f17a
VS
149482010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14949
14950 Enable acpi shutdown on all ACPI platforms.
14951
14952 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
14953 on coreboo, multiboot and EFI.
14954 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
14955 (grub_acpi_halt): Likewise.
14956 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
14957 (grub_cmd_halt): Don't call grub_acpi_halt directly.
14958 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
14959 * grub-core/lib/i386/halt.c (grub_halt)
14960 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
14961
0575c7c3
VS
149622010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14963
14964 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
14965 context.
14966
54ac3cd1
VS
149672010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14968
14969 * grub-core/video/efi_gop.c: Fix over-80-chars line.
14970 * grub-core/video/efi_uga.c: Likewise.
14971
b2a30ac5
VS
149722010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14973
14974 Filter devaliases and never open same device twice.
14975
14976 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
14977 (last_ihandle): Likewise.
14978 (ofdisk_hash_ent): New member shortest.
14979 (ofdisk_hash_add): Add canonical path too.
14980 (scan): New function.
14981 (grub_ofdisk_iterate): Iterate over hashed entries.
14982 (compute_dev_path): Don't add :0.
14983 (grub_ofdisk_open): Don't really open the disk.
14984 (grub_ofdisk_close): Avoid closing unrelated disk.
14985 (grub_ofdisk_read): Implement reopen logic.
14986 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
14987 New function.
14988 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
14989 New proto.
14990
fb53b340
VS
149912010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14992
14993 Fix sparc64.
14994
14995 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
14996 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
14997 right address. Add sparc64_ieee1275_ldflags.
14998 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
14999 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
15000 to grub_host_to_target_addr
15001 (load_image): Likewise.
15002
f452b040
VS
150032010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15004
15005 * grub-core/normal/completion.c (complete_file): Handle device
15006 containing slash.
15007 Fix based on patch by Doug Nazar.
15008
9b5b2541
VS
150092010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15010
15011 grub-mknetdir script.
15012
15013 * Makefile.util.def (grub-mknetdir): New module.
15014 * tests/util/grub-shell.in: Support boot=net
15015 * util/grub-mknetdir.in: New file.
15016
9d2be652
VS
150172010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15018
15019 videoinfo on non-vbe.
15020
15021 * grub-core/Makefile.core.def (vbeinfo): Removed.
15022 (vbetest): Removed.
15023 (videoinfo): New module.
15024 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
15025 * grub-core/commands/i386/pc/vbetest.c: Removed.
15026 * grub-core/commands/videoinfo.c: New file.
15027 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
15028 specification.
15029 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
15030 as vbetest.
15031 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
15032 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
15033 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
15034 mode_number. New parameter mode. All users updated.
15035 (grub_video_gop_iterate): New function.
15036 (grub_video_efi_gop): New member iterate.
15037 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
15038 (grub_vbe_set_video_mode): Remove setting useless fields.
15039 (vbe2videoinfo): New function.
15040 (grub_video_vbe_iterate): Likewise.
15041 (grub_video_vbe_setup): Use vbe2videoinfo.
15042 (grub_video_vbe_print_adapter_specific_info): New function.
15043 (grub_video_vbe_adapter): New fields iterate and
15044 print_adapter_specific_info.
15045 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
15046 All users updated.
15047 (grub_video_mode_info): New field mode_number.
15048 (grub_video_adapter): New fields iterate and
15049 print_adapter_specific_info.
15050
179503f5
TG
150512010-09-13 Tristan Gingold <gingold@free.fr>
150522010-09-13 Robert Millan <rmh.grub@aybabtu.com>
150532010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15054
15055 * grub-core/commands/efi/lsefisystab.c: New file.
15056 * grub-core/commands/efi/lssal.c: Likewise.
15057 * grub-core/Makefile.core.def (lsacpi): New module.
15058 (lsefisystab): Likewise.
15059 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
15060 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
15061 (grub_efi_sal_system_table): New struct.
15062 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
15063 (grub_efi_sal_system_table_memory_descriptor): Likewise.
15064 (grub_efi_sal_system_table_platform_features): Likewise.
15065 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
15066 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
15067 (grub_efi_sal_system_table_ap_wakeup): Likewise.
15068 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
15069
cf9827de
VS
150702010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15071
15072 Support explicit user claim that a device is BIOS-visible.
15073
15074 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
15075 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
15076 * grub-core/kern/emu/hostdisk.c
15077 (convert_system_partition_to_system_disk): Support mdX.
15078 (find_system_device): New parameter add. All users updated.
15079 (grub_util_biosdisk_is_present): New function.
15080 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
15081 proto.
15082
53f0eb1f
VS
150832010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15084
15085 Search hints support.
15086
15087 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
15088 All users updated.
15089
b23ffd70
YB
150902010-09-13 Yves Blusseau <blusseau@zetam.org>
15091
15092 Bash completion script for util commands
15093
15094 * Makefile.am: Add util/bash-completion.d directory
15095 * configure.ac: Likewise.
15096 * util/bash-completion.d/Makefile.am: New file.
15097 * util/bash-completion.d/grub-completion.bash.in: Likewise.
15098
d547dc28
VS
150992010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15100
15101 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
15102 (print_backlog): set backlog_ucs4 and backlog_glyphs.
15103 Reported by: Yves Blusseau.
15104
2fc8ccb9
VS
151052010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15106
15107 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
15108 partition size and offset.
15109
d8a84076
VS
151102010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15111
15112 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
15113
84fb3b3d
VS
151142010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15115
15116 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
15117
768ec2e2
VS
151182010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15119
15120 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
15121 (grub_xvasprintf): Likewise.
15122
4870900f
VS
151232010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15124
15125 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
15126
faca6bec
VS
151272010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15128
15129 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
15130 args ending with NULL.
15131
151322010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
15133
15134 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
15135 pointer.
15136
3c70f225
SJ
151372010-09-11 Szymon Janc <szymon@janc.net.pl>
15138
15139 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
15140
4df7996d
VS
151412010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15142
15143 Shutdown using ACPI.
15144
15145 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
15146 * grub-core/commands/acpihalt.c: New file.
15147 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
15148 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
15149 (grub_acpi_halt): New proto.
15150 (GRUB_ACPI_SLP_EN): New const.
15151 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
15152 (GRUB_ACPI_OPCODE_*): New enum.
15153 (GRUB_ACPI_EXTOPCODE_*): Likewise.
15154
126b4c32
TG
151552010-09-11 Tristan Gingold <gingold@free.fr>
151562010-09-11 Robert Millan <rmh.grub@aybabtu.com>
151572010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15158
15159 * commands/lsacpi.c: New file.
15160 * grub-core/Makefile.core.def (lsacpi): New module.
15161 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
15162 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
15163 (grub_acpi_madt_entry_header): New struct.
15164 (grub_acpi_madt): Likewise.
15165 (grub_acpi_madt_entry_interrupt_override): Likewise.
15166 (grub_acpi_madt_entry_sapic): Likewise.
15167 (grub_acpi_madt_entry_lsapic): Likewise.
15168 (grub_acpi_madt_entry_platform_int_source): Likewise.
15169 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
15170 (PRIuGRUB_UINT32_T): Likewise.
15171 (PRIxGRUB_UINT64_T): Likewise.
15172
1aa4fe88
VS
151732010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15174
15175 Implement loading palette on ieee1275_fb.
15176
15177 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
15178 (have_setcolors): Likewise.
15179 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
15180 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
15181 (grub_video_ieee1275_set_palette): Implement.
15182
25761e13
VS
151832010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
151842010-09-11 Colin Watson <cjwatson@ubuntu.com>
15185
15186 * util/grub-install.in (grub_partition): New variable.
15187 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
15188 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
15189 Fixes a bug reported by Yves Blusseau.
15190
050abaea
VS
151912010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15192
15193 Fix emu on mipsel.
15194
15195 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
15196 =grub_cpu_flush_cache on all mips and not only yeeloong.
15197 * configure.ac (COND_mips): New conditional.
15198 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
15199 platforms.
15200 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
15201 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
15202 [GRUB_LINKER_HAVE_INIT]: New function.
15203 (grub_emu_post_init): Likewise.
15204 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
15205 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
15206 * include/grub/cache.h (_mips): Include mips/cache.h.
15207 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
15208 LVM and RAID prototypes.
15209 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
15210 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
15211 function.
15212
5ed7d816
CW
152132010-09-10 Colin Watson <cjwatson@ubuntu.com>
15214
15215 * util/grub-install.in: Don't try to verify core.img until after
15216 running grub-mkimage to create it.
15217
90367e04
RM
152182010-09-10 Robert Millan <rmh@gnu.org>
15219
15220 * util/grub.d/10_hurd.in: Add misc readability checks.
15221 * util/grub.d/10_kfreebsd.in: Likewise.
15222 * util/grub.d/10_linux.in: Likewise.
15223
c452fa66
CW
152242010-09-10 Colin Watson <cjwatson@ubuntu.com>
15225
15226 * util/grub-install.in: ${imgext} won't be defined here until the
15227 install branch is merged. For the meantime, only verify core.img on
15228 i386-pc and sparc64-ieee1275 platforms.
15229
c38fe9f4
RM
152302010-09-10 Robert Millan <rmh@gnu.org>
15231
15232 Solaris support in grub_find_zpool_from_dir(). Thanks
15233 Seth Goldberg for referring to getextmntent() facility.
15234
15235 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
15236 `sys/mkdev.h'.
15237 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
15238 `<sys/mnttab.h>'.
15239 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
15240 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
15241 method for finding zpool name.
15242
905f7773
CW
152432010-09-10 Colin Watson <cjwatson@ubuntu.com>
15244
15245 grub-fstest needs the host and hostfs modules while other utilities
15246 actively require those modules to be absent, so grub-fstest needs
15247 its own initialisation and finalisation code.
15248
15249 * Makefile.am (grub_fstest.pp): New target.
15250 (grub_fstest_init.lst): Likewise.
15251 (grub_fstest_init.c): Likewise.
15252 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
15253
fb90b546
RM
152542010-09-10 Robert Millan <rmh@gnu.org>
15255
15256 * configure.ac: Check for `struct statfs.f_fstypename' and
15257 `struct statfs.f_mntfromname'.
15258
15259 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
15260 kFreeBSD-specific code.
15261
66d4bea5
RM
152622010-09-10 Robert Millan <rmh@gnu.org>
15263
15264 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
15265 on ZFS. Now non-main filesystems are supported as / too.
15266
b6a690ee
CW
152672010-09-09 Colin Watson <cjwatson@ubuntu.com>
15268
15269 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
15270 and grub-core/disk/host.c to ...
15271 (grub-fstest): ... here. Having the host disk implementation
15272 present confuses grub-probe and other utility programs.
15273
15274 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
15275 when writing to a file, not when writing to stdout.
15276
8901b00c 152772010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
15278
15279 * tests/partmap_test.in: New test for partitions.
15280 * Makefile.util.def: Rules for new test.
15281
7bf45fdd
RM
152822010-09-09 Robert Millan <rmh@gnu.org>
15283
15284 * util/grub-probe.c (probe): Fix a pair of unhandled error
15285 conditions.
15286
4dfbc574
RM
152872010-09-09 Robert Millan <rmh@gnu.org>
15288
15289 Basic Btrfs support (detection and UUID).
15290
15291 * grub-core/fs/btrfs.c: New file.
15292 * Makefile.util.def (library): Register btrfs.c.
15293 * grub-core/Makefile.core.def: Likewise.
15294
6b8e78ae
RM
152952010-09-08 Robert Millan <rmh@gnu.org>
15296
15297 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
15298 with (optional) parameters to specify device and relative path.
15299 * util/grub-install.in: Use is_path_readable_by_grub() to
15300 verify readability of a few critical files.
15301 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
15302 verify readability of grub.cfg.new.
15303
27f21a8b
VS
153042010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
15305
15306 Split minix.mod into minix.mod and minix2.mod.
15307
15308 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
15309 * grub-core/Makefile.core.def (minix2): New module.
15310 * grub-core/fs/minix.c: Use definitions instead of runtime version
15311 checking.
15312 * grub-core/fs/minix2.c: New file.
15313
c0e53ea5
YB
153142010-09-08 Yves Blusseau <blusseau@zetam.org>
15315
15316 Add new --boot-directory option to replace --root-directory
15317
15318 * util/grub-install.in: Add new --boot-directory option
15319 * util/grub-reboot.in: Likewise.
15320 * util/grub-set-default.in: Likewise.
15321
b9fe6ea2
YB
153222010-09-08 Yves Blusseau <blusseau@zetam.org>
15323
15324 * util/grub-mkconfig.in: Use new variable.
15325
d87aedff
YB
153262010-09-08 Yves Blusseau <blusseau@zetam.org>
15327
15328 * configure.ac: Define some useful variables.
15329
e55e8495
VS
153302010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
15331
15332 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
15333 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
15334 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
15335 Use terminfo and don't use cursor-on/cursor-off unless it's known
15336 to work.
15337 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
15338 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
15339
6fa6d675
CW
153402010-09-08 Colin Watson <cjwatson@ubuntu.com>
15341
15342 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
15343 starts with "(,", fill the drive containing the loaded image in
15344 between those two characters, but expect that a full partition
15345 specification including partition map names will follow.
15346
92f2aef0
RM
153472010-09-08 Robert Millan <rmh@gnu.org>
15348
15349 * configure.ac: Remove `--enable-grub-fstest' option.
15350 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
15351
15352 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
15353 `grub-fstest' instead of `grub-probe' for readability verification.
15354 * util/grub-probe.c (probe): Remove readability verification kludge.
15355
99fd620d
RM
153562010-09-08 Robert Millan <rmh@gnu.org>
15357
15358 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
15359 initializing `GRUB_FS'.
15360
058e30ac 153612010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
15362
15363 Not command (!) support to GRUB script.
15364
15365 * tests/grub_script_not.in: New test.
15366 * Makefile.util.def: Rules for new test.
15367
15368 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
15369 ! command as a special case.
15370 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
15371
b61d05ed 153722010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15373
058e30ac 15374 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
15375 grub_free.
b61d05ed 15376
4d69c786 153772010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15378
15379 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
15380
aa3119c4 153812010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15382
15383 * docs/grub.texi (Shell-like scripting): Documentation for break,
15384 continue, shift and return commands.
15385
db0f7e3d
VS
153862010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
15387
15388 Rename CD-ROM to cd on BIOS.
15389
15390 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
15391 "cd".
15392 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
15393
88b87c93
VS
153942010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15395
15396 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
15397 * util/grub-probe.c (main): Likewise.
15398 * util/i386/pc/grub-setup.c (main): Likewise.
15399 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
15400 Reported and debugged by: alexxy
15401
294f324d
VS
154022010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15403
15404 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
15405 diagnostic info.
15406
d7ee3441
JS
154072010-09-05 Jo Shields <directhex@apebox.org>
15408
15409 * util/grub.d/30_os-prober.in: Add missing classes.
15410
d7e06c1f
VS
154112010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15412
15413 * docs/grub.texi (Theme file format): Document new position format.
15414
fc157e53
VS
154152010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15416
15417 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
15418 a table. Use @code instead of @verbatim.
15419
506e9a1c
CB
154202010-09-05 Colin D Bennett <colin@gibibit.com>
15421
15422 Gfxmenu documentation.
15423
15424 * docs/grub.texi (Theme file format): New chapter.
15425
f0aff67c
SJ
154262010-09-05 Szymon Janc <szymon@janc.net.pl>
15427
15428 * grub-core/Makefile.core.def (xzio): New module.
15429 * grub-core/io/xzio.c: New file.
15430 * grub-core/lib/xzembed/xz.h: New file (from xembed).
15431 * grub-core/lib/xzembed/xz_config.h: Likewise.
15432 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
15433 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
15434 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
15435 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
15436 * grub-core/lib/xzembed/xz_private.h: Likewise.
15437 * grub-core/lib/xzembed/xz_stream.h: Likewise.
15438 * include/grub/file.h (grub_file_filter_id): New compression filter
15439 GRUB_FILE_FILTER_XZIO.
15440
82a85062
VS
154412010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15442
15443 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
15444 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
15445 size.
15446
3579415d
VS
154472010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15448
15449 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
15450 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
15451
5124ae6d
VS
154522010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15453
15454 Uncompressed checksum support.
15455
15456 * grub-core/commands/hashsum.c (options): Add option --uncompress.
15457 (check_list): New parameter uncompress.
15458 (grub_cmd_hashsum): Handle --uncompress.
15459
9aadb3d1
VS
154602010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15461
15462 Reintroduce testload.
15463
15464 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
15465 from here ...
15466 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
15467 (GRUB_MOD_INIT): New function.
15468 (GRUB_MOD_FINI): Likewise.
15469 * grub-core/Makefile.core.def (testload): New module.
15470
a17792c3
SJ
154712010-09-05 Szymon Janc <szymon@janc.net.pl>
15472
15473 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
15474 (uint8_t): New type.
15475 (uint16_t): Likewise.
15476 (uint32_t): Likewise.
15477 (uint64_t): Likewise.
15478
b81e40a3
SJ
154792010-09-05 Szymon Janc <szymon@janc.net.pl>
15480
15481 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
15482
fc2ef117
VS
154832010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15484
15485 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
15486 Made static.
15487 (grub_gzfile_open): Removed. All users updated.
15488 (GRUB_MOD_INIT): New function.
15489 (GRUB_MOD_FINI): Likewise.
15490 * grub-core/kern/file.c (grub_file_filters_all): New variable.
15491 (grub_file_filters_enabled): Likewise.
15492 (grub_file_open): Handle filters.
15493 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
15494 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
15495 * include/grub/file.h (grub_file_filter_id_t): New type.
15496 (grub_file_filter_t): Likewise.
15497 (grub_file_filters_all): New extern variable.
15498 (grub_file_filters_enabled): Likewise.
15499 (grub_file_filter_register): New inline function.
15500 (grub_file_filter_unregister): Likewise.
15501 (grub_file_filter_disable): Likewise.
15502 (grub_file_filter_disable_compression): Likewise.
15503 * include/grub/gzio.h: Removed.
15504
35ee15e0
BC
155052010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15506
15507 Filename expansion support for wildcards in GRUB script.
15508
15509 * tests/grub_script_expansion.in: New test.
15510 * Makefile.util.def: Rule for new test.
15511
15512 * grub-core/commands/wildcard.c: New file, implements filename
15513 expansion support for GRUB script.
15514 * grub-core/Makefile.core.def: Rule update for regexp.mod.
15515 * grub-core/script/argv.c: Cosmetic changes.
15516 * grub-core/script/execute.c (grub_script_arglist_to_argv):
15517 Refactored to perform wildcard expansion on arguments.
15518 * include/grub/script_sh.h (grub_script_wildcard_translator): New
15519 struct.
15520
15521 * tests/util/grub-shell.in: Fix quoting for read input.
15522
5f0c4aca
BC
155232010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15524
15525 Support for updating environment variables with matched substrings
15526 of regexp.
15527
15528 * tests/grub_cmd_regexp.in: New test.
15529 * Makefile.util.def: Rule for new test.
15530
15531 * grub-core/commands/regexp.c: New option -s to update environment
15532 variables with regexp matches.
15533
3759a35f
SJ
155342010-09-04 Szymon Janc <szymon@janc.net.pl>
15535
15536 * include/grub/file.h (grub_file): New member not_easly_seekable.
15537 (grub_file_seekable): New inline function.
15538 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
15539 easily seekable.
15540 (grub_gzio_open): Set not_easly_seekable.
15541 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
15542 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
15543
ed8c6dec
BC
155442010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15545
15546 Support for options to appear multiple times on cmdline.
15547
15548 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
15549 * grub-core/commands/extcmd.c: Support for repeatable option.
15550 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
15551 repeatable option support.
15552
15553 Refactor menuentry into a regular command.
15554
15555 * grub-core/commands/menuentry.c: New file, menuentry command
15556 implementation.
15557 * grub-core/Makefile.core.def: Rule update for normal.mod.
15558 * grub-core/normal/main.c: Moved menuentry creation to
15559 grub-core/commands/menuentry.c.
15560 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
15561 (grub_menu_execute_entry_real): Removed.
15562 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
15563 function.
15564 (grub_script_execute_menuentry): Removed.
15565 * grub-core/script/parser.y (menuentry): Removed.
15566 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
15567 * grub-core/script/yylex.l (menuentry): Removed.
15568 * include/grub/menu.h (grub_menu_init): New prototype.
15569 (grub_menu_fini): New prototype.
15570 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
15571 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
15572 (grub_script_execute_sourcecode): New prototype.
15573
dacd0cf0
BC
155742010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15575
15576 "return" command for GRUB script functions.
15577
15578 * tests/grub_script_return.in: New test.
15579 * Makefile.util.def: Rules for new test.
15580
15581 * grub-core/script/execute.c (grub_script_return): New function.
15582 * grub-core/script/main.c: Register/unregister return commaond.
15583 * include/grub/script_sh.h (grub_script_return): New prototype.
15584
52e72f9d
BC
155852010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15586
15587 "setparams" command to update positional parameters.
15588
15589 * tests/grub_script_setparams.in: New test.
15590 * Makefile.util.def: Rules for new test.
15591
15592 * grub-core/script/argv.c (grub_script_argv_make): New function.
15593 * grub-core/script/execute.c (replace_scope): New function.
15594 (grub_script_setparams): New function.
15595 * grub-core/script/lexer.c: Remove unused variables.
15596 * grub-core/script/main.c: Register/unregister setparams command.
15597 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
15598 (grub_script_setparams): New prototype.
15599
25b60c91
BC
156002010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15601
15602 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
15603 grub_free order.
15604
37e7bf68
BC
156052010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15606
15607 Support for passing block of commands as an argument to extcmds.
15608
15609 * Makefile.util.def: Rules for new test.
15610 * tests/grub_script_blockarg.in: New test.
15611 * grub-core/tests/test_blockarg.c: New file, block argument
15612 command used in the test.
15613
15614 * include/grub/extcmd.h (grub_extcmd_context): New struct.
15615 (grub_register_extcmd_prio): New function prototype.
15616 (grub_extcmd_dispatcher): New function prototype.
15617 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
15618 type.
15619 * include/grub/script_sh.h (struct grub_script): New members
15620 `children', `next_siblings' and `refcnt' for block arguments and
15621 reference counting.
15622 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
15623 (grub_script_arg): New member `script' for block argument.
15624 (grub_script_argv): New member `script' for block argument.
15625 (grub_parser_param): New member `scripts' for block argument.
15626 (grub_script_mem_free): New extern function prototype.
15627 (grub_script_ref): New function prototype.
15628 (grub_script_unref): New function prototype.
15629
15630 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
15631 extcmd form to support block arguments.
15632 * grub-core/script/argv.c: Block arguments support.
15633 * grub-core/script/execute.c: Likewise.
15634 * grub-core/script/lexer.c: Likewise.
15635 * grub-core/script/main.c: Likewise.
15636 * grub-core/script/script.c: Likewise.
15637 * grub-core/script/parser.y: Likewise. New `block' and `block0'
15638 non-terminals.
15639
15640 * grub-core/commands/acpi.c: Update extcmd implementations with
15641 grub_extcmd_context_t.
15642 * grub-core/commands/cat.c: Likewise.
15643 * grub-core/commands/echo.c: Likewise.
15644 * grub-core/commands/extcmd.c: Likewise.
15645 * grub-core/commands/hashsum.c: Likewise.
15646 * grub-core/commands/hdparm.c: Likewise.
15647 * grub-core/commands/help.c: Likewise.
15648 * grub-core/commands/hexdump.c: Likewise.
15649 * grub-core/commands/i386/cpuid.c: Likewise.
15650 * grub-core/commands/i386/pc/drivemap.c: Likewise.
15651 * grub-core/commands/i386/pc/halt.c: Likewise.
15652 * grub-core/commands/i386/pc/sendkey.c: Likewise.
15653 * grub-core/commands/iorw.c: Likewise.
15654 * grub-core/commands/keystatus.c: Likewise.
15655 * grub-core/commands/loadenv.c: Likewise.
15656 * grub-core/commands/ls.c: Likewise.
15657 * grub-core/commands/lspci.c: Likewise.
15658 * grub-core/commands/memrw.c: Likewise.
15659 * grub-core/commands/probe.c: Likewise.
15660 * grub-core/commands/search_wrap.c: Likewise.
15661 * grub-core/commands/setpci.c: Likewise.
15662 * grub-core/commands/sleep.c: Likewise.
15663 * grub-core/disk/loopback.c: Likewise.
15664 * grub-core/hello/hello.c: Likewise.
15665 * grub-core/loader/i386/bsd.c: Likewise.
15666 * grub-core/loader/xnu.c: Likewise.
15667 * grub-core/term/gfxterm.c: Likewise.
15668 * grub-core/term/serial.c: Likewise.
15669 * grub-core/tests/lib/functional_test.c: Likewise.
15670
888d1500
BC
156712010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15672
15673 Multi-line quoted strings support.
15674
15675 * grub-core/script/lexer.c (append_newline): Removed.
15676 (grub_script_lexer_yywrap): Refactored.
15677 (grub_script_lexer_init): Refactored.
15678 * grub-core/script/yylex.l (yywrap): New function.
15679 (grub_lexer_resplit): New function.
15680 (grub_lexer_unput): New function.
15681 * include/grub/script_sh.h (grub_lexer_param): New members, unput
15682 and resplit.
15683 * tests/grub_script_echo1.in: Added few more testcases.
15684
dda060dd
VS
156852010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
15686
15687 * grub-core/kern/misc.c: Don't add abort alias in utils.
15688 Reported by: echoline.
15689
6556eba9
BC
156902010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
15691
15692 Add missing files into "make dist" tarball for other platforms.
15693
15694 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
15695 * conf/Makefile.common (dist_noinst_DATA): New variable.
15696 * conf/Makefile.extra-dist: Added missing make dist files.
15697 * grub-core/Makefile.core.def: Likewise.
15698
c8e7bf5f
VS
156992010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
15700
15701 Compress grub_prefix.
15702
15703 * grub-core/boot/i386/pc/lnxboot.S: Use
15704 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
15705 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
15706 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
15707 GRUB_MACHINE_PREFIX_END. All users updated.
15708 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
15709 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
15710 + 0x40.
15711 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
15712 * util/grub-mkimage.c (image_target_desc): Change data_end to
15713 prefix_end. All users updated.
15714
a7c00cdb
VS
157152010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
15716
15717 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
15718 value.
15719 (grub_openbsd_boot): Likewise.
15720 (grub_netbsd_boot): Likewise.
15721 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
15722 (grub_xnu_boot): Likewise.
15723
9f915872
VS
157242010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15725
15726 * configure.ac: Clean LIBS variable after tests.
15727
efa1bee7
CW
157282010-09-02 Colin Watson <cjwatson@ubuntu.com>
15729
15730 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
15731
61d720e5
VS
157322010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15733
15734 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
15735 echo if libdevmapper will be used.
15736
ef8e0ec8
IT
157372010-09-02 Ian Turner <Ian.Turner@deshaw.com>
15738
15739 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
15740 constant for the same file.
15741
03e261d8
VS
157422010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15743
15744 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
15745
c2a4eba6
CW
157462010-09-02 Colin Watson <cjwatson@ubuntu.com>
15747
15748 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
15749 grub-core/*.pp.
15750
9056cbf3
CW
157512010-09-02 Colin Watson <cjwatson@ubuntu.com>
15752
15753 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
15754 required by the boot protocol.
15755
15756 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
15757 ebp and edi members.
15758 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
15759 state.ebp and state.edi.
15760 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
15761 %ebp and %edi according to grub_relocator32_ebp and
15762 grub_relocator32_edi respectively.
15763 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
15764 and state.edi.
15765
529cc99a
VS
157662010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15767
15768 Add i386-pc-pxe image target.
15769
15770 * util/grub-mkimage.c (image_target_desc): New enum value
15771 IMAGE_I386_PC_PXE.
15772 (image_targets): New target i386-pc-pxe.
15773 (generate_image): Handle i386-pc-pxe image.
15774
9a093920
VS
157752010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15776
15777 Fix grub_pxe_scan.
15778
15779 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
15780 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
15781 All users updated.
15782 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
15783 (grub_pxe_pxenv): Correct type.
15784
f9cefc4e
CW
157852010-09-01 Colin Watson <cjwatson@ubuntu.com>
15786
15787 * NEWS: Document most of the important changes since 1.98.
15788
4066f57f
CW
157892010-09-01 Colin Watson <cjwatson@ubuntu.com>
15790
15791 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
15792 generated manual page) a little.
15793
da2891f9
CW
157942010-09-01 Colin Watson <cjwatson@ubuntu.com>
15795
15796 * docs/grub.texi: Add myself as an author.
15797
ad717fae
VS
157982010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
15799
15800 * Makefile.util.def (libgrub.a): Add missing sunpc.
15801 Reported by: Seth Goldberg.
15802
eefe8abd
VS
158032010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15804
15805 Interrupt wrapping and code simplifications.
15806
9494ef9a
VS
15807 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
15808 x86_noieee1275 which are functionaly equivalent in this case.
15809 (grub-install): Make source on each platform explicit. Enable on
15810 all noemu.
15811 * gentpl.py (x86_efi_pc): Removed group.
15812 (x86_noefi): Likewise.
15813 (i386_noefi): Likewise.
15814 (x86_noieee1275): Likewise.
15815 (i386_noieee1275): Likewise.
15816 (i386_noefi_noieee1275): Likewise.
15817 (i386_pc_qemu_coreboot): Likewise.
15818 (i386_coreboot_multiboot): Likewise.
15819 (i386_pc_coreboot_multiboot_qemu): Likewise.
15820 (x86_noefi_mips): Likewise.
15821 (noieee1275): Likewise.
15822 (ieee1275_mips): Likewise.
15823 (noemu_noieee1275): Likewise.
15824 (cmos): New group.
15825 (usb): Likewise.
15826 (videoinkernel): Likewise.
15827 (videomodules): Likewise.
eefe8abd 15828 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
15829 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
15830 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
15831 include/grub/loader.h, include/grub/msdos_partition.h,
15832 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
15833 include/grub/machine/console.h, include/grub/machine/vga.h,
15834 include/grub/machine/vbe.h, include/grub/machine/init.h,
15835 include/grub/machine/kernel.h, include/grub/cpu/time.h,
15836 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 15837 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
15838 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
15839 * grub-core/Makefile.core.def (kernel): Explicit the source for
15840 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
15841 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
15842 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
15843 Use videoinkernel tag.
15844 (usb): Enable on all usb.
15845 (usbserial_common): Likewise.
15846 (usbserial_pl2303): Likewise.
15847 (usbserial_ftdi): Likewise.
15848 (uhci): Enable on all x86.
15849 (ohci): Enable on all pci.
15850 (cmostest): Enable on all CMOS.
15851 (acpi): Include commands/acpi.c on all platforms.
15852 (halt): Add relevant lib/*/halt.c.
15853 (hdparm): Enable on all pci.
15854 (lspci): Likewise.
15855 (usbtest): Enable on all usb.
15856 (ata): Enable on all pci.
15857 (ata_pthru): Likewise.
15858 (usbms): Enable on all usb.
15859 (usb_keyboard): Likewise.
15860 (font): Use tag videomodules.
15861 (bufio): Likewise.
15862 (datetime): Use tag cmos. Enable on all noemu.
15863 (mmap): Use tags common and x86.
15864 (gfxterm): Use tag videomodules.
15865 (bitmap): Likewise.
15866 (bitmap_scale): Likewise.
15867 (video_fb): Likewise.
15868 (video): Likewise.
15869 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
15870 adjust padding accordingly. All users updated.
15871 (grub_ohci_transaction): Fix bad format specification.
15872 (GRUB_MOD_INIT): Add asserts for struct size.
15873 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
15874 (grub_alloc_td): Likewise.
15875 (grub_free_queue): Likewise.
15876 (grub_uhci_transfer): Likewise.
15877 (grub_uhci_transaction): Fix bad format specification.
15878 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
15879 (grub_usb_bulk_readwrite): Likewise.
15880 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
15881 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
15882 Made static.
15883 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
15884 Made static.
15885 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
15886 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
15887 Transformed into C.
15888 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
15889 Moved from here ...
15890 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
15891 ... here. Transformed into C. Made static.
15892 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
15893 Moved from here ...
15894 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
15895 ... here. Transformed into C. Made static.
15896 * grub-core/kern/i386/pc/startup.S
15897 (grub_biosdisk_check_int13_extensions): Moved from here ...
15898 * grub-core/disk/i386/pc/biosdisk.c
15899 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
15900 Made static.
15901 * grub-core/kern/i386/pc/startup.S
15902 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
15903 * grub-core/disk/i386/pc/biosdisk.c
15904 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
15905 Transformed into C. Made static.
15906 * grub-core/kern/i386/pc/startup.S
15907 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
15908 * grub-core/disk/i386/pc/biosdisk.c
15909 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
15910 Transformed into C. Made static.
15911 * grub-core/kern/i386/pc/startup.S
15912 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
15913 * grub-core/disk/i386/pc/biosdisk.c
15914 (grub_biosdisk_get_diskinfo_standard): ... here.
15915 Transformed into C. Made static.
15916 * grub-core/kern/i386/pc/startup.S
15917 (grub_biosdisk_get_num_floppies): Moved from here ...
15918 * grub-core/disk/i386/pc/biosdisk.c
15919 (grub_biosdisk_get_num_floppies): ... here.
15920 Transformed into C. Made static.
15921 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
15922 New function.
15923 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
15924 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
15925 Transformed into C. Made static.
15926 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
15927 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
15928 Transformed into C. Made static.
15929 * grub-core/kern/i386/ieee1275/init.c: Removed.
15930 * grub-core/kern/i386/misc.S: Likewise.
15931 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
15932 Splitted from here ...
15933 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
15934 Transformed into C. Made static. All users updated.
15935 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
15936 Transformed into C. Made static. All users updated.
15937 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
15938 Moved from here...
15939 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
15940 Transformed into C. Made static. All users updated.
15941 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
15942 Moved from here...
15943 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
15944 Transformed into C. Made static. All users updated.
15945 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
15946 Removed (replaced by C version).
15947 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
15948 Moved from here...
15949 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
15950 Transformed into C. Made static.
15951 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
15952 Moved from here...
15953 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
15954 ... here. Transformed into C.
15955 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
15956 Moved from here...
15957 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
15958 ... here. Transformed into C.
15959 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
15960 Moved from here...
15961 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
15962 ... here. Transformed into C. Made static.
15963 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
15964 Moved from here...
15965 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
15966 ... here. Transformed into C.
21ed554b
VS
15967 * grub-core/kern/i386/pc/startup.S
15968 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
15969 * grub-core/video/i386/pc/vbe.c
15970 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
15971 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
15972 Moved from here...
15973 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
15974 ... here. Transformed into C.
15975 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
15976 Moved from here...
15977 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
15978 ... here. Transformed into C.
15979 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
15980 Moved from here...
15981 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
15982 ... here. Transformed into C.
15983 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
15984 Moved from here...
15985 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
15986 ... here. Transformed into C.
15987 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
15988 Moved from here...
15989 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
15990 ... here. Transformed into C. Made static.
15991 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
15992 Moved from here...
15993 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
15994 ... here. Transformed into C. Made static.
15995 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
15996 Moved from here...
15997 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
15998 ... here. Transformed into C. Made static.
15999 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
16000 pxe_rm_entry as third argument.
16001 (grub_bios_interrupt): New function.
16002 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
16003 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
16004 of calling grub_stop.
16005 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
16006 * grub-core/lib/efi/halt.c (grub_halt): ...here.
16007 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
16008 * grub-core/lib/emu/halt.c (grub_halt): ... here.
16009 * grub-core/lib/i386/halt.c: Moved from here ...
16010 * grub-core/lib/i386/halt.c: ... here.
16011 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
16012 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
16013 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
16014 grub_stop_floppy.
16015 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
16016 * include/grub/i386/coreboot/init.h: Removed.
16017 * include/grub/i386/multiboot/init.h: Likewise.
16018 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
16019 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
16020 * include/grub/i386/pc/int.h: New file.
16021 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
16022 (grub_pxe_scan): Removed.
16023 (grub_pxe_call): Update prototype.
16024 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
16025 prototypes.
16026 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
16027 * include/grub/i386/qemu/init.h: Removed.
16028 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
16029 noreturn.
16030 (grub_halt): Likewise.
16031 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
16032 (grub_reboot): Likewise.
16033 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
16034 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
16035 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
16036
215dd471
RM
160372010-08-30 Robert Millan <rmh@gnu.org>
16038
16039 * NEWS: Document addition of ZFS support in `grub-install' and
16040 `grub-mkconfig'.
16041
ebd65b82
BC
160422010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
16043
16044 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
16045 dprintf output.
16046
11721d19
VS
160472010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16048
16049 Remove leftover embedding of font objects.
16050
16051 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
16052 * util/grub-install.in (font): Removed.
16053 * util/grub-mkimage.c (generate_image): Remove font support. All users
16054 updated.
16055
37837d4e
VS
160562010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16057
16058 Remove leftover embedding of font objects.
16059
16060 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
16061 * util/grub-install.in (font): Removed.
16062 * util/grub-mkimage.c (generate_image): Remove font support. All users
16063 updated.
16064
b4c1aae0
VS
160652010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16066
16067 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 16068 Reported by: Ian Turner
b4c1aae0 16069
8920a08d
VS
160702010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16071
16072 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
16073 timeout to avoid indefinite boot stalling.
16074
f21db033
VS
160752010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16076
16077 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
16078 (grub_env_write_color_highlight): Likewise.
16079
9a9de209
VS
160802010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16081
16082 * grub-core/normal/term.c (print_more): Return to normal and not
16083 to standard state after printing "---MORE---".
16084
3dca01d7
VS
160852010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16086
16087 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
16088 Mask out the bit 0x80 since it has other meaning that specifiing color.
16089
0b986c40
VS
160902010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16091
16092 New relocator. Allows for more kernel support and more straightforward
16093 loader writing.
16094
16095 * Makefile.am (BOOTTARGET): New variable.
16096 (QEMU32): Likewise.
16097 (linux.init.x86_64): New target.
16098 (linux.init.i386): Likewise.
16099 (multiboot.elf): Likewise.
16100 (kfreebsd.elf): Likewise.
16101 (kfreebsd.aout): Likewise.
16102 (pc-chainloader.elf): Likewise.
16103 (pc-chainloader.bin): Likewise.
16104 (ntldr.elf): Likewise.
16105 (ntldr.bin): Likewise.
16106 (multiboot2.elf): Likewise.
16107 (kfreebsd.init.x86_64): Likewise.
16108 (kfreebsd.init.i386): Likewise.
16109 (knetbsd.init.i386): Likewise.
16110 (kopenbsd.init.i386): Likewise.
16111 (knetbsd.init.x86_64): Likewise.
16112 (kopenbsd.init.x86_64): Likewise.
16113 (linux-initramfs.i386): Likewise.
16114 (linux-initramfs.x86_64): Likewise.
16115 (kfreebsd-mfsroot.i386.img): Likewise.
16116 (knetbsd.image.i386): Likewise.
16117 (kopenbsd.image.i386): Likewise.
16118 (kopenbsd.image.x86_64): Likewise.
16119 (knetbsd.miniroot-image.i386.img): Likewise.
16120 (kfreebsd-mfsroot.x86_64.img): Likewise.
16121 (knetbsd.image.x86_64): Likewise.
16122 (knetbsd.miniroot-image.x86_64.img): Likewise.
16123 (kfreebsd-mfsroot.i386.gz): Likewise.
16124 (bootcheck-kfreebsd-i386): Likewise.
16125 (kfreebsd-mfsroot.x86_64.gz): Likewise.
16126 (bootcheck-kfreebsd-x86_64): Likewise.
16127 (knetbsd.miniroot-image.i386.gz): Likewise.
16128 (bootcheck-knetbsd-i386): Likewise.
16129 (bootcheck-kopenbsd-i386): Likewise.
16130 (bootcheck-kopenbsd-x86_64): Likewise.
16131 (knetbsd.miniroot-image.x86_64.gz): Likewise.
16132 (bootcheck-knetbsd-x86_64): Likewise.
16133 (bootcheck-linux-i386): Likewise.
16134 (bootcheck-linux-x86_64): Likewise.
16135 (bootcheck-linux16-i386): Likewise.
16136 (bootcheck-linux16-x86_64): Likewise.
16137 (bootcheck-multiboot): Likewise.
16138 (bootcheck-multiboot2): Likewise.
16139 (bootcheck-kfreebsd-aout): Likewise.
16140 (bootcheck-pc-chainloader): Likewise.
16141 (bootcheck-ntldr): Likewise.
16142 (CLEANFILES): Add new targets.
16143 (BOOTCHECKS): New variable.
16144 (.PHONY): Add bootchecks.
16145 (SUCCESSFUL_BOOT_STRING): New variable.
16146 (BOOTCHECK_TIMEOUT): Likewise.
16147 (bootcheck): New target
16148 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
16149 * configure.ac: Correct efiemu excuse.
16150 * docs/grub.texi (Supported kernels): New chapter.
16151 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
16152 include/grub/mm_private.h. Simplify inclusion of
16153 include/grub/boot.h, include/grub/loader.h
16154 and include/grub/msdos_partition.h
16155 (KERNEL_HEADER_FILES) [i386_coreboot]:
16156 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
16157 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
16158 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
16159 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
16160 include/grub/machine/loader.h.
16161 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
16162 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
16163 extra_dist.
16164 (pci.mod): Enable on i386-multiboot.
16165 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
16166 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
16167 i386-qemu.
16168 (relocator.mod): Rewritten.
16169 (aout.mod): Enable on all x86.
16170 (bsd.mod): Likewise.
16171 (ntldr.mod): New module.
16172 (linux.mod): Use loader/i386/linux.c on all x86.
16173 (xnu.mod): Enable on all x86.
16174 (vga_text.mod): disable on EFI and QEMU.
16175 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
16176 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
16177 * grub-core/efiemu/loadcore.c: Likewise.
16178 * grub-core/efiemu/main.c: Likewise.
16179 (grub_efiemu_exit_boot_services): Removed.
16180 (grub_efiemu_finish_boot_services): Likewise.
16181 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
16182 function.
16183 * grub-core/efiemu/i386/nocfgtables.c: New file.
16184 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
16185 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
16186 (grub_efi_finish_boot_services): Moved from here ...
16187 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
16188 Fille finish memory map and related data.
16189 (finish_mmap_buf): New variable.
16190 (grub_efi_uintn_t finish_mmap_size): Likewise.
16191 (grub_efi_uintn_t finish_key): Likewise.
16192 (grub_efi_uintn_t finish_desc_size): Likewise.
16193 (grub_efi_uint32_t finish_desc_version): Likewise.
16194 (grub_efi_is_finished): Likewise.
16195 (grub_efi_get_memory_map): Use saved memory map if EFI is already
16196 finished.
16197 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
16198 (grub_elf64_phdr_iterate): Likewise.
16199 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
16200 (grub_os_area_size): Likewise.
16201 (grub_machine_init): Don't reserve os area.
16202 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
16203 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
16204 * grub-core/kern/i386/loader.S: Removed.
16205 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
16206 (grub_os_area_size): Likewise.
16207 (grub_machine_init): Don't reserve os area.
16208 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
16209 Don't call grub_dl_unload_all.
16210 Don't include loader.S.
16211 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
16212 Declare the memory after _end as available.
16213 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 16214 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 16215 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
16216 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
16217 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
16218 * include/grub/mm_private.h (grub_mm_header): ... here.
16219 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
16220 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
16221 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
16222 (grub_mm_region): ..here. Removed addr. Added pre_size.
16223 All users updated.
16224 * grub-core/kern/mm.c (base): Renamed to ...
16225 (grub_mm_base): ... this. Made global.
16226 (grub_real_malloc): Alloc from end of region.
16227 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
16228 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
16229 * grub-core/kern/powerpc/cache_flush.S: ... here.
16230 * grub-core/lib/efi/relocator.c: New file.
16231 * grub-core/lib/i386/relocator.c: Rewritten.
16232 * grub-core/lib/i386/relocator16.S: New file.
16233 * grub-core/lib/i386/relocator32.S: Likewise.
16234 * grub-core/lib/i386/relocator64.S: Likewise.
16235 * grub-core/lib/i386/relocator_asm.S: Rewritten.
16236 * grub-core/lib/i386/relocator_common.S: New file.
16237 * grub-core/lib/ieee1275/relocator.c: Likewise.
16238 * grub-core/lib/mips/relocator.c: Rewritten.
16239 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
16240 stylistic adjustments.
16241 * grub-core/lib/powerpc/relocator.c: New file.
16242 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
16243 * grub-core/lib/relocator.c: Rewritten.
16244 * grub-core/lib/x86_64/relocator_asm.S: New file.
16245 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
16246 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
16247 (bsd_tag): New struct.
16248 (tags): New variable.
16249 (tags_last): Likewise.
16250 (netbsd_module): New struct.
16251 (netbsd_mods): New variable.
16252 (netbsd_mods_last): Likewise.
16253 (openbsd_opts): New parameter "serial".
16254 (OPENBSD_SERIAL_ARG): New definition.
16255 (netbsd_opts): New parameter "serial".
16256 (NETBSD_SERIAL_ARG): New definition.
16257 (grub_freebsd_add_meta): Reorganised into ...
16258 (grub_bsd_add_meta): ...this. All users updated.
16259 (grub_freebsd_add_mmap): Reorganised into ...
16260 (generate_e820_mmap): ...this...
16261 (grub_bsd_add_mmap): ...and this. All users updated.
16262 (grub_freebsd_list_modules): Use tags.
16263 (grub_netbsd_add_meta_module): New function.
16264 (grub_netbsd_list_modules): Likewise.
16265 (grub_freebsd_boot): Use relocator and finish EFI.
16266 (grub_openbsd_boot): Likewise.
16267 (grub_netbsd_setup_video): New function.
16268 (grub_netbsd_add_modules): Likewise.
16269 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
16270 and finish EFI.
16271 (grub_bsd_unload): Unload tags.
16272 (grub_bsd_load_aout): Use relocator.
16273 (grub_bsd_elf32_size_hook): New function.
16274 (grub_bsd_elf32_hook): Use relocator.
16275 (grub_bsd_elf64_size_hook): New function.
16276 (grub_bsd_elf64_hook): Use relocator.
16277 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
16278 (grub_bsd_load): Zero-out openbsd_ramdisk.
16279 (grub_bsd_load): Use relocator.
16280 (grub_cmd_openbsd): Support serial.
16281 (grub_cmd_netbsd): Support modules.
16282 (grub_cmd_freebsd_module): Use relocator.
16283 (grub_netbsd_module_load): New function.
16284 (grub_cmd_netbsd_module): Likewise.
16285 (grub_cmd_openbsd_ramdisk): Likewise.
16286 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
16287 kopenbsd_ramdisk.
16288 (GRUB_MOD_FINI): Unregister new commands.
16289 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
16290 (grub_freebsd_load_elfmodule_obj): Use relocator.
16291 (grub_freebsd_load_elfmodule): Likewise.
16292 (grub_freebsd_load_elf_meta): Likewise.
16293 (grub_netbsd_load_elf_meta): New function.
16294 (grub_openbsd_find_ramdisk): Likewise.
16295 * grub-core/loader/i386/bsd_helper.S: Removed.
16296 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
16297 * grub-core/loader/i386/bsd_trampoline.S: Removed.
16298 * grub-core/loader/i386/efi/linux.c: Likewise.
16299 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
16300 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
16301 (DEFAULT_VIDEO_MODE): Likewise.
16302 (real_mode_target): New variable.
16303 (prot_mode_target): Likewise.
16304 (initrd_mem_target): Likewise.
16305 (relocator): Likewise.
16306 (efi_mmap_buf): Likewise.
16307 (efi_mmap_size): Likewise.
16308 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
16309 (free_pages): Use relocator.
16310 (allocate_pages): Account for efi_mmap and use relocator. Return error.
16311 (grub_linux_setup_video): Return error.
16312 (grub_linux_trampoline_start): Removed.
16313 (grub_linux_trampoline_end): Likewise.
16314 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
16315 andd video parameters depending on firmware.
16316 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
16317 [GRUB_MACHINE_EFI]: Pass EFI parameters.
16318 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
16319 (grub_cmd_initrd): Use relocator.
16320 * grub-core/loader/i386/linux_trampoline.S: Removed.
16321 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
16322 (elf_sec_entsize): Likewise.
16323 (elf_sec_shstrndx): Likewise.
16324 (elf_sections): Likewise.
16325 (grub_multiboot_load): Use relocator.
16326 (grub_multiboot_get_mbi_size): Account for sections.
16327 (grub_multiboot_make_mbi): Use relocator and support sections.
16328 (grub_multiboot_add_elfsyms): New function.
16329 (grub_multiboot_free_mbi): Free sections.
16330 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
16331 (grub_linux_real_target): Likewise.
16332 (grub_linux_real_chunk): Likewise.
16333 (grub_linux16_prot_size): Likewise.
16334 (grub_linux16_boot): Use relocator.
16335 (grub_linux_unload): Unload relocator.
16336 (grub_cmd_linux): Use relocator.
16337 (grub_cmd_initrd): Likewise.
16338 * grub-core/loader/i386/pc/ntldr.c: New file.
16339 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
16340 Don't try to guess CPU frequency.
16341 (grub_xnu_set_video): Stretch bitmap.
16342 (grub_xnu_boot): Use relocator.
16343 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
16344 (grub_linux_unload): Free relocator.
16345 (grub_linux_load32): Use relocator.
16346 (grub_linux_load64): Likewise.
16347 (grub_cmd_initrd): Likewise.
16348 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
16349 (grub_multiboot_unload): Unload relocator.
16350 (grub_cmd_multiboot): Use relocator.
16351 (grub_cmd_module): Likewise.
16352 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
16353 Use relocator and support sections.
16354 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
16355 (elf_sec_entsize): Likewise.
16356 (elf_sec_shstrndx): Likewise.
16357 (elf_sections): Likewise.
16358 (grub_multiboot_load): Use relocator.
16359 (grub_multiboot_get_mbi_size): Account for sections.
16360 (grub_multiboot_make_mbi): Use relocator and support sections.
16361 (grub_multiboot_add_elfsyms): New function.
16362 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
16363 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
16364 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
16365 Prototype changed. All users updated.
16366 (grub_xnu_align_heap): Simplified.
16367 (grub_xnu_writetree_toheap): Likewise.
16368 (grub_xnu_unload): Unload relocator.
16369 (grub_cmd_xnu_kernel): Use relocator.
16370 (grub_cmd_xnu_kernel64): Likewise.
16371 (grub_xnu_register_memory): Simplified.
16372 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
16373 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
16374 EFI is finished.
16375 (grub_console_checkkey): Likewise.
16376 (grub_console_getkey): Likewise.
16377 (grub_console_getwh): Likewise.
16378 (grub_console_getxy): Likewise.
16379 (grub_console_gotoxy): Likewise.
16380 (grub_console_cls): Likewise.
16381 (grub_console_setcolorstate): Likewise.
16382 (grub_console_setcursor): Likewise.
16383 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
16384 * grub-core/tests/boot/kbsd.init-i386.S: New file.
16385 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
16386 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
16387 * grub-core/tests/boot/kernel-8086.S: Likewise.
16388 * grub-core/tests/boot/kernel-i386.S: Likewise.
16389 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
16390 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
16391 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
16392 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
16393 * grub-core/tests/boot/knetbsd.cfg: Likewise.
16394 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
16395 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
16396 * grub-core/tests/boot/linux.cfg: Likewise.
16397 * grub-core/tests/boot/linux.init-i386.S: Likewise.
16398 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
16399 * grub-core/tests/boot/linux16.cfg: Likewise.
16400 * grub-core/tests/boot/multiboot.cfg: Likewise.
16401 * grub-core/tests/boot/multiboot2.cfg: Likewise.
16402 * grub-core/tests/boot/ntldr.cfg: Likewise.
16403 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
16404 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
16405 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
16406 New definition.
16407 * include/grub/dl.h (grub_dl_unload_all): Removed.
16408 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
16409 (grub_efi_finish_boot_services): Change prototype.
16410 (grub_efi_is_finished): New variable.
16411 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
16412 Changed prototype.
16413 (grub_efiemu_finish_boot_services): Removed.
16414 (grub_machine_efiemu_init_tables): New prototype.
16415 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
16416 (grub_elf64_phdr_iterate): Likewise.
16417 * include/grub/i386/bsd.h: Include relocator.h.
16418 (freebsd_tag_header): New struct.
16419 (grub_openbsd_bios_mmap): Removed.
16420 (grub_unix_real_boot): Removed.
16421 (grub_freebsd_load_elfmodule32): Changed prototype.
16422 (grub_freebsd_load_elfmodule_obj64): Likewise.
16423 (grub_freebsd_load_elf_meta32): Likewise.
16424 (grub_freebsd_load_elf_meta64): Likewise.
16425 (grub_freebsd_add_meta): Removed.
16426 (grub_netbsd_load_elf_meta32): New prototype.
16427 (grub_netbsd_load_elf_meta64): Likewise.
16428 (grub_bsd_add_meta): Likewise.
16429 (grub_openbsd_ramdisk_descriptor): New struct.
16430 (grub_openbsd_find_ramdisk32): New prototype.
16431 (grub_openbsd_find_ramdisk64): Likewise.
16432 * include/grub/i386/coreboot/loader.h: Removed.
16433 * include/grub/i386/efi/loader.h: Likewise.
16434 * include/grub/i386/ieee1275/loader.h: Likewise.
16435 * include/grub/i386/linux.h (linux_kernel_header): Change void *
16436 to grub_uint32_t.
16437 * include/grub/i386/loader.h: Removed.
16438 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
16439 value.
16440 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
16441 (grub_phys_addr_t): New type.
16442 (grub_vtop): New inline function.
16443 (grub_map_memory): Likewise.
16444 (grub_unmap_memory): Likewise.
16445 * include/grub/i386/multiboot/loader.h: Removed.
16446 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
16447 (NETBSD_BTINFO_CONSOLE): New definition.
16448 (NETBSD_BTINFO_SYMTAB): Likewise.
16449 (NETBSD_BTINFO_MODULES): Likewise.
16450 (NETBSD_BTINFO_FRAMEBUF): Likewise.
16451 (grub_netbsd_bootinfo): New struct.
16452 (grub_netbsd_btinfo_common): Use explicit bitsize.
16453 (grub_netbsd_btinfo_mmap_entry): Removed.
16454 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
16455 (grub_netbsd_btinfo_bootdisk): New struct.
16456 (grub_netbsd_btinfo_symtab): Likewise.
16457 (grub_netbsd_btinfo_serial): Likewise.
16458 (grub_netbsd_btinfo_modules): Likewise.
16459 (grub_netbsd_btinfo_framebuf): Likewise.
16460 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
16461 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
16462 Likewise.
16463 (grub_openbsd_bootargs): Use explicit bitsize.
16464 (grub_openbsd_bootarg_console): New struct.
16465 (GRUB_OPENBSD_COM_MAJOR): New definition.
16466 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
16467 * include/grub/i386/pc/efiemu.h: Removed.
16468 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
16469 * include/grub/i386/qemu/loader.h: Removed.
16470 * include/grub/i386/relocator.h: Rewritten.
16471 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
16472 * include/grub/mips/memory.h: New file.
16473 * include/grub/mips/multiboot.h: Rewritten.
16474 * include/grub/mips/relocator.h: Rewritten.
16475 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
16476 (grub_vtop): New function.
16477 (grub_map_memory): Likewise.
16478 (grub_unmap_memory): Likewise.
16479 * include/grub/misc.h (ALIGN_DOWN): New definition.
16480 * include/grub/mm.h (grub_mm_check_real): New proto.
16481 (GRUB_MM_CHECK): New definition.
16482 * include/grub/mm_private.h: New file.
16483 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
16484 (grub_multiboot_get_mbi_size): Removed.
16485 (grub_multiboot_make_mbi): Change prottype.
16486 (grub_multiboot_set_accepts_video): New proto.
16487 (grub_multiboot_add_elfsyms): Likewise.
16488 (grub_multiboot_payload_eip): New variable.
16489 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
16490 New prototype.
16491 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
16492 New definition.
16493 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
16494 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
16495 * include/grub/powerpc/ieee1275/loader.h: Removed.
16496 * include/grub/powerpc/memory.h: New file.
16497 * include/grub/powerpc/relocator.h: Likewise.
16498 * include/grub/relocator.h: Likewise.
16499 * include/grub/relocator_private.h: Likewise.
16500 * include/grub/sparc64/ieee1275/loader.h: Removed.
16501 * include/grub/x86_64/memory.h: New file.
16502 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
16503 (grub_xnu_heap_malloc): Likewise.
16504 (grub_xnu_heap_real_start): Removed.
16505 (grub_xnu_heap_start): Likewise.
16506 (grub_xnu_relocator): New variable.
16507 (grub_xnu_heap_target_start): Likewise.
16508 * tests/util/grub-shell.in: Support non-pc.
16509 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 16510
5303b85d
VS
165112010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16512
16513 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
16514 on malloc error.
16515 (grub_bidi_logical_to_visual): Check that malloc succeded.
16516 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
16517 puts.
16518 (grub_xputs_normal): Likewise.
16519
d768d159
VS
165202010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16521
16522 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
16523 extra_dist.
16524
165252010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16526
16527 * grub-core/efiemu/runtime/efiemu.sh: Removed.
16528
5bf84df4
VS
165292010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16530
16531 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
16532
3626810e
VS
165332010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16534
16535 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
16536 dprintf.
16537
a7363f53
BC
165382010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
16539
16540 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
16541
902f75f6
VS
165422010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16543
16544 * grub-core/normal/term.c (print_more): Fix a memory leak.
16545 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
16546 (grub_xputs_normal): Likewise.
16547
3c707967
VS
165482010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16549
16550 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
16551 the begining of the string
16552
2053cc07
VS
165532010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16554
16555 * grub-core/script/script.c (grub_script_parse): Free parsed on
16556 failure.
16557
46422ebf
VS
165582010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16559
16560 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
16561 on failure.
16562
9e0fa3f6
VS
165632010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16564
16565 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
16566 return.
16567
3393cf16
VS
165682010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16569
16570 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
16571 (scroll_up): Fix a memory leak.
16572
b17540cb
VS
165732010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16574
16575 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
16576 errors.
16577
67140446
VS
165782010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
16579
16580 Handle USB pendrives exposed as floppies.
16581
16582 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
16583 floppy.
16584 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
16585 Check for partitions on all devices.
16586
e35e46fc
VS
165872010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
16588
16589 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
16590 (readkey): Likewise.
16591
d24c6190
BC
165922010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
16593
16594 Multiple variable names support to "export" command.
16595
16596 * normal/context.c (grub_cmd_export): "export" command supports
16597 multiple variable names.
16598
04ddcc6a
ST
165992010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
16600
16601 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
16602 --target=drive output to Mach device name.
16603
0c8b61d8
BC
166042010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
16605
16606 New Automake based build system for GRUB.
16607
16608 * ABOUT-NLS: New file.
16609 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
16610 in Makefile.util.def file.
16611 * Makefile.util.def: New file. Autogen build definitions file for
16612 GRUB host utils.
16613 * conf/Makefile.common: New file. Common variables for GRUB host
16614 utils and target modules.
16615 * conf/Makefile.extra-dist: New file. Extra files for make dist.
16616 * docs/Makefile.am: New file. Automake file for docs.
16617 * gentpl.py: New file. Python script to generate Autogen
16618 template.
16619 * grub-core/Makefile.am: New file. GRUB target modules' rules
16620 that doesn't fit in Makefile.core.def file.
16621 * grub-core/Makefile.core.def: New file. Autogen build
16622 definitions file for GRUB target modules.
16623 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
16624 specific setjmp.S file.
16625 * po/Makefile.am: New file.
16626
16627 * .bzrignore: New ignores.
16628 * INSTALL: New requirements, without Ruby.
16629 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
16630 * autogen.sh: Updated to invoke autogen as necessary.
16631 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
16632 and defines for Automake conditionals.
16633 * geninit.sh: Refactoring.
16634
16635 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
16636 necessary.
16637 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
16638 New prototype.
16639
16640 * include/grub/test.h: Fix functional test modules' naming.
16641 * grub-core/tests/example_functional_test.c: Fix test module name.
16642
16643 * util/misc.c: Hosted versions' of grub functions for libgrub.a
16644 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
16645 * util/grub-editenv.c: Likewise.
16646 * util/grub-fstest.c: Likewise.
16647 * util/grub-mkdevicemap.c: Likewise.
16648 * util/grub-mkfont.c: Likewise.
16649 * util/grub-mkimage.c: Likewise.
16650 * util/grub-mkpasswd-pbkdf2.c: Likewise.
16651 * util/grub-probe.c: Likewise.
16652 * util/grub-script-check.c: Likewise.
16653 * util/i386/pc/grub-setup.c: Likewise.
16654 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16655
16656 * tests/util/grub-shell.in: Fix override directory path.
16657 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
16658 * util/import_gcry.py: Create Makefile.gcry.def file instead.
16659
16660 * util/lvm.c: Update #includes.
16661 * util/raid.c: Likewise.
16662 * util/resolve.c: Likewise.
16663 * grub-core/bus/emu/pci.c: Likewise.
16664 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
16665 * grub-core/lib/posix_wrap/string.h: Likewise.
16666 * grub-core/kern/emu/main.c: Likewise.
16667
16668 * grub-core/gensymlist.sh: New file. Script for generating kernel
16669 symbols file.
16670 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
16671
16672 * grub-core/gentrigtables.c: Fix unused variable warnings.
16673
16674 * Makefile.in: Removed.
16675 * conf/any-emu.rmk: Removed.
16676 * conf/common.rmk: Removed.
16677 * conf/i386-coreboot.rmk: Removed.
16678 * conf/i386-efi.rmk: Removed.
16679 * conf/i386-ieee1275.rmk: Removed.
16680 * conf/i386-multiboot.rmk: Removed.
16681 * conf/i386-pc.rmk: Removed.
16682 * conf/i386-qemu.rmk: Removed.
16683 * conf/i386.rmk: Removed.
16684 * conf/mips-yeeloong.rmk: Removed.
16685 * conf/mips.rmk: Removed.
16686 * conf/powerpc-ieee1275.rmk: Removed.
16687 * conf/sparc64-ieee1275.rmk: Removed.
16688 * conf/tests.rmk: Removed.
16689 * conf/x86-efi.rmk: Removed.
16690 * conf/x86_64-efi.rmk: Removed.
16691 * gendistlist.sh: Removed.
16692 * geninitheader.sh: Removed.
16693 * genkernsyms.sh.in: Removed.
16694 * genmk.rb: Removed.
16695 * gensymlist.sh.in: Removed.
16696 * mkinstalldirs: Removed.
16697 * boot: Moved ...
16698 * grub-core/boot: ... to here.
16699 * bus: Moved ...
16700 * grub-core/bus: ... to here.
16701 * commands: Moved ...
16702 * grub-core/commands: ... to here.
16703 * disk: Moved ...
16704 * grub-core/disk: ... to here.
16705 * efiemu: Moved ...
16706 * grub-core/efiemu: ... to here.
16707 * font: Moved ...
16708 * grub-core/font: ... to here.
16709 * fs: Moved ...
16710 * grub-core/fs: ... to here.
16711 * gencmdlist.sh: Moved ...
16712 * grub-core/gencmdlist.sh: ... to here.
16713 * genemuinit.sh: Moved ...
16714 * grub-core/genemuinit.sh: ... to here.
16715 * genemuinitheader.sh: Moved ...
16716 * grub-core/genemuinitheader.sh: ... to here.
16717 * genfslist.sh: Moved ...
16718 * grub-core/genfslist.sh: ... to here.
16719 * genhandlerlist.sh: Moved ...
16720 * grub-core/genhandlerlist.sh: ... to here.
16721 * genmoddep.awk: Moved ...
16722 * grub-core/genmoddep.awk: ... to here.
16723 * genmodsrc.sh: Moved ...
16724 * grub-core/genmodsrc.sh: ... to here.
16725 * genpartmaplist.sh: Moved ...
16726 * grub-core/genpartmaplist.sh: ... to here.
16727 * genparttoollist.sh: Moved ...
16728 * grub-core/genparttoollist.sh: ... to here.
16729 * genterminallist.sh: Moved ...
16730 * grub-core/genterminallist.sh: ... to here.
16731 * gentrigtables.c: Moved ...
16732 * grub-core/gentrigtables.c: ... to here.
16733 * genvideolist.sh: Moved ...
16734 * grub-core/genvideolist.sh: ... to here.
16735 * gettext: Moved ...
16736 * grub-core/gettext: ... to here.
16737 * gfxmenu: Moved ...
16738 * grub-core/gfxmenu: ... to here.
16739 * gnulib: Moved ...
16740 * grub-core/gnulib: ... to here.
16741 * hello: Moved ...
16742 * grub-core/hello: ... to here.
16743 * hook: Moved ...
16744 * grub-core/hook: ... to here.
16745 * io: Moved ...
16746 * grub-core/io: ... to here.
16747 * kern: Moved ...
16748 * grub-core/kern: ... to here.
16749 * lib: Moved ...
16750 * grub-core/lib: ... to here.
16751 * loader: Moved ...
16752 * grub-core/loader: ... to here.
16753 * mmap: Moved ...
16754 * grub-core/mmap: ... to here.
16755 * normal: Moved ...
16756 * grub-core/normal: ... to here.
16757 * partmap: Moved ...
16758 * grub-core/partmap: ... to here.
16759 * parttool: Moved ...
16760 * grub-core/parttool: ... to here.
16761 * script: Moved ...
16762 * grub-core/script: ... to here.
16763 * term: Moved ...
16764 * grub-core/term: ... to here
16765 * tests/example_functional_test.c: Moved ...
16766 * grub-core/tests/example_functional_test.c: ... to here.
16767 * tests/lib/functional_test.c: Moved ...
16768 * grub-core/tests/lib/functional_test.c: ... to here.
16769 * tests/lib/test.c: Moved ...
16770 * grub-core/tests/lib/test.c: ... to here.
16771 * video: Moved ...
16772 * grub-core/video: ... to here.
16773
645586e6
BC
167742010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
16775
16776 Replace --enable-grub-emu-modules with grub-emu-lite.
16777
16778 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
16779 cache.S.
16780
16781 * include/grub/emu/misc.h (grub_emu_init): New prototype.
16782 * kern/emu/full.c: New file. For grub-emu specific initialization.
16783 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
16784 * kern/emu/main.c: Call initialization function grub_emu_init.
16785
16786 * Makefile.in: Include grub-emu-lite in install.
16787 * commands/parttool.c: Use grub_no_autoload to differentiate
16788 between grub-emu and grub-emu-lite.
16789 * include/grub/misc.h: New variable grub_no_autoload.
16790
16791 * conf/any-emu.rmk: New rules for grub-emu-lite.
16792 * configure.ac: Remove --enable-grub-emu-modules.
16793 * genmk.rb: Cleanup unnecessary rules.
16794 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
16795
16796 * normal/main.c: Don't load list files on grub-emu-lite.
16797 * util/misc.c (grub_arch_sync_caches): Removed.
16798
f86a4030
CW
167992010-08-23 Colin Watson <cjwatson@ubuntu.com>
16800
16801 * kern/mips/startup.S (grub_prefix): Update comment to refer to
16802 grub-mkimage rather than grub-mkelfimage.
16803 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
16804
06776944
VS
168052010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
16806
16807 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
16808 a key after CapsLock or NumLock. It's just a qemu bug.
16809
df262419
VS
168102010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
16811
16812 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
16813 needed by libusb wrapper.
16814
b40ea81b
ST
168152010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
16816
16817 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
16818
dee50575
VS
168192010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
16820
16821 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
16822 --nounzip is passed.
16823
fb1d7b79
VS
168242010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
16825
16826 USB hotunplugging and USB serial support.
16827
16828 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
16829 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
16830 (grub_uhci_transfer): Respect timeout and set *actual.
16831 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
16832 non-standard length.
16833 (grub_usb_device_attach): Autoload modules.
16834 (GRUB_MOD_INIT): Set grub_term_poll_usb.
16835 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
16836 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
16837 users updated.
16838 (grub_usb_add_hub): Fill nports and children.
16839 (attach_root_port): Receive hub instead of controller.
16840 All users updated. Fill hub->devices.
16841 (grub_usb_root_hub): Allocate hub->devices.
16842 (detach_device): New function.
16843 (poll_nonroot_hub): Fill children and detach devices.
16844 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
16845 actual arguments. All users updated.
16846 (grub_usb_bulk_read_extended): New function.
16847 * bus/usb/serial/common.c: New file.
16848 * bus/usb/serial/ftdi.c: Likewise.
16849 * bus/usb/serial/pl2303.c: Likewise.
16850 * commands/terminal.c (handle_command): Support wildcard.
16851 * commands/usbtest.c: Output "Unknown" instead of empty string.
16852 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
16853 (usbserial_common_mod_SOURCES): New variable.
16854 (usbserial_common_mod_CFLAGS): Likewise.
16855 (usbserial_common_mod_LDFLAGS): Likewise.
16856 (pkglib_MODULES): Add usbserial_pl2303.mod.
16857 (usbserial_pl2303_mod_SOURCES): New variable.
16858 (usbserial_pl2303_mod_CFLAGS): Likewise.
16859 (usbserial_pl2303_mod_LDFLAGS): Likewise.
16860 (pkglib_MODULES): Add usbserial_ftdi.mod.
16861 (usbserial_ftdi_mod_SOURCES): New variable.
16862 (usbserial_ftdi_mod_CFLAGS): Likewise.
16863 (usbserial_ftdi_mod_LDFLAGS): Likewise.
16864 (pkglib_MODULES): Add serial.mod.
16865 (serial_mod_SOURCES): New variable.
16866 (serial_mod_CFLAGS): Likewise.
16867 (serial_mod_LDFLAGS): Likewise.
16868 * conf/i386-pc.rmk: Likewise.
16869 * conf/mips-yeeloong.rmk: Likewise.
16870 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
16871 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
16872 * disk/usbms.c (first_available_slot): New variable.
16873 (grub_usbms_attach): Don't reuse free slots due to potential cache
16874 problems.
16875 * include/grub/serial.h: Moved to ..
16876 * include/grub/ns8250.h: ...this.
16877 * include/grub/serial.h: New file.
16878 * include/grub/term.h (grub_term_poll_usb): New variable.
16879 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
16880 readkey. All users updated.
16881 (grub_terminfo_output_state): Pass term to put.
16882 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
16883 (grub_usb_controller_dev): Add timeout and actual arguments to
16884 transfer. All users updated.
16885 (grub_usb_interface): New field detach_data.
16886 (grub_usb_device): New fields children and nports.
16887 (grub_usb_ep_type_t): New type.
16888 (grub_usb_get_ep_type): New function.
16889 (grub_usb_bulk_read_extended): Likewise.
16890 * include/grub/usbdesc.h (grub_usb_desc): New type.
16891 * include/grub/usbserial.h: New file.
16892 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
16893 * kern/term.c (grub_term_poll_usb): New variable.
16894 (grub_getkey): Call grub_term_poll_usb if set.
16895 (grub_checkkey): Likewise.
16896 (grub_getkeystatus): Likewise.
16897 * term/serial.c: Moved controller-specific parts to ...
16898 * term/ns8250.c: ... here.
16899 * term/serial.c: Mostly rewritten.
16900 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
16901 according to spec.
16902
21a313de
RM
169032010-08-20 Robert Millan <rmh@gnu.org>
16904
16905 Make kFreeBSD code more generic to support ext2fs as root, ufs as
16906 a separate module and maybe other interesting combinations.
16907
16908 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
16909 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
16910 (kfreebsd_entry): Add generic filesystem module load routine.
16911 Map GRUB `ext2' to kFreeBSD `ext2fs'.
16912
63c734a6
CW
169132010-08-20 Colin Watson <cjwatson@ubuntu.com>
16914
16915 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
16916 "numcenter" (I misunderstood the purpose of this entry).
16917 * docs/grub.texi (sendkey): Likewise.
16918
c4d16542
CW
169192010-08-20 Colin Watson <cjwatson@ubuntu.com>
16920
16921 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
16922 status flag options; simply omitting the option is equivalent and
16923 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
16924 (keysym_table): Rename "num5numlock" to "numlock".
16925 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
16926 can uniformly say that only the last of multiple `sendkey'
16927 invocations has any effect.
16928 * docs/grub.texi (sendkey): New section.
16929
93541d66
CW
169302010-08-19 Colin Watson <cjwatson@ubuntu.com>
16931
16932 * commands/i386/pc/sendkey.c (options): Fix three typos.
16933
b4ece5e1
VS
169342010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16935
16936 Implement sendkey support.
16937
16938 * commands/i386/pc/sendkey.c: New file.
16939 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
16940 (sendkey_mod_SOURCES): New variable.
16941 (sendkey_mod_CFLAGS): Likewise.
16942 (sendkey_mod_LDFLAGS): Likewise.
16943
51f1f5af
CW
169442010-08-18 Colin Watson <cjwatson@ubuntu.com>
16945
16946 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
16947 fix warnings from Autoconf.
16948
9da94e05
CW
169492010-08-18 Colin Watson <cjwatson@ubuntu.com>
16950
16951 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
16952 to avoid false positives with some assemblers that output things
16953 like "someprefix_func" as part of their output.
16954
729a0f2e
RM
169552010-08-15 Robert Millan <rmh@gnu.org>
16956
16957 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
16958 errors.
16959 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
16960 grub_get_libzfs_handle() errors.
16961
f3710e08
RM
169622010-08-14 Robert Millan <rmh@gnu.org>
16963
16964 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
16965 filesystem is not ZFS.
16966
7a3c13de
BC
169672010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16968
16969 Fix for misspelled color names defaulting to black/black (bug
16970 reported by Doug Nazar)
16971
16972 * include/grub/normal.h (grub_parse_color_name_pair): Add return
16973 status to prototype.
16974 * normal/color.c (grub_parse_color_name_pair): Return failure
16975 status.
16976 (grub_env_write_color_normal): Ignore bad color names.
16977 (grub_env_write_color_highlight): Likewise.
16978 * normal/main.c (GRUB_MOD_INIT): Set default color names.
16979
ab8ba50d
BC
169802010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16981
16982 "shift" command support to GRUB script.
16983
16984 * include/grub/script_sh.h (grub_script_shift): New prototype.
16985 * script/execute.c (grub_script_shift): New function.
16986 * script/main.c (grub_script_init): Register shift command.
16987 (grub_script_fini): Unregister shift command.
16988 * util/grub-script-check.c (grub_script_cmd_shift): New function.
16989
16990 * tests/grub_script_shift.in: New testcase.
16991 * conf/tests.rmk: Rules for new testcase.
16992
4d61999e
BC
169932010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16994
16995 "continue" command support to GRUB script.
16996
16997 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
16998 (grub_script_break): Continue support.
16999 * script/main.c (grub_script_init): Register continue command.
17000 (grub_script_fini): Unregister continue command.
17001
17002 * tests/grub_script_continue.in: New testcase.
17003 * conf/tests.rmk: Rules for new testcase.
17004
4df51e00
BC
170052010-08-12 BVK Chaitanya <bvk@dbook>
17006
17007 "break" command support to GRUB script.
17008
17009 * conf/common.rmk: Rule updates to grub-script-check.
17010 * include/grub/misc.h (grub_min): New function.
17011 * include/grub/script_sh.h (grub_script_init): New prototype.
17012 (grub_script_fini): New prototype.
17013 (grub_script_break): New prototype.
17014 * script/main.c (grub_script_init): New function.
17015 (grub_script_fini): New function.
17016 * script/execute.c (grub_script_break): New function.
17017 * normal/main.c: Calls to grub_script_{init,fini}.
17018 * util/grub-script-check.c (grub_script_break): New function.
17019
17020 * tests/grub_script_break.in: New testcase.
17021 * conf/tests.rmk: Rules for new test case.
17022
f12c8420
BC
170232010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17024
17025 Function parameters support to GRUB script.
17026
17027 * script/yylex.l (VARIABLE): Regular expression update.
17028 * script/function.c (grub_script_function_call): Moved ...
17029 * script/execute.c (grub_script_function_call): ... to here.
17030 (grub_script_execute_arglist_to_argv): Removed.
17031 (grub_script_arglist_to_argv): New function.
17032 * script/argv.c: New file.
17033 (grub_script_argv_free): New function.
17034 (grub_script_argv_next): Likewise.
17035 (grub_script_argv_append): Likewise.
17036 (grub_script_argv_split_append): Likewise.
17037 * include/grub/script_sh.h (grub_script_argv): New struct.
17038 (grub_script_argv_free): New function.
17039 (grub_script_argv_next): Likewise.
17040 (grub_script_argv_append): Likewise.
17041 (grub_script_argv_split_append): Likewise.
17042
17043 * conf/common.rmk (normal.mod): New source script/argv.c.
17044
17045 * tests/grub_script_echo1.in: More tests.
17046 * tests/grub_script_vars1.in: Likewise.
17047 * tests/grub_script_functions.in: New test case.
17048 * conf/tests.rmk: Rules for new testcase.
17049
8022b748
BC
170502010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17051
17052 Remove grub_script_cmdblock struct.
17053
17054 * include/grub/script_sh.h: Remove grub_script_cmdblock.
17055 * script/parser.y: Likewise.
17056 * script/execute.c: Rename cmdblock suffix to cmdlist.
17057 * script/script.c: Likewise.
17058 * util/grub-script-check.c: Likewise.
17059
79a6ba61
YB
170602010-08-11 Yves Blusseau <blusseau@zetam.org>
17061
17062 * .bzrignore: add grub-macho2img
17063
d04b9414
VS
170642010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
17065
17066 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
17067
f947ab49
VS
170682010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
17069
17070 Remove the dump of sm712 initialisation sequence.
17071
17072 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
17073 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
17074 (GRUB_VGA_IO_MISC_WRITE): Likewise.
17075 (GRUB_VGA_CR_*): Added many registers.
17076 (GRUB_VGA_SR_*): Likewise.
17077 (GRUB_VGA_GR_*): Likewise.
17078 (grub_vga_write_arx): New function.
17079 (grub_video_hw_config): New struct.
17080 (grub_vga_set_geometry): New function.
17081 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
17082 GRUB_PCI_CLASS_SUBCLASS_VGA.
17083 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
17084 * video/sm712.c (grub_sm712_write_reg): New function
17085 (grub_sm712_read_reg): Likewise.
17086 (grub_sm712_sr_write): Likewise.
17087 (grub_sm712_gr_write): Likewise.
17088 (grub_sm712_cr_write): Likewise.
17089 (grub_sm712_write_arx): Likewise.
17090 (grub_sm712_cr_shadow_write): Likewise.
17091 (grub_sm712_write_dda_lookup): Likewise.
17092 (grub_video_sm712_setup): Initialise the video rather then
17093 blindly replay the dump.
17094 (main) [TEST]: Add a routine to be able to compile as standalone for
17095 tests.
17096 * video/sm712_init.c (sm712_init): Removed.
17097 (sm712_sr_seq1): New array.
17098 (sm712_sr_seq2): Likewise.
17099
f0206638
VS
171002010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
17101
17102 * include/grub/vga.h: Add missing grub/pci.h include.
17103
2764da3b
YB
171042010-08-10 Yves Blusseau <blusseau@zetam.org>
17105
17106 * util/grub-macho2img.c (main): fix typo
17107
cf0c775e
VS
171082010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
17109
17110 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
17111 (grub_vga_gr_read): Likewise.
17112 (grub_vga_cr_write): Likewise.
17113 (grub_vga_cr_read): Likewise.
17114 (grub_vga_sr_write): Likewise.
17115 (grub_vga_sr_read): Likewise.
17116 (grub_vga_palette_read): Likewise.
17117 (grub_vga_palette_write): Likewise.
17118 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
17119 (grub_sm712_sr_read): New function.
17120 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
17121 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
17122
07f360e9
RM
171232010-08-09 Robert Millan <rmh@gnu.org>
17124
17125 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
17126 out unused variables on non-ZFS build.
17127
346c2072
RM
171282010-08-08 Robert Millan <rmh@gnu.org>
17129
17130 Fix path generation for sub-filesystems in ZFS.
17131
17132 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
17133 missing slash.
17134
71175420
RM
171352010-08-08 Robert Millan <rmh@gnu.org>
17136
17137 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
17138
0d8286f3
RM
171392010-08-08 Robert Millan <rmh@gnu.org>
17140
17141 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
17142 exist, issue a proper error message (rely on `ls' for translated
17143 strings).
17144
55dd2924
RM
171452010-08-08 Robert Millan <rmh@gnu.org>
17146
17147 Fix grub-probe invocation.
17148
17149 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
17150
d3dd9e80
RM
171512010-08-04 Robert Millan <rmh@gnu.org>
17152
17153 * configure.ac: Remove checks for getfsstat() and getmntany().
17154 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
17155 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
17156 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
17157 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
17158 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
17159 function.
17160 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
17161 via find_mount_point_from_dir() and getfsstat() / getmntany().
17162
0de22aa9
RM
171632010-08-04 Robert Millan <rmh@gnu.org>
17164
17165 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17166 (grub_find_zpool_from_mount_point): Merge into ...
17167 (grub_find_zpool_from_dir): ... this.
17168 * kern/emu/misc.c: Likewise.
17169
17170 * kern/emu/misc.c
17171 (grub_make_system_path_relative_to_its_root): Replace
17172 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
17173 with grub_find_zpool_from_dir().
17174 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
17175
62858144
RM
171762010-08-04 Robert Millan <rmh@gnu.org>
17177
17178 Support OpenSolaris in ZFS device resolution.
17179
17180 * configure.ac: Check for getmntany().
17181 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
17182 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
17183 support.
17184
9dd6fd50
RM
171852010-08-03 Robert Millan <rmh@gnu.org>
17186
17187 Fix grub-emu build.
17188
17189 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
17190 * include/grub/emu/misc.h: ... here.
17191
17192 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
17193 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
17194
17195 * util/misc.c: Remove `<grub/util/libzfs.h>'.
17196 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
17197 (grub_get_libzfs_handle): Move to ...
17198 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
17199 (grub_get_libzfs_handle): ... here.
17200
c9f7ff97
BC
172012010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
17202
17203 * script/execute.c (grub_script_execute_cmdline): Check for NULL
17204 as command name case.
17205
a870a783
CW
172062010-08-02 Colin Watson <cjwatson@ubuntu.com>
17207
17208 * disk/raid.c (insert_array): Select unique numbers for named arrays
17209 as well, for use as keys in the disk cache.
17210
c7db243b
RM
172112010-08-01 Robert Millan <rmh@gnu.org>
17212
17213 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
17214 kFreeBSD device name, except on ZFS where the filesystem label is
17215 used.
17216 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
17217 `/boot/zfs/zpool.cache'.
17218 Set mountfrom kernel variable using ${kfreebsd_device}.
17219
f7abdefb
RM
172202010-08-01 Robert Millan <rmh@gnu.org>
17221
17222 Make it even harder to use uninitialized `libzfs_handle' (and
17223 make the interface a bit simpler).
17224
17225 * include/grub/util/misc.h (grub_util_init_libzfs)
17226 (libzfs_handle): Remove.
17227 (grub_get_libzfs_handle): New prototype.
17228
17229 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
17230 attribute.
17231 (grub_util_init_libzfs): Remove.
17232 (grub_get_libzfs_handle): New function.
17233
17234 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
17235 grub_get_libzfs_handle() to obtain a libzfs handle instead of
17236 accessing `libzfs_handle' directly.
17237
c882acc0
RM
172382010-08-01 Robert Millan <rmh@gnu.org>
17239
17240 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17241 (grub_find_zpool_from_mount_point): New function prototypes.
17242
17243 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
17244 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
17245
17246 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
17247 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
17248 `static' attribute.
17249
17250 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
17251 finding zpool from mount point into ...
17252 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
17253
17254 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
17255 requested path is part of a ZFS pool, use
17256 grub_find_zpool_from_mount_point() to detect its filesystem name,
17257 and generate a path with `/fsname@path' syntax.
17258
8bfe31d8
CW
172592010-08-01 Colin Watson <cjwatson@ubuntu.com>
17260
17261 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
17262 (void) rather than () so that this is a proper prototype.
17263
553df63d
VS
172642010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17265
17266 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
17267
8687cf07
VS
172682010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17269
17270 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
17271 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
17272
ea9be8ea
CW
172732010-08-01 Colin Watson <cjwatson@ubuntu.com>
17274
17275 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
17276
6eea041a
CW
172772010-08-01 Colin Watson <cjwatson@ubuntu.com>
17278
17279 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
17280
2cfb45df
CW
172812010-08-01 Colin Watson <cjwatson@ubuntu.com>
17282
17283 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
17284 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
17285 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
17286 disable gfxpayload.
17287 (Shell-like scripting): Add real content.
17288 (Serial terminal): Suggest `terminal_input serial; terminal_output
17289 serial' rather than putting the two commands on separate lines,
17290 since console input will be inoperative after the first command.
17291 (menuentry): Document --class, --users, and --hotkey options.
17292 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
17293 Vladimir Serbinenko).
17294
7decd202
VS
172952010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
172962010-08-01 Colin Watson <cjwatson@ubuntu.com>
17297
17298 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
17299
c882acc0
RM
173002010-08-01 Robert Millan <rmh@gnu.org>
17301
17302 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17303 (grub_find_zpool_from_mount_point): New function prototypes.
17304
17305 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
17306 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
17307
17308 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
17309 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
17310 `static' attribute.
17311
17312 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
17313 finding zpool from mount point into ...
17314 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
17315
17316 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
17317 requested path is part of a ZFS pool, use
17318 grub_find_zpool_from_mount_point() to detect its filesystem name,
17319 and generate a path with `/fsname@path' syntax.
17320
deb0caa3
RM
173212010-08-01 Robert Millan <rmh@gnu.org>
17322
17323 Prevent accidental use of uninitialized libzfs_handle.
17324
17325 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
17326 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
17327 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
17328
ce04ef47
CW
173292010-08-01 Colin Watson <cjwatson@ubuntu.com>
17330
17331 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
17332 util/grub.d/10_linux.in). Fixes Debian bug #591093.
17333
ebf53056
RM
173342010-08-01 Robert Millan <rmh@gnu.org>
17335
17336 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 17337
3710bb6b
RM
173382010-07-31 Robert Millan <rmh@gnu.org>
17339
17340 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
17341
8072efeb
RM
173422010-07-31 Robert Millan <rmh@gnu.org>
17343
17344 * kern/emu/misc.c: Add missing license header.
17345
3169f4c7
RM
173462010-07-31 Robert Millan <rmh@gnu.org>
17347
17348 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
17349
17350 * include/grub/util/libnvpair.h: Include `<config.h>'.
17351 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
17352 declaring libnvpair prototypes ourselves.
17353 * include/grub/util/libzfs.h: Include `<config.h>'.
17354 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
17355 declaring libzfs prototypes ourselves.
17356
17357 (libzfs_handle): Moved to ...
17358 * include/grub/util/misc.h (libzfs_handle): ... here.
17359 Include `<grub/util/libzfs.h>'.
17360
c9a00aee
RM
173612010-07-30 Robert Millan <rmh@gnu.org>
17362
17363 * include/grub/emu/misc.h: Add missing license header.
17364
a184f9c8
RM
173652010-07-30 Robert Millan <rmh@gnu.org>
17366
17367 Enable `grub-probe -t device' resolution on ZFS.
17368
17369 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
17370 * include/grub/util/libnvpair.h: New file.
17371 * include/grub/util/libzfs.h: New file.
17372
17373 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
17374 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
17375 `<grub/util/libnvpair.h>'.
17376 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
17377
17378 (find_mount_point_from_dir): New static function.
17379 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
17380 function.
17381 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
17382 find_root_device_from_libzfs() before ressorting to find_root_device().
17383
17384 * include/grub/util/misc.h (grub_util_init_libzfs): New function
17385 prototype.
17386 * util/misc.c: Include `<grub/util/libzfs.h>'.
17387 (grub_util_init_libzfs): New function.
17388 [HAVE_LIBZFS] (libzfs_handle): New global variable.
17389 [HAVE_LIBZFS] (fini_libzfs): New static function.
17390 (grub_util_init_libzfs): New function.
17391 * util/grub-probe.c (main): Call grub_util_init_libzfs().
17392
f7790cdd
RM
173932010-07-30 Robert Millan <rmh@gnu.org>
17394
17395 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
17396 (xmalloc, xrealloc, xstrdup, xasprintf): Add
17397 `warn_unused_result' attribute.
17398 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
17399 (grub_xasprintf, grub_xvasprintf): Likewise.
17400 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
17401
0806b63c
RM
174022010-07-29 Robert Millan <rmh@gnu.org>
17403
17404 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
17405 (probe): Handle `PRINT_FS_LABEL'.
17406 (main): Handle `-t fs_label'.
17407
9f841f5c
RM
174082010-07-29 Robert Millan <rmh@gnu.org>
17409
17410 * configure.ac: Remove grub-mkisofs checks.
17411
46371121
VS
174122010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
17413
17414 * util/ieee1275/grub-install.in: Don't use empty grub_device.
17415 Reported by: Lennart Sorensen.
17416
174172010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17418
17419 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
17420 prior to terminal_input/terminal_output separation. It's been over 1.5
17421 years and those versions weren't widely deployed.
17422
a9600892
CW
174232010-07-22 Colin Watson <cjwatson@ubuntu.com>
17424
17425 * disk/raid.c (insert_array): Don't count named arrays when looking
17426 for unused array numbers.
697e053c 17427 Reported and tested by: Michael Guntsche.
a9600892 17428
c03507df
CW
174292010-07-20 Colin Watson <cjwatson@ubuntu.com>
17430
17431 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
17432 implementation of this so that grub-emu links again, with a note
17433 that this should support hotplugging in the future.
17434
b26f1c11
CW
174352010-07-20 Colin Watson <cjwatson@ubuntu.com>
17436
17437 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
17438
efc9d7f1
CW
174392010-07-20 Colin Watson <cjwatson@ubuntu.com>
17440
17441 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
17442 handle on failure.
17443 (grub_loopback_close): Remove empty function.
17444 (grub_loopback_dev): Remove close method.
17445
dd8ff5c9
CW
174462010-07-20 Colin Watson <cjwatson@ubuntu.com>
17447
17448 Disable EFI cursor when the EFI console becomes inactive.
17449
17450 * term/efi/console.c (grub_efi_console_init): New function.
17451 (grub_efi_console_fini): New function.
17452 (grub_console_term_output): Register init and fini methods.
17453
5e3bec67
VS
174542010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17455
17456 * tests/util/grub-shell-tester.in: Remove bashism and declare as
17457 sh script.
17458
afaec079
VS
174592010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17460
17461 * disk/loopback.c (grub_loopback): Replace filename with file.
17462 (delete_loopback): Handle new semantics.
17463 (grub_cmd_loopback): Likewise.
17464 (grub_loopback_iterate): Likewise.
17465 (grub_loopback_close): Likewise.
17466
a6a11f3c
VS
174672010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17468
17469 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
17470 with -p "".
17471 Reported by: Tito Keitel.
17472
64a638b0
VS
174732010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17474
17475 * docs/grub.texi (Naming convention): Document new naming convention.
17476
ab8ba957
VS
174772010-07-20 Vadim Solomin <vadic052@gmail.com>
174782010-07-20 Colin Watson <cjwatson@ubuntu.com>
17479
17480 Generate device.map in something closer to the old ordering.
17481
17482 * util/deviceiter.c (struct device): New declaration.
17483 (compare_file_names): Rename to ...
17484 (compare_devices): ... this. Sort by kernel name in preference to
17485 the stable by-id name, but keep the latter as a fallback comparison.
17486 Update header comment.
17487 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
17488 of `struct device' rather than of plain file names.
17489
a29d6a4b
TF
174902010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
17491
17492 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
17493 on i386.
17494
39d824e8
VS
174952010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17496
17497 * commands/acpi.c (setup_common_tables): Use sizeof instead of
17498 hardcoding size.
17499 (setv1table): Likewise.
17500
f058276b
FZ
175012010-07-20 Colin Watson <cjwatson@ubuntu.com>
17502
17503 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
17504 removing the homehost if present.
17505 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
17506 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
17507 removing the homehost if present.
17508 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
17509 if possible.
17510 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
17511
17512 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
17513 parameter. Set its pointer target to 0.
17514 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
17515 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
17516 `data_offset' value from the superblock for 1.x metadata.
17517 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
17518 data on the device.
17519 (insert_array): Record the start sector of data on the device.
17520 (grub_raid_register): Pass start_sector parameters to
17521 grub_raid_list->detect and insert_array.
17522 * include/grub/raid.h (struct grub_raid_array): Add start_sector
17523 member.
17524 (struct grub_raid): Add start_sector parameter to `detect'.
17525
17526 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
17527 __attribute__ ((packed)), leaving a comment.
17528 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
17529 (grub_mdraid_detect_09): ... here and ...
17530 (grub_mdraid_detect_1x): ... here.
17531
175322010-07-20 Peter Henn <peter.henn@web.de>
17533
17534 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
17535 chunk size and disk size, which are already given as sector counts
17536 as distinct from the 0.90 units. Fetch the correct device number
17537 from the role table instead of using the table index.
17538
175392010-07-20 Felix Zielcke <fzielcke@z-51.de>
17540
17541 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
17542 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
17543 (WriteMostly1): New macro.
17544 Set array->name to NULL for metadata format 0.90. Add support for
17545 metadata 1.x. Fix some comments.
17546 * disk/raid.c (): Add support for name based RAID arrays. Fix a
17547 few comments.
17548 * util/getroot.c (grub_util_get_grub_dev): Add support for
17549 /dev/md/name style devices.
17550
4b761da9
CW
175512010-07-20 Colin Watson <cjwatson@ubuntu.com>
17552
17553 * .bzrignore: Ignore 20_linux_xen.
17554
5771289a
CW
175552010-07-17 Colin Watson <cjwatson@ubuntu.com>
17556
17557 * util/import_unicode.py: Remove unnecessary imports.
17558
5dab68df
AN
175592010-07-17 Aleš Nesrsta <starous@volny.cz>
17560
17561 Hotplugging and USB hub support.
17562
17563 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
17564 (grub_ohci): Likewise.
17565 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
17566 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
17567 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
17568 (GRUB_OHCI_CTRL_EDS): Likewise.
17569 (GRUB_OHCI_BULK_EDS): Likewise.
17570 (GRUB_OHCI_TDS): Likewise.
17571 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
17572 (grub_ohci_ed_phys2virt): New function.
17573 (grub_ohci_virt_to_phys): Likewise.
17574 (grub_ohci_td_phys2virt): Likewise.
17575 (grub_ohci_td_virt2phys): Likewise.
17576 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
17577 attachment.
17578 (grub_ohci_find_ed): New function.
17579 (grub_ohci_alloc_td): Likewise.
17580 (grub_ohci_free_td): Likewise.
17581 (grub_ohci_free_tds): Likewise.
17582 (grub_ohci_transfer): Use previously allocated memory.
17583 (grub_ohci_portstatus): Reset status changed bit.
17584 (grub_ohci_detect_dev): Supply status changed.
17585 (grub_ohci_fini_hw): Free memory.
17586 (grub_ohci_restore_hw): Reallocate memory.
17587 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
17588 Reset status change.
17589 (grub_uhci_detect_dev): Supply status_change.
17590 * bus/usb/usb.c (attach_hooks): New var.
17591 (grub_usb_device_attach): New function.
17592 (grub_usb_register_attach_hook_class): Likewise.
17593 (grub_usb_unregister_attach_hook_class): Likewise.
17594 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
17595 (grub_usb_add_hub): Reset connection changed bit.
17596 (attach_root_port): New function.
17597 (grub_usb_root_hub): Likewise.
17598 (poll_nonroot_hub): Likewise.
17599 (grub_usb_poll_devices): Likewise.
17600 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
17601 * disk/usbms.c (grub_usbms_open): Use device hooks.
17602 (grub_usbms_iterate) :Poll devices.
17603 (grub_usbms_finddevs): Split into ...
17604 (grub_usbms_attach): ... this ...
17605 (grub_usbms_attach): ... and this.
17606 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
17607 in detect_dev.
17608 (grub_usb_interface): New fields attached and detach_hook.
17609 (grub_usb_attach_hook_class): New type.
17610 (grub_usb_attach_desc): New struct.
17611 (grub_usb_register_attach_hook_class): New function.
17612 (grub_usb_unregister_attach_hook_class): Likewise.
17613 (grub_usb_poll_devices): Likewise.
17614 (grub_usb_device_attach): Likewise.
17615 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
17616 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
17617
3222efaf
VS
176182010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
17619
17620 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
17621 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
17622 delta determination style. Works with most NetBSD partitions too.
17623
139b714a
VS
176242010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
17625
17626 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
17627 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
17628
986aad56
VS
176292010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
17630
17631 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
17632
99be513c
AB
176332010-07-14 Anton Blanchard <anton@samba.org>
17634
17635 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
17636 ET_DYN files.
17637
18075f62
GS
176382010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17639
17640 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
17641
8d9a5b15
GS
176422010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17643
17644 * kern/partition.c (grub_partition_check_containment): New function to
17645 check that a partition is physically contained in a parent. Since
17646 offsets are relative (and non-negative), this reduces to checking that
17647 the partition ends before its parent.
17648 (grub_partition_map_probe): Discard out-of-range sub-partitions.
17649 (grub_partition_iterate): Likewise.
17650 * include/grub/partition.h (grub_partition_map): Slightly more detailed
17651 comments.
17652 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
17653 partitions that start before their parent, and add debug printfs.
17654
19563c25
CW
176552010-07-13 Colin Watson <cjwatson@ubuntu.com>
17656
17657 * Makefile.in (.SUFFIX): Spell correctly, as ...
17658 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
17659 bare module name without `.mod', e.g. `test') tried to invoke a
17660 Modula-2 compiler.
17661
1a1f1e67
CW
176622010-07-13 Colin Watson <cjwatson@ubuntu.com>
17663
17664 * README: Point to the Info manual.
17665
811b0dca
JS
176662010-07-13 Jiro SEKIBA <jir@unicus.jp>
17667
17668 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
17669 2nd superblock position from partition size.
17670
e4f4eafc
CW
176712010-07-10 Colin Watson <cjwatson@ubuntu.com>
17672
17673 * Makefile.in (MAINTAINER_CLEANFILES): Remove
17674 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
17675 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
17676 outputs.
17677
4274c30f
VS
176782010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17679
17680 Restructure SCSI .id handling.
17681 Reported and tested by: Aleš Nesrsta.
17682
17683 * disk/ata.c (grub_atapi_close): Removed. All users updated.
17684 (grub_atapi_dev): Changed .name to "ata". New field .id.
17685 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
17686 (grub_usbms_dev): New field .id.
17687 * disk/scsi.c (grub_scsi_iterate): Generate name.
17688 (grub_scsi_open): Parse name.
17689 * include/grub/scsi.h (grub_make_scsi_id): New function.
17690 (grub_scsi_dev): Change iterate and open to number instead of naming
17691 busses. All users updated.
17692 (grub_scsi): Remove name. Add .bus.
17693
5bc24388
VS
176942010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17695
17696 * commands/help.c (grub_cmd_help): Fix a typo.
17697
249975ba
VS
176982010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17699
17700 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
17701 Reported and tested by: Colin Watson.
17702
3eaac1a1
VS
177032010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17704
17705 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
17706 in this context.
17707
becce1b1
VS
177082010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
17709
17710 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
17711
f7bf0918
CW
177122010-07-07 Colin Watson <cjwatson@ubuntu.com>
17713
17714 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
17715 indentation.
17716
0b0f9620
CW
177172010-07-06 Colin Watson <cjwatson@ubuntu.com>
17718
17719 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
17720 and disk/raid6_recover.c.
17721 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
17722 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
17723
1e545469
CW
177242010-07-06 Colin Watson <cjwatson@ubuntu.com>
17725
17726 * term/gfxterm.c (repaint_schedulded): Rename to ...
17727 (repaint_scheduled): ... this. Update all callers.
17728 (repaint_was_schedulded): Rename to ...
17729 (repaint_was_scheduled): ... this. Update all callers.
17730
5357687a
CW
177312010-07-06 Colin Watson <cjwatson@ubuntu.com>
17732
17733 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
17734 which we expect to be handled by upper layers.
17735
29d7e783
BC
177362010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
17737
17738 * bus/usb/usbhub.c: #include time.h header.
17739
37582066
CW
177402010-07-06 Colin Watson <cjwatson@ubuntu.com>
17741
17742 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
17743 entry_name also for entries without stat blocks (e.g. ".."); fixes
17744 corruption of the first entry in a directory.
17745
c8c06953
CW
177462010-07-06 Colin Watson <cjwatson@ubuntu.com>
17747
17748 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
17749 after setting gfxterm as the active terminal. GRUB_BACKGROUND
17750 doesn't work otherwise.
17751
e75056f1
CW
177522010-07-05 Colin Watson <cjwatson@ubuntu.com>
17753
17754 * docs/grub.texi (Features): Update list of supported file systems.
17755 (GNU/Linux): Update for GRUB 2.
17756 (Serial terminal): Remove mention of --disable-serial, which was a
17757 GRUB Legacy configure option. Update instructions to use
17758 `terminal_input' and `terminal_output' rather than `terminal'.
17759 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
17760 configuration' and `Installing GRUB using grub-install'.
17761 (Menu entry editor): Update for GRUB 2.
17762 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
17763 Document new -a, -u, and -v options.
17764 (initrd): New section.
17765 (initrd16): New section.
17766 (linux): New section.
17767 (linux16): New section.
17768 (search): The `var' argument to `--set' is optional.
17769 (GRUB only offers a rescue shell): Go into a little more detail on
17770 drive ordering.
17771
5cf69151
CW
177722010-07-05 Colin Watson <cjwatson@ubuntu.com>
17773
17774 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
17775
e3f90044
CW
177762010-07-05 Colin Watson <cjwatson@ubuntu.com>
17777
17778 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
17779 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
17780
38d8f4f3
CW
177812010-07-05 Colin Watson <cjwatson@ubuntu.com>
17782
17783 * util/i386/pc/grub-setup.c (setup): Rename prefix to
17784 install_prefix, in line with install_dos_part and install_bsd_part.
17785 Add new prefix variable, which is copied to install_prefix after
17786 comparing core.img in memory with the one read from disk in the
17787 no-embedding case, and use that rather than overwriting
17788 install_prefix immediately when installing to a partition.
17789 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
17790 Bicakci.
17791
57ebd41e
GS
177922010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
17793
17794 * configure.ac: Avoid == in test command, it's not portable.
17795 * util/grub.d/30_os-prober.in: Likewise.
17796
cb7f64b2
CW
177972010-07-04 Colin Watson <cjwatson@ubuntu.com>
17798
17799 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
17800
6b654bb0
GS
178012010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
17802
17803 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
17804 multiple (top-level) partmaps.
17805
72a2026d
VS
178062010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17807
17808 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 17809 Reported by: Tino Keitel.
72a2026d 17810
df3eb88f
VS
178112010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17812
17813 Bidi and diacritics support.
17814
17815 * Makefile.in (widthspec.bin): New target.
17816 (widthspec.h): Likewise.
17817 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
17818 * autogen.sh: Generate unidata.c.
17819 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
17820 * commands/ls.c (grub_ls_list_devices): Likewise.
17821 (grub_ls_list_files): Likewise.
17822 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
17823 (grub_mini_cmd_lsmod): Likewise.
17824 * commands/read.c: Likewise.
17825 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
17826 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
17827 * lib/arg.c (grub_arg_show_help): Likewise.
17828 * lib/crypto.c (grub_password_get): Likewise.
17829 * normal/auth.c (grub_username_get): Likewise.
17830 * normal/misc.c (grub_normal_print_device_info): Likewise.
17831 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
17832 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
17833 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
17834 (normal/charset.c_DEPENDENCIES): New variable.
17835 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
17836 (pkglib_MODULES): Remove charset.mod.
17837 (charset_mod_SOURCES): Removed.
17838 (charset_mod_CFLAGS): Likewise.
17839 (charset_mod_LDFLAGS): Likewise.
17840 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
17841 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
17842 and term/tparm.c.
17843 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17844 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17845 (kernel_img_HEADERS): Add terminfo.h.
17846 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
17847 Fill ->font. Reverse ascii bitmaps.
17848 (grub_font_get_xheight): New function.
17849 * font/font.c (grub_font_get_string_width): Moved from here ...
17850 * gfxmenu/font.c (grub_font_get_string_width): ... here.
17851 * font/font.c (grub_font_draw_string): Moved from here ...
17852 * gfxmenu/font.c (grub_font_draw_string): ... here.
17853 * font/font.c (grub_font_dup_glyph): New function.
17854 (grub_font_blit_glyph): Likewise.
17855 (grub_font_blit_glyph_mirror): Likewise.
17856 (blit_comb): Likewise.
17857 (grub_font_construct_dry_run): Likewise.
17858 (grub_font_get_constructed_device_width): Likewise.
17859 (grub_font_construct_glyph): Likewise.
17860 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
17861 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
17862 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
17863 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
17864 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
17865 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
17866 (grub_font_get_xheight): New proto.
17867 (grub_font_get_constructed_device_width): Likewise.
17868 (grub_font_construct_glyph): Likewise.
17869 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
17870 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
17871 * include/grub/font.h (grub_font_draw_string): Moved from here ...
17872 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
17873 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
17874 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
17875 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
17876 (grub_console_getcharwidth): Likewise.
17877 * include/grub/misc.h (grub_xputs): New proto.
17878 (grub_puts): Inlined.
17879 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
17880 (grub_normal_get_line_counter): Removed.
17881 (grub_install_newline_hook): Likewise.
17882 (grub_normal_get_char_counter): New proto.
17883 (grub_normal_reset_more): Likewise.
17884 (grub_xputs_normal): Likewise.
17885 * include/grub/powerpc/ieee1275/console.h: Removed.
17886 * include/grub/sparc64/ieee1275/console.h: Likewise.
17887 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
17888 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
17889 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
17890 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
17891 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
17892 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
17893 (grub_term_input): Pass reference to self. All users updated.
17894 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
17895 Pass reference to self. New fields normal_color, highlight_color and
17896 data. All users updated.
17897 (grub_putchar): Removed.
17898 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
17899 (grub_unicode_estimate_width): New function.
17900 (grub_term_getcharwidth): Add defaults.
17901 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
17902 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
17903 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
17904 (grub_cls): Remove EXPORT_FUNC.
17905 (grub_setcolorstate): Inline.
17906 (grub_newline_hook): Removed.
17907 * include/grub/terminfo.h: Rewritten. All users updated.
17908 * include/grub/unicode.h: New file.
17909 * include/grub/video.h (grub_video_signed_rect): New type.
17910 * kern/emu/console.c (grub_console_highlight_color): Removed.
17911 (grub_console_normal_color): Likewise.
17912 (grub_console_standard_color): Made static.
17913 (grub_ncurses_putchar): Remove mapping.
17914 (grub_ncurses_getcharwidth): Removed.
17915 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
17916 (grub_ncurses_setcolor): Removed.
17917 (grub_ncurses_getcolor): Likewise.
17918 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
17919 (grub_console_putchar): ... this.
17920 (grub_console_putchar): Handle argument difference.
17921 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
17922 console_init_early and console_init_lately.
17923 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
17924 * kern/misc.c (grub_puts): Removed.
17925 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
17926 (grub_vsnprintf_real): Remove str = NULL support.
17927 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
17928 * normal/charset.c (grub_utf8_to_ucs4): ... here.
17929 * kern/term.c (grub_putcode): Renamed to ...
17930 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
17931 (grub_putchar): Removed.
17932 (grub_xputs_dumb): New function.
17933 (grub_xputs): New variable.
17934 * lib/charset.c: Move from here ...
17935 * normal/charset.c: ... to here.
17936 (grub_ucs4_to_utf8): New function.
17937 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
17938 (join_types): New variable.
17939 (unpack_join): New function.
17940 (bidi_types): New variable.
17941 (unpack_bidi): New function.
17942 (get_bidi_type): Likewise.
17943 (get_join_type): Likewise.
17944 (is_mirrored): Likewise.
17945 (grub_unicode_get_comb_type): Likewise.
17946 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
17947 (is_type_after): Likewise.
17948 (grub_unicode_aglomerate_comb): Likewise.
17949 (bidi_line_wrap): Likewise.
17950 (grub_bidi_line_logical_to_visual): Likewise.
17951 (grub_bidi_logical_to_visual): Likewise.
17952 (grub_unicode_mirror_code): Likewise.
17953 (grub_unicode_shape_code): Likewise.
17954 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
17955 Don't use grub_putchar.
17956 * normal/main.c (grub_normal_init_page): Use grub_putcode.
17957 (grub_normal_reader_init): Likewise.
17958 (grub_xputs_saved): New variable.
17959 (GRUB_MOD_INIT): Set grub_xputs.
17960 (GRUB_MOD_FINI): Restore grub_xputs.
17961 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
17962 (menu_init): Avoid printing gfxmenu error.
17963 (show_menu): Use grub_normal_get_char_counter.
17964 * normal/menu_entry.c (update_screen): Fix out-of-array.
17965 (complete): Avoid NULL dereferencing.
17966 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
17967 * normal/menu_text.c (print_spaces): Removed.
17968 (grub_print_ucs4): Likewise.
17969 (grub_print_message_indented): Use grub_print_ucs4.
17970 (print_message): Use grub_putcode.
17971 (print_entry): Hanlde diacritics.
17972 * normal/term.c (term_state): New type.
17973 (grub_more_lines): Removed.
17974 (term_states): New variable.
17975 (grub_normal_line_counter): Renamed to ..
17976 (grub_normal_char_counter): ...this. All users updated.
17977 (grub_normal_get_line_counter): Renamed to ...
17978 (grub_normal_get_char_counter): ... this.
17979 (grub_normal_reset_more): New function.
17980 (process_newline): Removed.
17981 (print_more): New function.
17982 (grub_install_newline_hook): Removed.
17983 (map_code): New function.
17984 (grub_puts_terminal): Use grub_print_ucs4.
17985 (putglyph): New function.
17986 (putcode_real): Likewise.
17987 (grub_putcode): Use putcode_real.
17988 (get_maxwidth): New function.
17989 (get_startwidth): Likewise.
17990 (print_ucs4_terminal): Likewise.
17991 (find_term_state): Likewise.
17992 (put_glyphs_terminal): Likewise.
17993 (print_backlog): Likewise.
17994 (print_ucs4_real): Likewise.
17995 (grub_print_ucs4): Likewise.
17996 (grub_xputs_normal): Likewise.
17997 * term/efi/console.c (grub_console_putchar): Output diacritics.
17998 (grub_console_getcharwidth): Removed.
17999 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
18000 * term/gfxterm.c (clear_char): Free chars.
18001 (scroll_up): Avoid leaking memory.
18002 (grub_gfxterm_putchar): Support diacritics.
18003 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
18004 * term/i386/pc/console.c (grub_console_term_output): Declare as
18005 GRUB_TERM_CODE_TYPE_VGA.
18006 * term/i386/pc/vga.c (grub_vga_term): Declare as
18007 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
18008 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
18009 GRUB_TERM_CODE_TYPE_VGA.
18010 * term/i386/vga_common.c (map_char): Removed.
18011 (grub_console_putchar): Likewise.
18012 (grub_console_getcharwidth): Likewise.
18013 * term/ieee1275/ofconsole.c: Simplify using terminfo.
18014 (colors): Reordered to match terminfo.
18015 (grub_ofconsole_normal_color): Removed.
18016 (grub_ofconsole_writeesc): Likewise.
18017 (grub_ofconsole_highlight_color): Likewise.
18018 (grub_ofconsole_getcharwidth): Likewise.
18019 (grub_ofconsole_setcolorstate): Likewise.
18020 (grub_ofconsole_setcolor): Likewise.
18021 (grub_ofconsole_getcolor): Likewise.
18022 (grub_ofconsole_readkey): Renamed to ...
18023 (readkey): ... this. Remove escape sequence handling. Return -1 on no
18024 key.
18025 (grub_ofconsole_checkkey): Removed.
18026 (grub_ofconsole_getkey): Likewise.
18027 (grub_ofconsole_getxy): Likewise.
18028 (grub_ofconsole_gotoxy): Likewise.
18029 (grub_ofconsole_cls): Likewise.
18030 (grub_ofconsole_refresh): Likewise.
18031 (grub_ofconsole_terminfo_input): New struct.
18032 (grub_ofconsole_terminfo_output): Likewise.
18033 (grub_ofconsole_term_input): Use terminfo.
18034 (grub_ofconsole_term_output): Likewise.
18035 (grub_console_init): Split into ...
18036 (grub_console_init_early): ...this and ...
18037 (grub_console_init_lately): ...this. Use terminfo.
18038 (grub_ofconsole_putchar): Renamed to ...
18039 (put): ... this. Remove mapping.
18040 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
18041 * term/serial.c: Simplify using terminfo.
18042 (xpos): Removed.
18043 (ypos): Likewise.
18044 (keep_track): Likewise.
18045 (registered): Likewise.
18046 (input_buf): Likewise.
18047 (npending): Likewise.
18048 (serial_translate_key_sequence): Likewise.
18049 (fill_input_buf): Likewise.
18050 (grub_serial_checkkey): Likewise.
18051 (grub_serial_getkey): Likewise.
18052 (grub_serial_getxy): Likewise.
18053 (grub_serial_gotoxy): Likewise.
18054 (grub_serial_putchar): Likewise.
18055 (grub_serial_cls): Likewise.
18056 (grub_serial_setcolorstate): Likewise.
18057 (grub_serial_setcursor): Likewise.
18058 (serial_hw_init): Use serial_hw_fetch.
18059 (grub_serial_terminfo_input): New variable.
18060 (grub_serial_terminfo_output): Likewise.
18061 (grub_serial_term_input): Use terminfo.
18062 (grub_serial_term_output): Likewise.
18063 * term/terminfo.c (putstr): Use put.
18064 (grub_terminfo_all_free): New function
18065 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
18066 (grub_terminfo_output_register): New function.
18067 (grub_terminfo_output_unregister): Likewise.
18068 (grub_terminfo_getxy): Likewise.
18069 (grub_terminfo_readkey): Likewise.
18070 (grub_terminfo_checkkey): Likewise.
18071 (grub_terminfo_getkey): Likewise.
18072 (grub_terminfo_input_init): Likewise.
18073 (print_terminfo): Likewise.
18074 (grub_cmd_terminfo): Handle encoding.
18075 (grub_terminfo_gotoxy): Track position.
18076 (grub_terminfo_cls): Likewise.
18077 (grub_terminfo_putchar): Likewise.
18078 (grub_terminfo_setcolorstate): Handle colors
18079 (grub_terminfo_cursor_on): This ...
18080 (grub_terminfo_cursor_off): ... and this merged into ...
18081 (grub_terminfo_setcursor): ... this.
18082 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
18083 * unicode/ArabicShaping.txt: New file (imported from Unicode).
18084 * unicode/BidiMirroring.txt: Likewise.
18085 * unicode/UnicodeData.txt: Likewise.
18086 * unicode/COPYING: Likewise.
18087 * util/grub-editenv.c (grub_putchar): Removed.
18088 (grub_xputs_real): New function.
18089 (grub_xputs): New variable.
18090 * util/grub-fstest.c (grub_putchar): Removed.
18091 (grub_xputs_real): New function.
18092 (grub_xputs): New variable.
18093 * util/grub-mkdevicemap.c (grub_putchar): Removed.
18094 (grub_xputs_real): New function.
18095 (grub_xputs): New variable.
18096 * util/grub-probe.c (grub_putchar): Removed.
18097 (grub_xputs_real): New function.
18098 (grub_xputs): New variable.
18099 * util/grub-script-check.c (grub_putchar): Removed.
18100 (grub_xputs_real): New function.
18101 (grub_xputs): New variable.
18102 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
18103 (grub_xputs_real): New function.
18104 (grub_xputs): New variable.
18105 * util/import_unicode.py: New file.
18106 * util/grub-mkfont.c (ft_errmsgs): New array.
18107 (grub_glyph_info): Make bitmap a pointer.
18108 (file_formats): New type WIDTH_SPEC.
18109 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
18110 (options): Add width-spec.
18111 (help): Likewise.
18112 (add_char): Renamed to ...
18113 (add_glyph): ... this.
18114 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
18115 (glyph_replace): New type.
18116 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
18117 (add_char): New function.
18118 (add_subst): Likewise.
18119 (process_cursive): Likewise.
18120 (add_font): Handle GSUB.
18121 (write_font_width_spec): New function.
18122 (main): Sort glyphs.
18123 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
18124 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
18125 * kern/term.c (grub_cls): Moved from here...
18126 * normal/term.c (grub_cls): ... here.
18127
50f0bcda
CW
181282010-07-02 Colin Watson <cjwatson@ubuntu.com>
18129
18130 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
18131 suitable for using within the format argument of printf when
18132 converting grub_size_t.
18133 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
18134 "x" to convert grub_size_t arguments.
18135
40372103
VS
181362010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18137
18138 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
18139 too long captions.
18140 (list_get_minimal_size): Take selection box into account.
18141
942a10c7
VS
181422010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18143
18144 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
18145 NULL font.
18146
2bdb2892
CW
181472010-07-02 Colin Watson <cjwatson@ubuntu.com>
18148
18149 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
18150 devices when iterating over /dev/disk/by-id; they will be handled
18151 later if appropriate, which they aren't always (e.g. LVM).
18152
e03ed6c1
CW
181532010-07-02 Colin Watson <cjwatson@ubuntu.com>
18154
18155 * include/grub/misc.h (grub_reboot): Declare as noreturn.
18156 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
18157 fails.
18158 (grub_halt): Likewise.
18159 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
18160 reset-all fails.
18161 (grub_halt): Don't return, even if all of shut-down, power-off, and
18162 poweroff fail.
18163
47695765
CW
181642010-07-02 Colin Watson <cjwatson@ubuntu.com>
18165
18166 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
18167 arguments, not three.
18168
507736c8
CW
181692010-07-02 Colin Watson <cjwatson@ubuntu.com>
18170
18171 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
18172 * util/grub.d/10_linux.in: Use it to check for LVM, so that
18173 LVM-on-RAID is handled correctly.
18174
e3c8cd37
CW
181752010-07-02 Colin Watson <cjwatson@ubuntu.com>
18176
18177 * docs/grub.texi (Changes from GRUB Legacy): New section.
18178 (Future): Fix typo.
18179
8d4a2fec
CW
181802010-07-02 Colin Watson <cjwatson@ubuntu.com>
18181
18182 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
18183 grub.d/README accidentally ends up executable for one reason or
18184 another. Ignore it.
18185
1c4827be
VS
181862010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18187
18188 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
18189 (gpt_partition_map_iterate): Support non-512B sectors.
18190
d9a0c941
VS
181912010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18192
18193 * kern/efi/init.c (grub_efi_init): Disable watchdog.
18194 Tested by: Seth Goldberg.
18195
48f27e87
VS
181962010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18197
18198 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
18199 Properly align mbi.
18200 Reported by: Seth Goldberg.
18201
b0c4f956
VS
182022010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18203
18204 * util/grub-mkrescue.in: Avoid module duplication.
18205
105a2e8c
SF
182062010-07-01 Sean Finney <seanius@seanius.net>
18207
18208 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
18209
5944958c
SF
182102010-07-01 Sean Finney <seanius@seanius.net>
18211
18212 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
18213
182142010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18215
18216 * disk/lvm.c (grub_lvm_checkvalue): New function.
18217 (grub_lvm_check_flag): Likewise.
18218
b79889ba
RM
182192010-07-01 Robert Millan <rmh@gnu.org>
18220
18221 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
18222 Support 'p' as partition separator on kernel of FreeBSD (used
18223 with GPT labels).
18224 (grub_util_biosdisk_get_grub_dev): Likewise.
18225
ec1d04f1
VS
182262010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18227
18228 Yeeloong firmware port.
18229
18230 * boot/mips/yeeloong/fwstart.S: New file.
18231 * bus/cs5536.c (gpiodump): New const.
18232 (set_io_space): New function.
18233 (set_iod): Likewise.
18234 (set_p2d): Likewise.
18235 (grub_cs5536_init_geode): Likewise.
18236 * commands/mips/yeeloong/lsspd.c: New file.
18237 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
18238 (serial_mod_SOURCES): New variable.
18239 (serial_mod_CFLAGS): Likewise.
18240 (serial_mod_LDFLAGS): Likewise.
18241 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
18242 term/terminfo.c and term/tparm.c.
18243 (pkglib_IMAGES): Add fwstart.img.
18244 (fwstart_img_SOURCES): New variable.
18245 (fwstart_img_CFLAGS): Likewise.
18246 (fwstart_img_ASFLAGS): Likewise.
18247 (fwstart_img_LDFLAGS): Likewise.
18248 (fwstart_img_FORMAT): Likewise.
18249 (pkglib_MODULES): Add lsspd.mod.
18250 (lsspd_mod_SOURCES): New variable.
18251 (lsspd_mod_CFLAGS): Likewise.
18252 (lsspd_mod_LDFLAGS): Likewise.
18253 (pkglib_MODULES): Add halt.mod.
18254 (halt_mod_SOURCES): New variable.
18255 (halt_mod_CFLAGS): Likewise.
18256 (halt_mod_LDFLAGS): Likewise.
18257 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
18258 (serial_mod_SOURCES): Removed.
18259 (serial_mod_CFLAGS): Likewise.
18260 (serial_mod_LDFLAGS): Likewise.
18261 * disk/ata.c (check_device): New function.
18262 (grub_ata_device_initialize): Use check_device.
18263 (grub_ata_iterate): Recheck devices.
18264 (grub_ata_open): Likewise.
18265 (grub_atapi_iterate): Likewise.
18266 (grub_atapi_open): Likewise.
18267 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
18268 (GRUB_ATA_CH1_PORT1): Likewise.
18269 (GRUB_ATA_CH0_PORT2): Likewise.
18270 (GRUB_ATA_CH1_PORT2): Likewise.
18271 * include/grub/mips/loongson.h: New file.
18272 * include/grub/mips/yeeloong/ec.h: Likewise.
18273 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
18274 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
18275 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
18276 * include/grub/misc.h (grub_halt): Declare as noreturn.
18277 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
18278 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
18279 (UART_ENABLE_FIFO_TRIGGER1): New definition.
18280 (UART_ENABLE_DTRRTS): Likewise.
18281 (UART_ENABLE_MODEM): Removed.
18282 (UART_ENABLE_OUT2): New const.
18283 * include/grub/term.h (grub_term_register_input_active): New function.
18284 (grub_term_register_output_active): Likewise.
18285 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
18286 argument.
18287 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
18288 (init_pci): New function.
18289 (grub_machine_init): Execute platform init when firmware. Init serial.
18290 (grub_halt): Implement.
18291 (grub_exit): Likewise.
18292 (grub_reboot): Likewise.
18293 * term/serial.c (serial_hw_init): Update macros.
18294 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
18295 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
18296 (image_targets): New target mipsel-yeeloong-flash.
18297 (generate_image): Support IMAGE_YEELOONG_FLASH.
18298 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
18299 (grub_video_sm712_setup): Init card.
18300 (grub_video_sm712_set_palette): Removed.
18301 * video/sm712_init.c: New file.
18302
ff4a70d2
CW
183032010-06-30 Colin Watson <cjwatson@ubuntu.com>
18304
18305 * Makefile.in (install-local): Temporarily prepend $(builddir) to
18306 PATH when running help2man and then run it on the unadorned
18307 executable names, rather than passing $(builddir)/* paths to
18308 help2man. This avoids the build directory ending up in generated
18309 manual pages.
18310
1246efeb
CW
183112010-06-29 Colin Watson <cjwatson@ubuntu.com>
18312
18313 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
18314 to avoid accidents when debugging with 'sh -x'.
18315 * util/grub-mkrescue.in: Likewise.
18316 * util/grub.d/00_header.in: Likewise.
18317 * util/grub.d/10_hurd.in: Likewise.
18318 * util/grub.d/10_kfreebsd.in: Likewise.
18319 * util/grub.d/10_linux.in: Likewise.
18320 * util/grub.d/10_netbsd.in: Likewise.
18321 * util/grub.d/10_windows.in: Likewise.
18322 * util/grub.d/20_linux_xen.in: Likewise.
18323 * util/grub.d/30_os-prober.in: Likewise.
18324 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18325
1ba9b889
CW
183262010-06-29 Colin Watson <cjwatson@ubuntu.com>
18327
18328 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
18329 last character in the buffer.
18330 Reported by: Vladimir Serbinenko.
18331
dccaf99d
RM
183322010-06-29 Robert Millan <rmh@gnu.org>
18333
18334 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
18335 (Command-line and menu entry commands): Document `badram' command.
18336
d500ed12
RM
183372010-06-28 Robert Millan <rmh@gnu.org>
18338
18339 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
18340 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
18341 command using ${GRUB_BADRAM} as parameter.
18342
20bc84a6
CW
183432010-06-28 Colin Watson <cjwatson@ubuntu.com>
18344
18345 * docs/grub.texi (Device map): New section.
18346 (Themes): New section (stub).
18347 * Makefile.in (docs/grub.info): The info documentation now builds
18348 without errors. Make sure it stays that way.
18349
4045dee1
VS
183502010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
18351
18352 Use normal parser for menu entries.
18353 Reported by: Thomas Frauendorfer
18354
18355 * include/grub/parser.h (grub_parser_execute): Don't export.
18356 * normal/menu.c (grub_menu_execute_entry_real): New function.
18357 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
18358
bca58c7b
CW
183592010-06-28 Colin Watson <cjwatson@ubuntu.com>
18360
18361 * docs/grub.texi (Embedded configuration): New section (replacing
18362 old "Preset Menu" stub).
18363 (Images): New section.
18364 (configfile): Note that any menu entries defined in `file' are shown
18365 immediately.
18366
dec53e63
JT
183672010-06-28 Josh Triplett <josh@joshtriplett.org>
18368
18369 * mmap/i386/pc/mmap_helper.S: Set CF on return.
18370
c06e40f7
CW
183712010-06-28 Colin Watson <cjwatson@ubuntu.com>
18372
18373 * util/grub-install.in: Add --debug-image= option.
18374
cb88052b
CW
183752010-06-28 Colin Watson <cjwatson@ubuntu.com>
18376
18377 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
18378 possible on Linux.
18379
18380 * util/deviceiter.c (check_device): Rename to ...
18381 (check_device_readable_unique): ... this. Update all callers.
18382 Maintain and check a list of which devices (by canonicalized name)
18383 have already been seen.
18384 (clear_seen_devices): New function.
18385 (compare_file_names) [__linux__]: New function.
18386 (grub_util_iterate_devices): Clear the list of seen devices on exit
18387 and (just in case) on entry.
18388 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
18389 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
18390 seen-devices list, superseded by general code in check_device.
18391
bbe34652
CW
183922010-06-28 Colin Watson <cjwatson@ubuntu.com>
18393
18394 * commands/cat.c (options): New variable.
18395 (grub_cmd_cat): Parse options. If the --dos option is given, print
18396 DOS-style "\r\n" line endings as simple newlines (Debian bug
18397 #586358).
18398 (GRUB_MOD_INIT): Use extcmd.
18399 (GRUB_MOD_FINI): Likewise.
18400 * docs/grub.texi (cat): Document --dos.
18401
412e09f3
VS
184022010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
18403
18404 XEN with Linux grub-mkconfig support.
18405
18406 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
18407 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
18408 GRUB_CMDLINE_XEN_DEFAULT.
18409 * util/grub.d/20_linux_xen.in: New file.
18410
53f3ef38 184112010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
18412
18413 Initialise VGA video on qemu ourselves.
18414
18415 * boot/i386/qemu/boot.S: Don't call 0xc000.
18416 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
18417 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
18418 (kernel_img_HEADERS): Add pci.h.
18419 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
18420 * configure.ac: Force unifont on qemu and yeeloong.
18421 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
18422 (grub_vga_palette_write): Use correct register.
18423 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
18424 Call grub_qemu_init_cirrus.
18425 * kern/i386/qemu/init.c: New file.
18426 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
18427
18428 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
18429
c75be4fb
PR
184302010-06-26 Pavel Roskin <proski@gnu.org>
18431
18432 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
18433 13.
18434
d8034603
CW
184352010-06-26 Colin Watson <cjwatson@ubuntu.com>
18436
18437 * docs/grub.texi (Simple configuration): Explain that
18438 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
18439 set to `true' to disable their respective recovery entries, not
18440 merely set.
18441
3fa06487
CW
184422010-06-26 Colin Watson <cjwatson@ubuntu.com>
18443
18444 Make the `source' command slightly faster.
18445
18446 * normal/main.c (grub_normal_execute): Don't re-read list files when
18447 nested.
18448
e9b29642
CW
184492010-06-23 Colin Watson <cjwatson@ubuntu.com>
18450
18451 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
18452 field position and mask size to red fields from mode_info, not
18453 green.
18454 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
18455 Remove redundant tag->common.framebuffer_type assignment.
18456 Reported by: Seth Goldberg.
18457
e726542f
CW
184582010-06-23 Colin Watson <cjwatson@ubuntu.com>
18459
18460 Sync up other versions of the Linux loader with Robert Millan's
18461 change of 2010-01-09, "Make loader output a bit more user-friendly".
18462
18463 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
18464 grub_dprintf().
18465 (grub_cmd_linux): Likewise.
18466 (grub_cmd_initrd): Likewise.
18467 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
18468 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
18469
d6e98a17
CW
184702010-06-21 Colin Watson <cjwatson@ubuntu.com>
18471
18472 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
18473 larger than MEMORY_MAP_SIZE.
18474
14d3f08e
BC
184752010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
18476
18477 Fix parallel build.
18478
18479 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
18480 dependency.
18481 * script/parser.y: #include grub_script.tab.h header.
18482
4f9613a3
VS
184832010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
18484
18485 Support >3GiB and <16MiB RAM in i386-qemu.
18486
18487 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
18488 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
18489 (grub_lower_mem): Removed.
18490 (grub_upper_mem): Likewise.
18491 (mem_size): Made static.
18492 (above_4g): New variable.
18493 (grub_machine_mmap_init): Detect small mem_size and above_4g.
18494 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
18495 support.
18496
05e51879
VS
184972010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
18498
18499 Cirrus 5446 and Bochs video cards support.
18500
18501 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
18502 video_bochs.mod
18503 (video_cirrus_mod_SOURCES): New variable.
18504 (video_cirrus_mod_CFLAGS): Likewise.
18505 (video_cirrus_mod_LDFLAGS): Likewise.
18506 (video_bochs_mod_SOURCES): Likewise.
18507 (video_bochs_mod_CFLAGS): Likewise.
18508 (video_bochs_mod_LDFLAGS): Likewise.
18509 * include/grub/vga.h: New file.
18510 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
18511 (grub_video_fb_set_page_t): New type.
18512 (grub_video_fb_setup): New prototype.
18513 (grub_video_fb_swap_buffers): Likewise.
18514 (grub_video_fb_get_info_and_fini): Likewise.
18515 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
18516 (CRTC_DATA_PORT): Likewise.
18517 (CRTC_CURSOR): Likewise.
18518 (CRTC_CURSOR_ADDR_HIGH): Likewise.
18519 (CRTC_CURSOR_ADDR_LOW): Likewise.
18520 (CRTC_CURSOR_DISABLE): Likewise.
18521 (update_cursor): Use grub_vga_cr_write.
18522 (grub_vga_text_setcursor): Likewise.
18523 * video/bochs.c: New file.
18524 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
18525 (palette): Likewise.
18526 (palette_size): Likewise.
18527 (framebuffer): New variable.
18528 (grub_video_fb_init): Use 'framebuffer'.
18529 (grub_video_fb_fini): Likewise.
18530 (grub_video_fb_get_info): Likewise.
18531 (grub_video_fb_get_palette): Likewise.
18532 (grub_video_fb_set_palette): Likewise.
18533 (grub_video_fb_set_viewport): Likewise.
18534 (grub_video_fb_get_viewport): Likewise.
18535 (grub_video_fb_map_color): Likewise.
18536 (grub_video_fb_map_rgb): Likewise.
18537 (grub_video_fb_map_rgba): Likewise.
18538 (grub_video_fb_unmap_color): Likewise.
18539 (grub_video_fb_unmap_color_int): Likewise.
18540 (grub_video_fb_fill_rect): Likewise.
18541 (grub_video_fb_blit_bitmap): Likewise.
18542 (grub_video_fb_blit_render_target): Likewise.
18543 (grub_video_fb_scroll): Likewise.
18544 (grub_video_fb_create_render_target): Likewise.
18545 (grub_video_fb_doublebuf_blit_init): Likewise.
18546 (grub_video_fb_set_active_render_target): Handle doublebuffering.
18547 (doublebuf_pageflipping_update_screen): New function.
18548 (doublebuf_pageflipping_init): Likewise.
18549 (grub_video_fb_setup): Likewise.
18550 (grub_video_fb_swap_buffers): Likewise.
18551 (grub_video_fb_get_info_and_fini): Likewise.
18552 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
18553 All users updated.
18554 (doublebuf_pageflipping_commit): Restructured into ...
18555 (doublebuf_pageflipping_set_page): ... this.
18556 (doublebuf_pageflipping_update_screen): Removed.
18557 (doublebuf_pageflipping_init): Likewise.
18558 (double_buffering_init): Likewise.
18559 (grub_video_vbe_setup): Use grub_video_fb_setup.
18560 (grub_video_vbe_swap_buffers): Removed.
18561 (grub_video_vbe_set_active_render_target): Likewise.
18562 (grub_video_vbe_get_active_render_target): Likewise.
18563 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
18564 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
18565 grub_video_fb_set_active_render_target and
18566 grub_video_fb_get_active_render_target.
18567 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
18568 (SEQUENCER_DATA_PORT): Likewise.
18569 (MAP_MASK_REGISTER): Likewise.
18570 (CRTC_ADDR_PORT): Likewise.
18571 (CRTC_DATA_PORT): Likewise.
18572 (START_ADDR_HIGH_REGISTER): Likewise.
18573 (START_ADDR_LOW_REGISTER): Likewise.
18574 (GRAPHICS_ADDR_PORT): Likewise.
18575 (GRAPHICS_DATA_PORT): Likewise.
18576 (READ_MAP_REGISTER): Likewise.
18577 (INPUT_STATUS1_REGISTER): Likewise.
18578 (INPUT_STATUS1_VERTR_BIT): Likewise.
18579 (get_map_mask): Use grub_vga_sr_read.
18580 (set_map_mask): Use grub_vga_sr_write.
18581 (set_read_map): Use grub_vga_gr_write.
18582 (set_start_address): Use grub_vga_cr_write.
18583 * video/sm712.c (framebuffer): Remove leftover fields.
18584
4321c64a
CW
185852010-06-20 Colin Watson <cjwatson@ubuntu.com>
18586
18587 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
18588 setting GRUB_VIDEO_BACKEND. Make it available as a user override
18589 instead. Replace the gfxterm backend check with a check that
18590 ${GRUB_PREFIX}/video.lst is non-empty.
18591 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
18592 again.
18593 (load_video): New generated function. Call it before loading
18594 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
18595 * util/grub.d/10_linux.in (linux_entry): Call load_video.
18596 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
18597 * docs/grub.texi (Simple configuration): Document
18598 GRUB_VIDEO_BACKEND.
18599
186002010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
18601
18602 Use video functions in linux and xnu loaders.
18603
18604 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
18605 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
18606 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
18607 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
18608 loader/i386/pc/linux.c.
18609 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
18610 (find_line_len): Removed.
18611 (find_framebuf): Likewise.
18612 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
18613 * loader/i386/efi/xnu.c: Removed.
18614 * loader/i386/pc/xnu.c: Moved from here...
18615 * loader/i386/xnu.c: ...here.
18616
18617 Enable priorities in video drivers.
18618
18619 * include/grub/video.h (grub_video_adapter_prio_t): New type.
18620 (grub_video_adapter): New field prio.
18621 (grub_video_register): Respect prio when inserting.
18622 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
18623 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
18624 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
18625 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
18626 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
18627 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
18628 * video/sm712.c (grub_video_sm712_adapter): Likewise.
18629
18630 Fix SDL driver ID.
18631
18632 * include/grub/video.h (grub_video_driver_id_t): New value
18633 GRUB_VIDEO_DRIVER_SDL.
18634 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
18635
7d24e434
CW
186362010-06-17 Colin Watson <cjwatson@ubuntu.com>
18637
18638 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
18639 argument to printf.
18640 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
18641
c88a83f6
CW
186422010-06-17 Colin Watson <cjwatson@ubuntu.com>
18643
18644 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
18645 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
18646
094dfb69
CW
186472010-06-17 Colin Watson <cjwatson@ubuntu.com>
18648
18649 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
18650 directly, and recommend grub-install instead.
18651 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
18652
2164da6b
CW
186532010-06-17 Colin Watson <cjwatson@ubuntu.com>
18654
18655 Fix i386-pc prefix handling with nested partitions (Debian bug
18656 #585068). Note that the case where the core image is booted using
18657 multiboot and relocated from its original location still requires
18658 more work.
18659
18660 * kern/i386/pc/init.c (make_install_device): If the prefix starts
18661 with "(,", fill the boot drive in between those two characters, but
18662 expect that a full partition specification including partition map
18663 names will follow.
18664 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
18665 specified, write a prefix without the drive name but including a
18666 full partition specification.
18667
044e2e60
CW
186682010-06-16 Colin Watson <cjwatson@ubuntu.com>
18669
18670 * util/grub-mkconfig.in: Ignore non-option arguments, for
18671 compatibility with older versions (before 2010-06-12) which did the
18672 same. In particular, this makes it easier to ship an update-grub
18673 wrapper which is compatible with that used with GRUB Legacy (Debian
18674 bug #586056).
18675
5591324f
GS
186762010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18677
18678 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
18679 for manual page generation.
18680
662e24d5
GS
186812010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18682
18683 * po/POTFILES: Remove leftover commands/handler.c.
18684
8d70754e
CW
186852010-06-14 Colin Watson <cjwatson@ubuntu.com>
18686
18687 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
18688 left this script non-functional.
18689
41160e2e
CW
186902010-06-14 Colin Watson <cjwatson@ubuntu.com>
18691
18692 * docs/man/grub-emu.h2m: New file.
18693
b5309cc1
CW
186942010-06-13 Colin Watson <cjwatson@ubuntu.com>
18695
18696 * docs/grub.texi (Commands): Document reduced command set in rescue
18697 mode.
18698 (cpuid): New section.
18699
fcb2d090
GS
187002010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
18701
18702 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
18703 new partition naming style.
18704 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
18705
96e5c556
BC
187062010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
18707
18708 Add "-o grub.iso" like cmdline options support.
18709
18710 * util/grub-install.in: Improve cmdline option parsing.
18711 * util/grub-mkconfig.in: Likewise.
18712 * util/grub-mkrescue.in: Likewise.
18713 * util/grub-reboot.in: Likewise.
18714 * util/grub-set-default.in: Likewise.
18715 * util/i386/efi/grub-install.in: Likewise.
18716 * util/ieee1275/grub-install.in: Likewise.
18717 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18718
c16be99b
CW
187192010-06-12 Colin Watson <cjwatson@ubuntu.com>
18720
18721 * .bzrignore: Ignore 41_custom.
18722
ce08a9fb
TS
187232010-06-12 Thomas Schmitt <scdbackup@gmx.net>
18724
18725 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
18726
7beac90c
CW
187272010-06-12 Colin Watson <cjwatson@ubuntu.com>
18728
18729 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
18730 prototype declarations.
18731
18732 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
18733 generating fs, partmap, and video lists.
18734 * include/grub/fs.h (grub_fs_register): Omit prototype if
18735 GRUB_LST_GENERATOR is defined.
18736 * include/grub/partition.h (grub_partition_map_register): Likewise.
18737 * include/grub/video.h (grub_video_register): Likewise.
18738
1c8f0f8d
JM
187392010-06-12 Javier Martín <lordhabbit@gmail.com>
18740
18741 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
18742
a6085973
TS
187432010-06-12 Thomas Schmitt <scdbackup@gmx.net>
18744
18745 * util/grub-mkrescue.in: Support --xorriso argument.
18746
25c56d29
VS
187472010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
18748
18749 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
18750 Suggested by: Thomas Schmitt.
18751
e03e4b24
VS
187522010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
18753
18754 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
18755 Suggested by: Thomas Schmitt.
18756
57711df6
VS
187572010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
18758
18759 custom.cfg support.
18760
18761 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
18762 * util/grub.d/41_custom.in: New file.
18763
ee62c427
CW
187642010-06-12 Colin Watson <cjwatson@ubuntu.com>
18765
18766 * util/grub-mkrescue.in (make_image): Remove sh module, which has
18767 been merged back into normal.
18768
283af07a
CW
187692010-06-11 Colin Watson <cjwatson@ubuntu.com>
18770
18771 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
18772 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
18773
56a0d956
CW
187742010-06-11 Colin Watson <cjwatson@ubuntu.com>
18775
18776 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
18777 when generating manual pages.
18778 * docs/man/grub-bin2h.h2m: New file.
18779 * docs/man/grub-editenv.h2m: New file.
18780 * docs/man/grub-fstest.h2m: New file.
18781 * docs/man/grub-install.h2m: New file.
18782 * docs/man/grub-macho2img.h2m: New file.
18783 * docs/man/grub-mkconfig.h2m: New file.
18784 * docs/man/grub-mkdevicemap.h2m: New file.
18785 * docs/man/grub-mkfont.h2m: New file.
18786 * docs/man/grub-mkimage.h2m: New file.
18787 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
18788 * docs/man/grub-mkrelpath.h2m: New file.
18789 * docs/man/grub-mkrescue.h2m: New file.
18790 * docs/man/grub-ofpathname.h2m: New file.
18791 * docs/man/grub-pe2elf.h2m: New file.
18792 * docs/man/grub-probe.h2m: New file.
18793 * docs/man/grub-reboot.h2m: New file.
18794 * docs/man/grub-script-check.h2m: New file.
18795 * docs/man/grub-set-default.h2m: New file.
18796 * docs/man/grub-setup.h2m: New file.
18797
3a37e322
VS
187982010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
18799
18800 Use FOR_* macros instead of *_iterate whenever possible.
18801
18802 * commands/handler.c: Removed.
18803 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
18804 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
18805 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18806 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
18807 (grub_probe_SOURCES): Remove kern/parser.c.
18808 (util/grub-script-check.c_DEPENDENCIES): Removed.
18809 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
18810 and grub_script_check_init.c.
18811 (grub_script_check_init.lst): Removed.
18812 (grub_script_check_init.h): Likewise.
18813 (grub_script_check_init.c): Likewise.
18814 (pkglib_MODULES): Remove handler.mod and sh.mod.
18815 (handler_mod_SOURCES): Removed.
18816 (handler_mod_CFLAGS): Likewise.
18817 (handler_mod_LDFLAGS): Likewise.
18818 (normal_mod_SOURCES): Remove normal/handler.c.
18819 Add script/main.c, script/script.c, script/execute.c,
18820 script/function.c, script/lexer.c, grub_script.tab.c
18821 and grub_script.yy.c.
18822 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18823 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18824 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
18825 (grub_setup_SOURCES): Remove kern/parser.c.
18826 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18827 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
18828 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
18829 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18830 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18831 (grub_setup_SOURCES): Remove kern/parser.c.
18832 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18833 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
18834 * include/grub/command.h (grub_command_iterate): Removed.
18835 (FOR_COMMANDS): New macro.
18836 * include/grub/dl.h (grub_dl): New member next.
18837 (grub_dl_iterate): Removed.
18838 (grub_dl_head): New variable declaration.
18839 (FOR_DL_MODULES): New macro.
18840 * include/grub/fs.h: Include list.h.
18841 (grub_fs): Make next first element.
18842 (grub_fs_list): New variable declaration.
18843 (grub_fs_register): Make inline.
18844 (grub_fs_unregister): Likewise.
18845 (grub_fs_iterate): Removed.
18846 (FOR_FILESYSTEMS): New macro.
18847 * include/grub/handler.h: Removed.
18848 * include/grub/list.h (grub_list_hook_t): Removed.
18849 (grub_list_test_t): Likewise.
18850 (grub_list_pop): Likewise.
18851 (grub_list_iterate): Likewise.
18852 (grub_list_insert): Likewise.
18853 (FOR_LIST_ELEMENTS): New macro.
18854 * include/grub/parser.h (grub_parser_class): Removed.
18855 (grub_parser_register): Likewise.
18856 (grub_parser_unregister): Likewise.
18857 (grub_parser_get_current): Likewise.
18858 (grub_parser_set_current): Likewise.
18859 (grub_register_rescue_parser): Likewise.
18860 (grub_rescue_parse_line): New function.
18861 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
18862 * include/grub/script_sh.h (grub_script_function_list): New variable
18863 declaration.
18864 (FOR_SCRIPT_FUNCTIONS): New macro.
18865 (grub_script_function_iterate): Removed.
18866 (grub_normal_parse_line): New prototype.
18867 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
18868 (FOR_DISABLED_TERM_INPUTS): Likewise.
18869 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
18870 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
18871 * include/grub/video.h (grub_video_adapter): Move 'next' to first
18872 element.
18873 (grub_video_register): Inline.
18874 (grub_video_unregister): Likewise.
18875 (grub_video_adapter_list): New variable declaration.
18876 (grub_video_iterate): Removed.
18877 (FOR_VIDEO_ADAPTERS): New macro.
18878 * kern/dl.c (grub_dl_list): Removed. All users updated.
18879 (grub_dl_iterate): Removed.
18880 * kern/fs.c (grub_fs_list): Make global.
18881 (grub_fs_register): Removed.
18882 (grub_fs_unregister): Likewise.
18883 (grub_fs_iterate): Likewise.
18884 * kern/handler.c: Removed.
18885 * kern/list.c (grub_list_pop): Removed.
18886 (grub_list_iterate): Likewise.
18887 (grub_list_insert): Likewise.
18888 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
18889 (grub_prio_list_insert): Don't use grub_list_insert.
18890 * kern/main.c (grub_register_rescue_parser): Don't call
18891 grub_register_rescue_parser.
18892 * kern/parser.c (grub_parser_class): Removed.
18893 (grub_parser_execute): Use grub_rescue_parse_line.
18894 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
18895 (grub_rescue_parser): Removed.
18896 (grub_register_rescue_parser): Likewise.
18897 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
18898 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
18899 (grub_auth_check_authentication): Likewise.
18900 * normal/completion.c (iterate_command): Removed.
18901 (grub_normal_do_completion): Use FOR_COMMANDS.
18902 * normal/handler.c: Removed.
18903 * normal/main.c (read_config_file): Remove parser changing.
18904 (grub_normal_execute): Don't call read_handler_list.
18905 (grub_normal_read_line_real): Statically allocate prompt.
18906 (grub_cmdline_run): Use grub_normal_parse_line.
18907 (GRUB_MOD_FINI): Don't call free_handler_list.
18908 * normal/menu_entry.c (run): Likewise.
18909 * script/function.c (grub_script_function_list): Make global.
18910 (grub_script_function_iterate): Removed.
18911 * script/main.c (grub_normal_parse_line): Make global.
18912 (grub_sh_parser): Removed.
18913 (GRUB_MOD_INIT): Likewise.
18914 (GRUB_MOD_FINI): Likewise.
18915 * tests/lib/functional_test.c (grub_functional_test): Use
18916 FOR_LIST_ELEMENTS.
18917 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
18918 (grub_test_run): Use FOR_LIST_ELEMENTS.
18919 * tests/lib/unit_test.c (main): Likewise.
18920 * util/deviceiter.c (grub_util_iterate_devices): Don't use
18921 grub_list_pop.
18922 * util/grub-fstest.c (grub_term_input_class): Removed.
18923 (grub_term_output_class): Likewise.
18924 * util/grub-probe.c: Likewise.
18925 * util/i386/pc/grub-setup.c: Likewise.
18926 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18927 * util/grub-script-check.c (main): Don't call grub_init_all and
18928 grub_fini_all.
18929 * video/video.c (grub_video_adapter_list): Make global.
18930 (grub_video_register): Removed.
18931 (grub_video_unregister): Likewise.
18932 (grub_video_iterate): Likewise.
18933
6289c3a7
VS
189342010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
18935
18936 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
18937 reported by Henrique Ferreiro.
18938
91460247
RM
189392010-06-09 Robert Millan <rmh@gnu.org>
18940
18941 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
18942 ones, when both are available.
18943
0ea7c4f9
GS
189442010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
18945
18946 Make --version uniform and avoid hard-coded program name.
18947
18948 * util/grub-mkimage.c (main): Use `program_name' instead of
18949 hard-coded string.
18950 * util/i386/pc/grub-setup.c (main): Likewise.
18951 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
18952 * util/grub-install.in: Save the basename of $0 in $self, and use the
18953 latter in informational messages. Use the same format for --version
18954 as the binary programs.
18955 * util/grub-mkconfig.in: Likewise.
18956 * util/grub-mkrescue.in: Likewise.
18957 * util/grub-reboot.in: Likewise.
18958 * util/grub-set-default.in: Likewise.
18959 * util/i386/efi/grub-install.in: Likewise.
18960 * util/ieee1275/grub-install.in: Likewise.
18961 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18962
e8a6f3b6
GS
189632010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
18964
18965 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
18966 embedding area. Use <= instead of == when checking for non-emptiness.
18967
f4d095d7
GS
189682010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
18969
18970 * configure.ac: Add `.' to the directories searched for unifont.
18971
50e532ca
CW
189722010-06-08 Colin Watson <cjwatson@ubuntu.com>
18973
18974 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
18975 grub_script.yy.h.
18976
d39f3dec
CW
189772010-06-08 Colin Watson <cjwatson@ubuntu.com>
18978
18979 * docs/grub.texi (History): Expand to cover GRUB 2.
18980 (Serial terminal): Refer to `terminal_input' and `terminal_output'
18981 commands, not `terminal'.
18982 (serial): Likewise.
18983 (terminal_input): New section.
18984 (terminal_output): New section.
18985 (uppermem): New section (stub).
18986 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
18987
6ef0ddb4
CW
189882010-06-08 Colin Watson <cjwatson@ubuntu.com>
18989
18990 * docs/grub.texi (Security): Menu entries are unrestricted by
18991 default, not restricted to superusers as I had previously thought.
18992 Reword to account for this.
18993
e0f4c438
CW
189942010-06-07 Colin Watson <cjwatson@ubuntu.com>
18995
18996 * kern/emu/misc.c (device_mapper_null_log): New function.
18997 (grub_device_mapper_supported): New function.
18998 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
18999 prototype.
19000 * kern/emu/hostdisk.c (find_partition_start): Check whether
19001 device-mapper is supported before trying to use it.
19002 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
19003
da908200
CW
190042010-06-07 Colin Watson <cjwatson@ubuntu.com>
19005
19006 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
19007 (File name syntax): Likewise.
19008 (help): --all is no longer supported in GRUB 2. Be more precise
19009 about pattern matching.
19010
fb55c3ac
CW
190112010-06-07 Colin Watson <cjwatson@ubuntu.com>
19012
19013 * normal/completion.c (grub_normal_do_completion): When completing
19014 arguments to "set" and the current word contains an equals sign,
19015 skip to after the equals sign before starting completion.
19016
258c2573
CW
190172010-06-07 Colin Watson <cjwatson@ubuntu.com>
19018
19019 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
19020
ee75515e
CW
190212010-06-07 Colin Watson <cjwatson@ubuntu.com>
19022
19023 * docs/grub.texi (Network): New section.
19024 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
19025 `(nd)' as in GRUB Legacy.
19026 (pxe_unload): New section.
19027
a6a700aa
CW
190282010-06-07 Colin Watson <cjwatson@ubuntu.com>
19029
19030 * docs/grub.texi (Troubleshooting): `echo' is not usually available
19031 in the rescue shell, so recommend using `set' instead. Thanks,
19032 Jordan Uggla.
19033
4003dd38
CW
190342010-06-07 Colin Watson <cjwatson@ubuntu.com>
19035
19036 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
19037 (password): New section.
19038 (password_pbkdf2): New section.
19039 (search): New section.
19040 (Security): New section.
19041 (Troubleshooting): New section, currently very incomplete.
19042 (Invoking grub-mkpasswd-pbkdf2): New section.
19043 (Internals): New section, currently very incomplete.
19044
e1cbcc40
CW
190452010-06-07 Colin Watson <cjwatson@ubuntu.com>
19046
19047 * util/grub.d/00_header.in: Add some more quoting (of
19048 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
19049 work again.
19050 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
19051
db8fa1ad
CW
190522010-06-07 Colin Watson <cjwatson@ubuntu.com>
19053
19054 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
19055 to `count', fixing variable shadowing that broke the -c option.
19056
190572010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
19058
19059 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
19060 in case they contain spaces.
19061
f28a9212
CW
190622010-06-04 Colin Watson <cjwatson@ubuntu.com>
19063
19064 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
19065 "part_" to partmap module names, in line with grub-install.
19066 Reported by: Jindřich Makovička (Debian bug #584426).
19067
9cdfe32f
CW
190682010-06-04 Colin Watson <cjwatson@ubuntu.com>
19069
19070 * util/grub-mkimage.c: Make target-related error messages slightly
19071 more helpful; -O talks about "format". Explicitly point to the use
19072 of -O if no target is specified.
19073 Reported by: Didier Raboud (Debian bug #584415).
19074
795b593a
CW
190752010-06-03 Colin Watson <cjwatson@ubuntu.com>
19076
19077 * INSTALL: Document several build requirements for optional features
19078 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
19079
9d9b5833
GS
190802010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
19081
19082 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
19083 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
19084 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
19085
0819fec8
CW
190862010-06-02 Colin Watson <cjwatson@ubuntu.com>
19087
19088 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
19089 Thanks to Jordan Uggla for spotting this.
19090
49396b4f
VS
190912010-06-02 Aleš Nesrsta <starous@volny.cz>
19092
19093 Finally make USB usable.
19094
19095 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
19096 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
19097 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
19098 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
19099 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
19100 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
19101 (GRUB_OHCI_FSMPS): Likewise.
19102 (GRUB_OHCI_PERIODIC_START): Likewise.
19103 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
19104 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
19105 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
19106 (GRUB_OHCI_SET_PORT_RESET): Likewise.
19107 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
19108 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
19109 (grub_ohci_transaction): Likewise.
19110 (grub_ohci_transfer): Improve condition detection algorithms.
19111 Handle toggle property. Program the transactions correctly.
19112 Improve error handling. Various important fixups.
19113 (grub_ohci_portstatus): Put register writes in right order.
19114 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
19115 (grub_uhci_transfer): Don't show "failed" message on success.
19116 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
19117 array.
19118 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
19119 determine its size.
19120 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
19121 before initialization is completed. Use IN direction for empty
19122 transfers. Use last_trans and compute toggle.
19123 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
19124 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
19125 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
19126 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
19127 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
19128 (grub_usb_device): Increase toggle to 256.
19129 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
19130 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
19131 GRUB_USBMS_SUBCLASS_SFF8070.
19132 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
19133 (grub_scsi_inquiry): New member page and alloc_length.
19134 (grub_scsi_request_sense): New structure.
19135 (grub_scsi_request_sense_data): Likewise.
19136 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
19137 control.
19138 * disk/scsi.c (grub_scsi_request_sense): New function.
19139 (grub_scsi_test_unit_ready): Likewise.
19140 (grub_scsi_inquiry): Fill new fields.
19141 (grub_scsi_read_capacity): Likewise.
19142 (grub_scsi_read10): Add request sense at the end.
19143 (grub_scsi_read12): Likewise.
19144 (grub_scsi_write10): Likewise.
19145 (grub_scsi_write12): Likewise.
19146 (grub_scsi_open): Add Test Unit Ready.
19147 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
19148 Support additional subclasses. Con't clear halt yet. Activate the
19149 proper config. Calculate LUNs correctly.
19150 (grub_usbms_transfer): Various important fixups.
19151
191522010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19153
19154 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
19155 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
19156 (grub_ohci_fini_hw): New function.
19157 (grub_ohci_restore_hw): Likewise.
19158 (GRUB_MOD_INIT(ohci)): Register preboot hook.
19159 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
19160 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
19161
191622010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19163
19164 Dedicated DMA allocations.
19165
19166 * bus/pci.c (grub_memalign_dma32): New function
19167 (grub_dma_free): Likewise.
19168 (grub_dma_get_virt): Likewise.
19169 (grub_dma_get_phys): Likewise.
19170 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
19171 (grub_ohci_pci_iter): Use dma32_alloc.
19172 (grub_ohci_transfer): Likewise.
19173 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
19174 (grub_usb_bulk_readwrite): Likewise.
19175 * include/grub/pci.h: Add declarations.
19176
191772010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19178
19179 CS5536 support.
19180
19181 * bus/cs5536.c: New file.
19182 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
19183 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
19184 (cs5536_mod_SOURCES): New variable.
19185 (cs5536_mod_CFLAGS): Likewise.
19186 (cs5536_mod_LDFLAGS): Likewise.
19187 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
19188 machine/pci.h.
19189 (kernel_img_SOURCES): Add bus/cs5536.c.
19190 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
19191 usb_keyboard.mod.
19192 (usb_mod_SOURCES): New variable.
19193 (usb_mod_CFLAGS): New variable.
19194 (usb_mod_LDFLAGS): New variable.
19195 (usbtest_mod_SOURCES): New variable.
19196 (usbtest_mod_CFLAGS): New variable.
19197 (usbtest_mod_LDFLAGS): New variable.
19198 (ohci_mod_SOURCES): New variable.
19199 (ohci_mod_CFLAGS): New variable.
19200 (ohci_mod_LDFLAGS): New variable.
19201 (usbms_mod_SOURCES): New variable.
19202 (usbms_mod_CFLAGS): New variable.
19203 (usbms_mod_LDFLAGS): New variable.
19204 (usb_keyboard_mod_SOURCES): New variable.
19205 (usb_keyboard_mod_CFLAGS): New variable.
19206 (usb_keyboard_mod_LDFLAGS): New variable.
19207 * include/grub/smbus.h: New file.
19208 * include/grub/cs5536.h: New file.
19209
0b35b2a9
CW
192102010-06-02 Colin Watson <cjwatson@ubuntu.com>
19211
19212 * util/grub.d/00_header.in: Add safety check to make sure that
19213 ${locale_dir} exists before trying to probe it.
19214
ca0afd5b
CW
192152010-06-02 Colin Watson <cjwatson@ubuntu.com>
19216
19217 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
19218 per the GNU Coding Standards; this is now too obscure to be worth
19219 documenting.
19220 (QNX): Likewise.
19221 (chainloader): Remove cross-reference to `SCO UnixWare'.
19222
1c41aa78
CW
192232010-06-02 Colin Watson <cjwatson@ubuntu.com>
19224
19225 * docs/grub.texi (Chain-loading): New section.
19226 (DOS/Windows): New section, borrowed from GRUB Legacy with details
19227 adjusted for GRUB 2.
19228 (SCO UnixWare): Likewise.
19229 (QNX): Likewise.
19230 (chainloader): Add reference to `Block list syntax'.
19231 (drivemap): New section.
19232 (parttool): New section.
19233
bb8ea0f5
CW
192342010-06-02 Colin Watson <cjwatson@ubuntu.com>
19235
19236 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
19237 the grub shell'.
19238 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
19239 (Installing GRUB using grub-install): Remove reference to the grub
19240 shell; mention `grub-mkimage' and `grub-setup' instead.
19241 (Invoking grub-install): Likewise.
19242 (Interface): Add reference to `Menu entry editor'.
19243 (serial): Remove `--device' option.
19244
288dd6ed
CW
192452010-06-02 Colin Watson <cjwatson@ubuntu.com>
19246
19247 * docs/grub.texi (Configuration): New section, documenting
19248 configuration file generation using grub-mkconfig. I've left a slot
19249 for documenting the full shell scripting format but have not yet
19250 started on writing that up.
19251 (Invoking grub-mkconfig): New section.
19252
34c9f0e9
CW
192532010-06-02 Colin Watson <cjwatson@ubuntu.com>
19254
19255 * docs/grub.texi (direntry): Remove grub-terminfo reference.
19256 (GNU GRUB manual): Likewise.
19257 (General commands): Update description of `terminfo' for GRUB 2.
19258
9121567e
CW
192592010-06-02 Colin Watson <cjwatson@ubuntu.com>
19260
19261 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
19262 (GRUB_MOD_INIT): Fix capitalisation.
19263 * docs/grub.texi (Command-line and menu entry commands): Document
19264 gettext and gptsync commands.
19265
ab631611
CW
192662010-06-02 Colin Watson <cjwatson@ubuntu.com>
19267
19268 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
19269 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
19270
bde4a9ac
CW
192712010-06-01 Colin Watson <cjwatson@ubuntu.com>
19272
19273 Add btrfs probing support, currently only in the single-device case.
19274
19275 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
19276 function.
19277 (grub_guess_root_device): Call find_root_device_from_mountinfo
19278 before looking in /dev.
19279
b1d17e10
VS
192802010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19281
19282 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
19283 GRUB_DISK_SIZE_UNKNOWN.
19284 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
19285
dfbfe004
JS
192862010-05-31 Jiro SEKIBA <jir@unicus.jp>
19287
19288 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
19289 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
19290 corrupted or not synced properly.
19291
c2ffc8e9
VS
192922010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19293
19294 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
19295 Reported by: Seth Goldberg.
19296
56293166
VS
192972010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19298
19299 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
19300 addition of dest.
19301 Reported by: Seth Goldberg.
19302
7620e7de
VS
193032010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19304
19305 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
19306 Reported by: Seth Goldberg.
19307
c837af3f
VS
193082010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19309
19310 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
19311 64-bit address as signed on MIPS.
19312
c7c75cf4
CW
193132010-05-28 Colin Watson <cjwatson@ubuntu.com>
19314
19315 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
19316 to the empty string.
19317
fa4b8490
BC
193182010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
19319
19320 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
19321
19322 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
19323 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
19324 * kern/misc.c (__enable_execute_stack): Disable on
19325 GRUB_MACHINE_EMU.
19326
a33075b9
CW
193272010-05-28 Colin Watson <cjwatson@ubuntu.com>
19328
19329 Make grub-probe work with symbolic links under /dev/mapper as well
19330 as with real block devices. The Linux world seems to be (at best)
19331 in transition here, and GRUB shouldn't get caught in the middle.
19332
19333 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
19334 /dev/mapper.
19335
d8708134
CW
193362010-05-27 Colin Watson <cjwatson@ubuntu.com>
19337
19338 * util/grub-script-check.c (main): Ensure defined behaviour on empty
19339 input files (in which case exit zero).
19340
db2102a0
CW
193412010-05-27 Colin Watson <cjwatson@ubuntu.com>
19342
19343 * kern/emu/misc.c (canonicalize_file_name): realpath can still
19344 return NULL for various reasons even if it has a maximum-length
19345 buffer: for example, there might be a symlink loop, or the path
19346 might exceed PATH_MAX. If this happens, return NULL.
19347
5fdba519
RM
193482010-05-27 Robert Millan <rmh@gnu.org>
19349
19350 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
19351 partmap module to handle cross-partmap setups.
19352 Reported by Orestes Mas. Gràcies!
19353
d1d368e4
CW
193542010-05-27 Colin Watson <cjwatson@ubuntu.com>
19355
19356 * util/grub-mkrescue.in: Initialise override_dir rather than
19357 assuming that it's unset or empty in the environment.
19358
95ac3c73
GS
193592010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
19360
19361 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
19362 variable index into p_index to suppress a warning with -Wshadow.
19363
7d8c0213
BC
193642010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
19365
19366 * INSTALL: Added flex >= 2.5.35 requirement.
19367
db4d5813
VS
193682010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19369
19370 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
19371
f24f4300
VS
193722010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19373
19374 cmostest support.
19375
19376 * commands/i386/cmostest.c: New file.
19377 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
19378 (cmostest_mod_SOURCES): New variable.
19379 (cmostest_mod_CFLAGS): Likewise.
19380 (cmostest_mod_LDFLAGS): Likewise.
19381 * conf/i386-pc.rmk: Likewise.
19382 * docs/grub.texi (Vendor power-on keys): New section.
19383 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
19384 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
19385 and GRUB_BUTTON_CMOS_ADDRESS.
19386 * util/grub.d/00_header.in: Handle powering-on by separate button.
19387
ad603f61
VS
193882010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19389
19390 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
19391 Removed drawing_scrollbar argument. All users updated
19392 Fixes #29792.
19393 Reported by Jo Shields
19394
3ecb080a
VS
193952010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19396
19397 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
19398 buffer since gfxterm handles double repaint.
19399
5f2316c1
VS
194002010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19401
19402 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
19403 * term/gfxterm.c (real_scroll): Likewise.
19404
9a25f885
VS
194052010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19406
19407 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
19408 before calling BIOS.
19409
39fbb79a
VS
194102010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19411
19412 * include/grub/i18n.h: Always enable grub_gettext.
19413
228cfa97
VS
194142010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19415
19416 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
19417 partition naming style.
19418
21717c8f
CW
194192010-05-21 Colin Watson <cjwatson@ubuntu.com>
19420
19421 * util/grub-mkconfig.in: Fix handling of -o so that it works when
19422 not the first option.
19423
c0f48e65
CW
194242010-05-20 Colin Watson <cjwatson@ubuntu.com>
19425
19426 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
19427
96779aec
CW
194282010-05-20 Colin Watson <cjwatson@ubuntu.com>
19429
19430 * util/misc.c: Move inclusion of <limits.h> to ...
19431 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
19432
fa9d256e
GS
194332010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
19434
19435 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
19436 Fix merge error in NetBSD code.
19437 (find_partition_start) [__NetBSD__]: Likewise.
19438
123b7a85
BC
194392010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
19440
19441 Fix grub-mkrescue usage unit testing.
19442
19443 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
19444
74276c0d
CF
194452010-05-18 Christian Franke <franke@computer.org>
19446
19447 * util/grub.d/10_windows.in: Use path names instead of
19448 drive letters to prevent warning from Cygwin 1.7.
19449 Add drivemap command to menuentry if needed.
19450
c4f7b523
ST
194512010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
19452
19453 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
19454 gnumach and gnumach.gz.
19455
95b97950
VS
194562010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19457
19458 * include/grub/i18n.h (gettext): Inline instead of using #define.
19459 (grub_gettext): Likewise.
19460 (_): Likewise.
19461
01b8d2d7
VS
194622010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19463
19464 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
19465 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
19466 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
19467 (main): Add a slash after pkglibdirroot.
19468
654e1d1e
VS
194692010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19470
19471 * util/grub-install.in: Add missing "in" keyword.
19472
26966aeb
VS
194732010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19474
19475 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
19476 Reported by: Seth Goldberg.
19477
75006747
VS
194782010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19479
19480 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
19481
74cbf5bd
CW
194822010-05-18 Colin Watson <cjwatson@ubuntu.com>
19483
19484 * configure.ac: Check for Linux device-mapper support.
19485
19486 * util/hostdisk.c (device_is_mapped): New function.
19487 (find_partition_start): New function, partly broken out from
19488 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
19489 device-mapper support added.
19490 (linux_find_partition): Use find_partition_start.
19491 (convert_system_partition_to_system_disk): Add `st' argument.
19492 Support Linux /dev/mapper/* devices if device-mapper support is
19493 available; only DM-RAID devices are understood at present.
19494 (find_system_device): Add `st' argument. Pass it to
19495 convert_system_partition_to_system_disk.
19496 (grub_util_biosdisk_get_grub_dev): Pass stat result to
19497 find_system_device and convert_system_partition_to_system_disk. Use
19498 find_partition_start.
19499
19500 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
19501 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
19502 * util/deviceiter.c [__linux__]: Define MINOR.
19503 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
19504 * util/mkdevicemap.c (grub_putchar): New function.
19505 (grub_getkey): New function.
19506 (grub_refresh): New function.
19507 (main): Set debug=all if -v -v is used.
19508
355b51e9
CW
195092010-05-18 Colin Watson <cjwatson@ubuntu.com>
19510
19511 Fix build with non-GNU libcs.
19512
19513 * util/misc.c (canonicalize_file_name): Move to ...
19514 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
19515 grub_make_system_path_relative_to_its_root.
19516
7fb5c25f
CW
195172010-05-18 Colin Watson <cjwatson@ubuntu.com>
19518
19519 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
19520 we handle finding grub-mkimage. Default to finding grub-mkimage in
19521 ${bindir} with program_transform_name applied, and provide a
19522 --grub-mkimage option to override this.
19523
1d3293d6
VS
195242010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19525
19526 Remove grub-mkisofs.
19527
19528 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
19529 (grub_mkisofs_SOURCES): Removed.
19530 (grub_mkisofs_CFLAGS): Removed.
19531 * util/mkisofs/defaults.h: Removed.
19532 * util/mkisofs/eltorito.c: Likewise.
19533 * util/mkisofs/exclude.h: Likewise.
19534 * util/mkisofs/hash.c: Likewise.
19535 * util/mkisofs/include/: Likewise.
19536 * util/mkisofs/include/fctldefs.h: Likewise.
19537 * util/mkisofs/include/mconfig.h: Likewise.
19538 * util/mkisofs/include/prototyp.h: Likewise.
19539 * util/mkisofs/include/statdefs.h: Likewise.
19540 * util/mkisofs/iso9660.h: Likewise.
19541 * util/mkisofs/joliet.c: Likewise.
19542 * util/mkisofs/match.c: Likewise.
19543 * util/mkisofs/match.h: Likewise.
19544 * util/mkisofs/mkisofs.c: Likewise.
19545 * util/mkisofs/mkisofs.h: Likewise.
19546 * util/mkisofs/msdos_partition.h: Likewise.
19547 * util/mkisofs/multi.c: Likewise.
19548 * util/mkisofs/name.c: Likewise.
19549 * util/mkisofs/rock.c: Likewise.
19550 * util/mkisofs/tree.c: Likewise.
19551 * util/mkisofs/write.c: Likewise.
19552
5dde9afe
VS
195532010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19554
19555 Unify grub-mkimage accross platforms.
19556
19557 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
19558 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
19559 (grub_mkelfimage_SOURCES): Removed.
19560 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
19561 (util/grub-mkimage.c_DEPENDENCIES): .. this.
19562 (bin_UTILITIES): Add grub-mkimage.
19563 (grub_mkimage_SOURCES): New variable.
19564 (kernel_img_HEADERS): Remove machine/kernel.h.
19565 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
19566 (pkglib_PROGRAMS): Add kernel.img.
19567 (kernel_img_HEADERS): Add machine/kernel.h.
19568 (kernel_img_FORMAT): Removed.
19569 (bin_UTILITIES): Remove grub-mkimage.
19570 (grub_mkimage_SOURCES): Removed.
19571 (grub_mkimage_CFLAGS): Likewise.
19572 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19573 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
19574 (pkglib_PROGRAMS): Add kernel.img.
19575 (bin_UTILITIES): Remove grub-mkimage.
19576 (grub_mkimage_SOURCES): Removed.
19577 (grub_mkimage_CFLAGS): Likewise.
19578 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19579 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
19580 (pkglib_PROGRAMS): Add kernel.img.
19581 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
19582 (pkglib_PROGRAMS): Add kernel.img.
19583 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
19584 (grub_mkimage_SOURCES): Removed.
19585 (grub_mkimage_CFLAGS): Likewise.
19586 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19587 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
19588 (pkglib_PROGRAMS): Add kernel.img.
19589 (bin_UTILITIES): Remove grub-mkimage.
19590 (grub_mkimage_SOURCES): Removed.
19591 (grub_mkimage_CFLAGS): Likewise.
19592 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19593 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
19594 (grub_mkimage_SOURCES): Removed.
19595 (grub_mkimage_CFLAGS): Likewise.
19596 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19597 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
19598 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
19599 (grub_pe32_optional_header): ... this.
19600 (grub_pe64_optional_header): ... and this. All users updated.
19601 (GRUB_PE32_PE32_MAGIC): Split into ..
19602 (GRUB_PE32_PE32_MAGIC): .. this.
19603 (GRUB_PE32_PE64_MAGIC): .. and this.
19604 (GRUB_PE32_SIGNATURE_SIZE): New definition.
19605 * include/grub/elf.h (PT_GNU_STACK): New definition.
19606 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
19607 * include/grub/i386/efi/kernel.h: Likewise.
19608 * include/grub/i386/kernel.h: Likewise.
19609 * include/grub/i386/pc/kernel.h: Likewise.
19610 * include/grub/i386/qemu/boot.h: Likewise.
19611 * include/grub/mips/kernel.h: Likewise.
19612 * include/grub/mips/qemu-mips/kernel.h: Likewise.
19613 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
19614 * include/grub/powerpc/kernel.h: Likewise.
19615 * include/grub/sparc64/ieee1275/boot.h: Likewise.
19616 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
19617 * include/grub/sparc64/kernel.h: Likewise.
19618 * include/grub/x86_64/efi/kernel.h: Likewise.
19619 * include/grub/x86_64/kernel.h: Likewise.
19620 * include/grub/offsets.h: New file.
19621 * include/grub/kernel.h (grub_module_info): Split into ...
19622 (grub_module_info32): ... this.
19623 (grub_module_info64): ... and this.
19624 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
19625 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
19626 (grub_boot_blocklist): Moved from here ...
19627 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
19628 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
19629 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
19630 * include/grub/types.h (grub_target_to_host16): Removed.
19631 (grub_target_to_host32): Likewise.
19632 (grub_target_to_host64): Likewise.
19633 (grub_host_to_target16): Likewise.
19634 (grub_host_to_target32): Likewise.
19635 (grub_host_to_target64): Likewise.
19636 (grub_host_to_target_addr): Likewise.
19637
19638 Support grub-mkrescue for efi, coreboot and qemu.
19639
19640 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
19641 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
19642 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
19643 * util/grub-mkrawimage.c: Moved from here ...
19644 * util/grub-mkimage.c: ... here. All users updated.
19645 (ALIGN_ADDR): Use image_target.
19646 (TARGET_NO_FIELD): New const.
19647 (image_target_desc): New type.
19648 (image_targets): New array.
19649 (grub_target_to_host64): Use image_target.
19650 (grub_target_to_host32): Likewise.
19651 (grub_target_to_host16): Likewise.
19652 (grub_host_to_target64): Likewise.
19653 (grub_host_to_target32): Likewise.
19654 (grub_host_to_target16): Likewise.
19655 (grub_host_to_target_addr): Likewise.
19656 (generate_image): Handle multiimage.
19657 (main): Require -O parameter. All users updated.
19658 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
19659 util/efi/grub-mkimage.c
19660 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
19661 New option --rom-directory.
19662 Use xorriso.
19663 * util/i386/efi/grub-mkimage.c: Removed.
19664 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
19665 (grub_target_to_host32): Likewise.
19666 (grub_target_to_host64): Likewise.
19667 (grub_host_to_target16): Likewise.
19668 (grub_host_to_target32): Likewise.
19669 (grub_host_to_target64): Likewise.
19670 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
19671 (grub_target_to_host32): Likewise.
19672 (grub_target_to_host64): Likewise.
19673 (grub_host_to_target16): Likewise.
19674 (grub_host_to_target32): Likewise.
19675 (grub_host_to_target64): Likewise.
19676
f4fc97d0
BC
196772010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
19678
19679 Source tree is reorganized for emu build.
19680
19681 * include/grub/util/console.h: Move from here...
19682 * include/grub/emu/console.h: ...to here.
19683 * include/grub/util/getroot.h: Move from here...
19684 * include/grub/emu/getroot.h: ...to here.
19685 * include/grub/util/hostdisk.h: Move from here...
19686 * include/grub/emu/hostdisk.h: ...to here.
19687 * util/console.c: Move from here...
19688 * kern/emu/console.c: ...to here.
19689 * util/getroot.c: Move from here...
19690 * kern/emu/getroot.c: ...to here.
19691 * util/grub-emu.c: Move from here...
19692 * kern/emu/main.c: ...to here.
19693 * util/hostdisk.c: Move from here...
19694 * kern/emu/hostdisk.c: ...to here.
19695 * util/hostfs.c: Move from here...
19696 * kern/emu/hostfs.c: ...to here.
19697 * util/mm.c: Move from here...
19698 * kern/emu/mm.c: ...to here.
19699 * util/pci.c: Move from here...
19700 * bus/emu/pci.c: ...to here.
19701 * util/sdl.c: Move from here...
19702 * video/emu/sdl.c: ...to here.
19703 * util/time.c: Move from here...
19704 * kern/emu/time.c: ...to here.
19705 * util/usb.c: Move from here...
19706 * bus/usb/emu/usb.c: ...to here.
19707
19708 * include/grub/emu/misc.h: New header for grub-emu functions.
19709 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
19710
19711 * conf/any-emu.rmk: Rule updates for above renames.
19712 * conf/common.rmk: Likewise.
19713 * conf/i386-pc.rmk: Likewise.
19714 * conf/i386-qemu.rmk: Likewise.
19715 * conf/mips.rmk: Likewise.
19716 * conf/sparc64-ieee1275.rmk: Likewise.
19717 * conf/x86-efi.rmk: Likewise.
19718
19719 * disk/lvm.h: #include updates for above renames.
19720 * util/grub-mkrelpath.c: Likewise.
19721 * util/grub-probe.c: Likewise.
19722 * util/i386/pc/grub-setup.c: Likewise.
19723 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19724 * kern/emu/console.c: Likewise.
19725 * kern/emu/getroot.c: Likewise.
19726 * kern/emu/hostdisk.c: Likewise.
19727 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
19728
19729 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
19730 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
19731 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
19732 * util/misc.c: Remove grub-emu functions.
19733
cced9145
VS
197342010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19735
19736 Fix gfxmenu crash.
19737 Reported by: Thorsten Grützmacher.
19738
19739 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
19740 timeout hook.
19741 (circprog_set_property): Register and unregister timeout hook.
19742 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
19743 (label_destroy): Free template. and unregister hook.
19744 (label_set_state): New function.
19745 (label_set_property): Handle templates and hooks.
19746 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
19747 timeout hook.
19748 (progress_bar_set_property): Register and unregister timeout hook.
19749 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
19750 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
19751 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
19752 (update_timeout_visit): Removed.
19753 (update_timeouts): New function.
19754 (redraw_timeouts): Likewise.
19755 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
19756 (grub_gfxmenu_clear_timeout): Likewise.
19757 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
19758 (grub_gfxmenu_timeout_notify): Likewise.
19759 (grub_gfxmenu_timeout_notifications): New external variable.
19760 (grub_gfxmenu_timeout_register): New function.
19761 (grub_gfxmenu_timeout_unregister): Likewise.
19762
c6e5caab
VS
197632010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19764
19765 Transform (broken) vga terminal into (working) vga video driver.
19766
19767 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
19768 video/i386/pc/vga.c.
19769 * include/grub/video.h (grub_video_driver_id):
19770 Add GRUB_VIDEO_DRIVER_VGA.
19771 * term/i386/pc/vga.c: Renamed to ...
19772 * video/i386/pc/vga.c: ...this
19773 (DEBUG_VGA): Removed.
19774 (CHAR_WIDTH): Likewise.
19775 (CHAR_HEIGHT): Likewise.
19776 (TEXT_WIDTH): Likewise.
19777 (TEXT_HEIGHT): Likewise.
19778 (DEFAULT_FG_COLOR): Likewise.
19779 (DEFAULT_BG_COLOR): Likewise.
19780 (colored_char): Likewise.
19781 (xpos): Likewise.
19782 (ypos): Likewise.
19783 (cursor_state): Likewise.
19784 (fg_color): Likewise.
19785 (bg_color): Likewise.
19786 (text_buf): Likewise.
19787 (page): Likewise.
19788 (font): Likewise.
19789 (framebuffer): New variable.
19790 (set_read_map): Disabled.
19791 (setup): New variable.
19792 (is_target): Likewise.
19793 (grub_vga_mod_init): Likewise.
19794 (grub_vga_mod_fini): Likewise.
19795 (check_vga_mem): Likewise.
19796 (write_char): Likewise.
19797 (write_cursor): Likewise.
19798 (scroll_up): Likewise.
19799 (grub_vga_putchar): Likewise.
19800 (grub_vga_getcharwidth): Likewise.
19801 (grub_vga_getwh): Likewise.
19802 (grub_vga_getxy): Likewise.
19803 (grub_vga_gotoxy): Likewise.
19804 (grub_vga_cls): Likewise.
19805 (grub_vga_setcolorstate): Likewise.
19806 (grub_vga_setcursor): Likewise.
19807 (grub_video_vga_init): New function.
19808 (grub_video_vga_setup): Likewise.
19809 (grub_video_vga_fini): Likewise.
19810 (update_target): Likewise.
19811 (grub_video_vga_blit_bitmap): Likewise.
19812 (grub_video_vga_blit_render_target): Likewise.
19813 (grub_video_vga_set_active_render_target): Likewise.
19814 (grub_video_vga_get_active_render_target): Likewise.
19815 (grub_video_vga_swap_buffers): Likewise.
19816 (grub_video_vga_set_palette): Likewise.
19817 (grub_video_vga_get_info_and_fini): Likewise.
19818 (grub_vga_term): Removed.
19819 (grub_video_vga_adapter): New variable.
19820 (GRUB_MOD_INIT): Register a video driver instead of terminal.
19821 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
19822
2bf61a98
VS
198232010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19824
19825 * video/readers/jpeg.c: Indented.
19826
09ddcd11
VS
198272010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19828
19829 Various jpeg cleanups.
19830
19831 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
19832 (grub_jpeg_decode_quan_table): Use sizeof.
19833 (grub_jpeg_decode_du): Use ARRAY_SIZE.
19834
e5507505
PH
198352010-05-05 Peter Hurley <No e-mail available> (tiny change)
19836
19837 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
19838 tables. Ignore non-last ac bit.
19839 (grub_jpeg_decode_quan_table): Likewise.
19840
7e720a9b
VS
198412010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19842
19843 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
19844 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
19845 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19846 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
19847 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
19848 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
19849
a7fc080b
VS
198502010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19851
19852 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
19853 error.
19854
2bf6012d
VS
198552010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19856
19857 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
19858
265d68cd
VS
198592010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
19860
19861 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
19862 condition.
19863
198642010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
19865
19866 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
19867 part.
19868
265d68cd 198692010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
19870
19871 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
19872 pointers.
19873
265d68cd 198742010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
19875
19876 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
19877
d1b61374
CF
198782010-05-01 Christian Franke <franke@computer.org>
19879
19880 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
19881 Remove broken Cygwin path conversion.
19882 * util/misc.c: [__CYGWIN__] Add include and define.
19883 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
19884 for Cygwin 1.7.
19885 (make_system_path_relative_to_its_root): Simplify loop, replace early
19886 return by break.
19887 [__CYGWIN__] Add conversion to win32 path.
19888 Include "/" case in trailing slash removal.
19889
3558c6e9
VS
198902010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19891
19892 * kern/main.c (grub_load_config): Fix copy-pasted comment.
19893 Reported by: Seth Goldberg
19894
f5f3ff93
VS
198952010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19896
19897 * commands/help.c (grub_cmd_help): Fix a typo.
19898 Reported by: Seth Goldberg
19899
d8b5cd40
VS
199002010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19901
19902 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
19903 name and add N_.
19904 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
19905 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
19906 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
19907 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
19908 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
19909 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
19910 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
19911 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
19912 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
19913 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
19914 * normal/context.c (GRUB_MOD_INIT): Likewise.
19915 * normal/main.c (GRUB_MOD_INIT): Likewise.
19916 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
19917 * term/serial.c (GRUB_MOD_INIT): Likewise.
19918 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
19919
88c14915
VS
199202010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19921
19922 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
19923 extra == 0.
19924
165134bc
VS
199252010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19926
19927 * commands/iorw.c: New file.
19928 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
19929 (iorw_mod_SOURCES): New variable.
19930 (iorw_mod_CFLAGS): Likewise.
19931 (iorw_mod_LDFLAGS): Likewise.
19932
c5ac9b32
VS
199332010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19934
19935 Hotkey support
19936
19937 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
19938 * normal/main.c (hotkey_aliases): New variable.
19939 (grub_normal_add_menu_entry): Parse "--hotkey".
19940 * normal/menu_text.c (run_menu): Handle hotkeys.
19941
ce60689c
VS
199422010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19943
19944 * kern/i386/coreboot/init.c (grub_machine_init): Call
19945 grub_machine_mmap_init on qemu.
19946
0359d006
VS
199472010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19948
19949 * boot/i386/qemu/boot.S: Add a missing .code16.
19950
7819a456
VS
199512010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19952
19953 Use LBIO on coreboot.
19954
19955 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
19956 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
19957 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
19958 New declaration.
19959 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
19960 grub_machine_mmap_init on coreboot.
19961 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
19962 GRUB_LINUXBIOS_MEMBER_LINK.
19963 (grub_machine_mmap_iterate): Fix declaration.
19964 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
19965
7210dca9
VS
199662010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19967
19968 Split coreboot and multiboot ports.
19969
19970 * conf/i386-multiboot.rmk: New file.
19971 * configure.ac: Add multiboot port.
19972 * include/grub/i386/multiboot/boot.h: New file.
19973 * include/grub/i386/multiboot/console.h: Likewise.
19974 * include/grub/i386/multiboot/init.h: Likewise.
19975 * include/grub/i386/multiboot/kernel.h: Likewise.
19976 * include/grub/i386/multiboot/loader.h: Likewise.
19977 * include/grub/i386/multiboot/memory.h: Likewise.
19978 * include/grub/i386/multiboot/serial.h: Likewise.
19979 * include/grub/i386/multiboot/time.h: Likewise.
19980 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
19981 * loader/multiboot.c: Likewise.
19982 * loader/multiboot_mbi2.c: Likewise.
19983 * util/grub-mkrescue.in: Generate multiboot rescue.
19984
6f8aaf68
VS
199852010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19986
3080f7a7
VS
19987 * kern/parser.c (grub_parser_execute): Cope with read-only config.
19988
199892010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19990
19991 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
19992
19993 * commands/terminal.c (abstract_terminal): New struct.
19994 (handle_command): New function. Based on grub_cmd_terminal_input.
19995 (grub_cmd_terminal_input): Use handle_command.
19996 (grub_cmd_terminal_output): Use handle_command.
19997
a8ebb841
BC
199982010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
19999
20000 Fix comment handling.
20001
20002 * tests/grub_script_comments.in: New testcase.
20003 * conf/tests.rmk: Rules for new testcase.
20004 * script/yylex.l: Updated flex rules.
20005
bb06ba08
ST
200062010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
20007
20008 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
20009 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
20010 if argc is 1.
bb06ba08 20011
cc9d2425
VS
200122010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
20013
20014 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
20015 autogen issues.
20016
460d8402
CF
200172010-04-26 Christian Franke <franke@computer.org>
20018
20019 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
20020 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
20021 (grub_get_prefix): Remove function.
20022 * util/grub-emu.c (main): Replace grub_get_prefix () call by
20023 make_system_path_relative_to_its_root ().
20024 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
20025
553c01f9
CF
200262010-04-24 Christian Franke <franke@computer.org>
20027
20028 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
20029 (kernel_img_LDFLAGS): Remove -static-libgcc.
20030
2aec1692
CF
200312010-04-24 Christian Franke <franke@computer.org>
20032
20033 * configure.ac: Do not CHECK_BSS_START_SYMBOL
20034 and CHECK_END_SYMBOL if grub-emu is built.
20035 Unset TARGET_OBJ2ELF if grub-emu is built
20036 without module support.
20037
f67dc308
JS
200382010-04-24 Jiro SEKIBA <jir@unicus.jp>
20039
20040 Nilfs2 support.
20041
20042 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
20043 (grub_fstest_SOURCES): Likewise.
20044 (pkglib_MODULES): Add nilfs2.mod.
20045 (nilfs2_mod_SOURCES): New variable.
20046 (nilfs2_mod_CFLAGS): Likewise.
20047 (nilfs2_mod_LDFLAGS): Likewise.
20048 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
20049 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
20050 * fs/nilfs2.c: New file.
20051
4ba8d354
VS
200522010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
20053
20054 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
20055 is not supported.
20056
0d2c20c6
GS
200572010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
20058
20059 Add grub-mkconfig support for NetBSD.
20060
20061 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
20062 * util/grub-mkconfig.in: export new NetBSD specific variables.
20063 * po/POTFILES-shell: added 10_netbsd.in.
20064 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
20065
bc4a2d83
BC
200662010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
20067
20068 Fix emu build with grub-emu-pci and grub-emu-modules.
20069
20070 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
20071 functions.
20072 * include/grub/libpciaccess.h: New file.
20073 * conf/any-emu.rmk: Update kernel headers for emu build.
20074
f48c87aa
VS
200752010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20076
20077 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
20078
18959385
VS
200792010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20080
20081 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
20082
0037de3f
VS
200832010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20084
20085 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
20086 Retrieve chosen/bootpath if bootpath isn't hardcoded.
20087 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
20088 util/ieee1275/ofpath.c.
20089 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
20090 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
20091 * include/grub/sparc64/ieee1275/boot.h
20092 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
20093 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
20094 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
20095 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
20096 const char *.
20097 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
20098 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
20099 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
20100 install.
20101
38e55e90
GS
201022010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
20103
20104 * util/grub-mkconfig.in: Corrected two == equality tests.
20105 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
20106 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
20107 expect a number appended to it.
20108 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
20109 expects a number appended to it.
20110
a9e6ff28
VS
201112010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20112
20113 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
20114
0b830b8f
VS
201152010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20116
20117 * util/hostdisk.c (make_device_name): Change to new partition naming.
20118
0973daeb
VS
201192010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20120
20121 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
20122
460d8402 201232010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
20124
20125 * Makefile.in: Add missing localedir setting.
20126
0b456309
CW
201272010-04-14 Colin Watson <cjwatson@ubuntu.com>
20128
20129 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
20130 mistake in r2156. Noticed by Anthony Fok.
20131
20132 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
20133 @localedir@.
20134 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
20135
08f46d62
BC
201362010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
20137
20138 Fix a spurious, uninitialized variable warning.
20139
20140 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
20141 Initialize variable, shdr.
20142 (grub_freebsd_load_elfmodule): Likewise.
20143 (grub_freebsd_load_elf_meta): Likewise.
20144
8c4a72d4
BC
201452010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
20146
20147 Fix for escaped dollar in double quoted strings.
20148
20149 * script/yylex.l: Updated flex rules.
20150 * conf/tests.rmk: Rule for new testcase.
20151 * tests/grub_script_dollar.in: New testcase.
20152
ce44826e
CPE
201532010-04-13 Carles Pina i Estany <carles@pina.cat>
201542010-04-13 Colin Watson <cjwatson@ubuntu.com>
20155
20156 Enclose all translated strings in grub.cfg in single quotes, and
20157 escape them appropriately (Ubuntu bug #552921).
20158
20159 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
20160 * util/grub.d/10_hurd.in: Use it.
20161 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20162 * util/grub.d/10_linux.in (linux_entry): Likewise.
20163
4b0cd8f8
VS
201642010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20165
20166 Fix cygwin compilation.
20167
20168 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
20169 * include/grub/misc.h (__register_frame_info)
20170 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
20171 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
20172 * kern/misc.c (__register_frame_info)
20173 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
20174 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
20175
01fcf061
VS
201762010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20177
20178 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
20179
5d04b11e
VS
201802010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20181
20182 Unify libgcc processing.
20183
20184 * Makefile.in (kernel_img_LDFLAGS): New variable.
20185 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
20186 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
20187 overwriting.
20188 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
20189 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
20190 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
20191 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
20192 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
20193 overwriting. Remove -lgcc and -static-libgcc
20194 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
20195 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
20196 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
20197 (kernel_img_LDFLAGS): Append instead of overwriting.
20198 Remove -lgcc and -static-libgcc
20199 * conf/sparc64-ieee1275.rmk: Likewise.
20200 * include/grub/powerpc/libgcc.h: Move to ...
20201 * include/grub/libgcc.h: .. this.
20202 * include/grub/libgcc.h: Don't export most of the function on x86.
20203 (__bswapsi2): New export.
20204 (__bswapdi2): Likewise.
20205 * include/grub/mips/libgcc.h: Removed.
20206 * include/grub/sparc64/libgcc.h: Likewise.
20207
b7f3ac29
VS
202082010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20209
20210 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
20211 disk_info_msg (conflicts with gettexting into languages with cases).
20212
2c7031b1
GS
202132010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
20214
20215 Add grub-probe support for NetBSD.
20216
20217 * util/getroot.c (find_root_device): Convert block device to
20218 character device on NetBSD.
20219 * util/probe.c (probe): Require character device on NetBSD.
20220 * util/hostdisk.c: NetBSD specific headers.
20221 (configure_device_driver): new function to tune device driver
20222 parameters (currently only for NetBSD floppy driver).
20223 (grub_util_biosdisk_open): NetBSD specific code (get disk size
20224 via disklabel ioctl).
20225 (open_device): call configure_device_driver on NetBSD.
20226 (convert_system_partition_to_system_disk): NetBSD specific code.
20227 (device_is_wholedisk): Likewise.
20228 (grub_util_biosdisk_get_grub_dev): Likewise.
20229 (make_device_name): Fixed a typo in bsd_part_str.
20230 * configure.ac: check for opendisk() and getrawpartition() on
20231 NetBSD and set LIBUTIL.
20232 * Makefile.in: add LIBUTIL to LIBS.
20233
f516290c
BC
202342010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
20235
20236 Documentation fix.
20237
20238 * util/grub-script-check.c: Better help message.
20239
d8dcc0df
BC
202402010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
20241
20242 Fix FreeBSD build.
20243
20244 * configure.ac: Flex version check.
20245 * conf/common.rmk: Add -Wno-error to sh.mod.
20246 * script/yylex.l: Remove all #pragma.
20247
6734334a
VS
202482010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20249
20250 * include/grub/util/misc.h (canonicalise_file_name): Add missing
20251 prototype.
20252 Reported by: Seth Goldberg.
20253
daea6abd
VS
202542010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20255
20256 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
20257 Rename "module" to "module2".
20258 Reported by: Seth Goldberg.
20259
f2fd9d2b
VS
202602010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20261
20262 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
20263 EXPORT_FUNC.
20264 Reported by: Seth Goldberg.
20265
be124579
VS
202662010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20267
20268 * lib/posix_wrap/locale.h: Add missing file.
20269 Reported by: Seth Goldberg.
20270
ef5da797
VS
202712010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20272
20273 grub-emu module load support.
20274
20275 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
20276 NO_DYNAMIC_MODULES switched to this.
20277 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
20278 (CFLAGS): Likewise.
20279 * conf/any-emu.rmk: Generate symlist.
20280 (kernel_img_HEADERS): Add util/datetime.h.
20281 (kernel_img_HEADERS) [sdl]: Add sdl.h.
20282 (kernel_img_HEADERS) [libusb]: Add libusb.h.
20283 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
20284 kern/$(target_cpu)/cache.S.
20285 * configure.ac (grub-emu-modules): New option.
20286 * genmk.rb: Handle multiple source lists.
20287 * include/grub/sdl.h: New file.
20288 * include/grub/libusb.h: Likewise.
20289 * util/grub-emu.c (main): Hanle (host) root.
20290 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
20291 GRUB_ERR_UNKNOWN_DEVICE.
20292 * util/misc.c: Move mm functions to ...
20293 * util/mm.c: ... here. All users updated.
20294
47822096
VS
202952010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20296
20297 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
20298 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
20299 missing files.
20300 (maintainer-clean): Remove libgcrypt-grub.
20301
5d7e7445
VS
203022010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20303
20304 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
20305
25f4e252
EC
203062010-04-09 EFI Coder <eficoder@hotmail.com>
20307
20308 * normal/menu_text.c (print_message): Clean up the message and show
20309 the Fn information when on EFI
20310 * term/efi/console.c (grub_console_checkkey): Add F4 support.
20311
027de555
VS
203122010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20313
20314 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
20315 All users updated.
20316 * normal/crypto.c (read_crypto_list): Likewise.
20317 * normal/dyncmd.c (read_command_list): Likewise.
20318 * normal/term.c (read_terminal_list): Likewise.
20319 * normal/main.c (read_lists): Use explicit prefix.
20320 (read_lists_hook): Use read_lists.
20321 (grub_normal_execute): Likewise.
20322
47779711
VS
203232010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20324
20325 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
20326 Reported by: Thomas Schmitt.
20327 Add -no-emul-boot to grub-mkisofs parameters.
20328
1118c32e
VS
203292010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20330
20331 * font/font.c: Indented.
20332
7d652447
BC
203332010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
20334
20335 Elif support to GRUB script (by Deepak Vankadaru).
20336
20337 * tests/grub_script_if.in: New testcase.
20338 * conf/tests.rmk: Rule for new testcase.
20339 * script/parser.y: Grammar rules for elif.
20340
34bb22df
BC
203412010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
20342
20343 While and until loops support to GRUB script.
20344
20345 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
20346 (grub_script_create_cmdwhile): New function prototype.
20347 (grub_script_execute_cmdwhile): New function prototype.
20348 * script/execute.c (grub_script_execute_cmdwhile): New function.
20349 * script/parser.y (command): New commands.
20350 (whilecmd): New grammar rule.
20351 (untilcmd): New grammar rule.
20352 * script/script.c (grub_script_create_cmdwhile): New function.
20353 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
20354 function.
20355
20356 * tests/grub_script_while1.in: New testcase.
20357 * conf/tests.rmk: Rule for new testcase.
20358
e215d8e0
VS
203592010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20360
20361 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
20362 as *.jpg.
20363
d7c43ba1
MV
203642010-04-09 Mario Vazquez <mariovazq@gmail.com>
20365
20366 GRUB_BACKGROUND support.
20367
20368 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
20369 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
20370
d64795c0
VS
203712010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20372
20373 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 20374 Idea by: Mario Vazquez
d64795c0
VS
20375
20376 * util/grub.d/00_header.in: Load pf2 and image modules.
20377
f267f83a
VS
203782010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20379
20380 grub-mkconfig multiple terminal support.
20381
20382 * util/grub-mkconfig.in: Handle multiple terminals correctly.
20383 * util/grub.d/00_header.in: Likewise.
20384
b7841ceb
VS
203852010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20386
20387 * Makefile.in: Specify files explicitly instead of using $< and $@ since
20388 we use cd $(srcdir).
20389
df60998c
CW
203902010-04-08 Colin Watson <cjwatson@ubuntu.com>
20391
20392 * util/grub.d/10_linux.in: Only use the first word of
20393 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
20394 spaces in GRUB_DISTRIBUTOR.
20395 * util/grub.d/10_kfreebsd.in: Likewise.
20396 * util/grub.d/10_hurd.in: Likewise.
20397
fa09c82e
BC
203982010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
20399
14e18ae3 20400 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
20401
20402 * tests/util/grub-shell.in: Remove -serial stdio option.
20403
daf892b3
BC
204042010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20405
20406 POSIX header file wrappers.
20407
20408 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
20409 equivalents.
20410 * lib/posix_wrap/ctype.h: Likewise.
20411 * lib/posix_wrap/errno.h: Likewise.
20412 * lib/posix_wrap/langinfo.h: Likewise.
20413 * lib/posix_wrap/limits.h: Likewise.
20414 * lib/posix_wrap/localcharset.h: Likewise.
20415 * lib/posix_wrap/stdint.h: Likewise.
20416 * lib/posix_wrap/stdio.h: Likewise.
20417 * lib/posix_wrap/stdlib.h: Likewise.
20418 * lib/posix_wrap/string.h: Likewise.
20419 * lib/posix_wrap/sys/types.h: Likewise.
20420 * lib/posix_wrap/unistd.h: Likewise.
20421 * lib/posix_wrap/wchar.h: Likewise.
20422 * lib/posix_wrap/wctype.h: Likewise.
20423 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
20424 (grub_script.yy.h): Likewise.
20425 * script/yylex.l: Remove POSIX emulation #defines.
20426 * Makefile.in (POSIX_CFLAGS): New variable.
20427 (GNULIB_UTIL_CFLAGS): Likewise.
20428
20429 Regexp support.
20430
20431 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
20432 (regexp_mod_SOURCES): New variable.
20433 (regexp_mod_CFLAGS): Likewise.
20434 (regexp_mod_LDFLAGS): Likewise.
20435 * commands/regexp.c: New file.
20436 * gnulib/regcomp.c: New file. Imported from gnulib.
20437 * gnulib/regex.c: Likewise.
20438 * gnulib/regex_internal.c: Likewise.
20439 * gnulib/regex_internal.h: Likewise.
20440 * gnulib/regexec.c: Likewise.
20441 * gnulib/regex.h: Likewise.
20442
974ac4f7
VS
204432010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20444
20445 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
20446 unsupported video mode types.
20447
2622c3ff
VS
204482010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20449
20450 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
20451
064cb524
VS
204522010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20453
20454 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
20455 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
20456
a8c3b552
VS
204572010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
20458
20459 Remove unused grub_vga_get_font.
20460
20461 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
20462 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
20463
187bbe3d
GS
204642010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20465
20466 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
20467 * include/grub/misc.h: Likewise.
20468
b9396631
GS
204692010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20470
20471 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
20472 for which failure is fatal.
20473
50479feb
GS
204742010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20475
20476 * util/grub-install.in: Use mkdir -p to create grub directory.
20477 * util/i386/efi/grub-install.in: Likewise.
20478 * util/ieee1275/grub-install.in: Likewise.
20479
b1654fdf
GS
204802010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20481
20482 * Makefile.in (LEX): new variable.
20483
bd5a6415
GS
204842010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20485
20486 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
20487 `=' and added double quotes on operands of this equality test.
20488
3db3a82b
VS
204892010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
20490
20491 * Makefile.in (uninstall): Remove a leftover debug echo.
20492 Reported by: Grégoire Sutre
20493
38023412
VS
204942010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
20495
20496 MIPS multiboot2 support.
20497
20498 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
20499 (multiboot2_mod_SOURCES): New variable.
20500 (multiboot2_mod_CFLAGS): Likewise.
20501 (multiboot2_mod_LDFLAGS): Likewise.
20502 (multiboot2_mod_ASFLAGS): Likewise.
20503 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
20504 definition.
20505 (MULTIBOOT_ENTRY_REGISTER): Likewise.
20506 (MULTIBOOT_MBI_REGISTER): Likewise.
20507 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
20508 (MULTIBOOT_ELF32_MACHINE): Likewise.
20509 (MULTIBOOT_ELF64_MACHINE): Likewise.
20510 * include/grub/mips/multiboot.h: New file.
20511 * include/grub/video.h (grub_video_driver_id): New type
20512 GRUB_VIDEO_DRIVER_SM712.
20513 (grub_video_get_info_and_fini): Export.
20514 (grub_video_get_palette): Likewise.
20515 (grub_video_get_driver_id): Likewise.
20516 * include/multiboot2.h: Resynced with spec.
20517 * loader/i386/multiboot.c: Moved from here ...
20518 * loader/multiboot.c: ... here. All users updated.
20519 (grub_multiboot_boot): Use platform-specific macros.
20520 * loader/i386/multiboot_elfxx.c: Moved from here ...
20521 * loader/multiboot_elfxx.c: ... here. All users updated.
20522 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
20523 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
20524 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
20525
47674667
VS
205262010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20527
20528 Import gnulib argp module.
20529
20530 * gnulib/argp-ba.c: New file.
20531 * gnulib/argp-eexst.c: Likewise.
20532 * gnulib/argp-fmtstream.c: Likewise.
20533 * gnulib/argp-fmtstream.h: Likewise.
20534 * gnulib/argp-fs-xinl.c: Likewise.
20535 * gnulib/argp-help.c: Likewise.
20536 * gnulib/argp-namefrob.h: Likewise.
20537 * gnulib/argp-parse.c: Likewise.
20538 * gnulib/argp-pin.c: Likewise.
20539 * gnulib/argp-pv.c: Likewise.
20540 * gnulib/argp-pvh.c: Likewise.
20541 * gnulib/argp-version-etc.c: Likewise.
20542 * gnulib/argp-version-etc.h: Likewise.
20543 * gnulib/argp-xinl.c: Likewise.
20544 * gnulib/argp.h: Likewise.
20545
495442ed
VS
205462010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
20547
20548 * kern/device.c (grub_device_iterate): Clear errors after failed
20549 opening device.
20550
f9fd65df
VS
205512010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
20552
20553 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
20554 returned by firmware.
20555
af09641e
VS
205562010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20557
20558 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
20559 compilation on coreboot and qemu
20560
016883a5
VS
205612010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
20562
20563 * include/multiboot2.h: Resync with spec.
20564
f97e1f7d
VS
205652010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
20566
20567 Multiboot2 tag support
20568
20569 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
20570 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
20571 Remove loader/multiboot_loader.c.
20572 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
20573 (grub_multiboot2_real_boot): Likewise.
20574 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
20575 (grub_get_multiboot_mmap_count): New proto.
20576 (grub_fill_multiboot_mmap): Likewise.
20577 (grub_multiboot_set_video_mode): Likewise.
20578 (grub_multiboot_set_console): Likewise.
20579 (grub_multiboot_load): Likewise.
20580 (grub_multiboot_load_elf): Likewise.
20581 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
20582 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
20583 * include/multiboot.h: Resynced with specification.
20584 * include/multiboot2.h: Resynced with specification.
20585 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
20586 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
20587 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
20588 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
20589 users updated.
20590 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
20591 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
20592 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
20593 Removed.
20594 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
20595 Moved from here...
20596 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
20597 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
20598 Moved from here...
20599 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
20600 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
20601 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
20602 All users updated.
20603 * loader/i386/multiboot_mbi2.c: New file.
20604
3506b90b
VS
206052010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
20606
20607 Resync with gnulib.
20608
20609 * Makefile.in (GNULIB_CFLAGS): New variable.
20610 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
20611 (grub_script_check_CFLAGS): New variable.
20612 * gnulib/alloca.h: Resync with gnulib.
20613 * gnulib/error.c: Likewise.
20614 * gnulib/error.h: Likewise.
20615 * gnulib/fnmatch.c: Likewise.
20616 * gnulib/fnmatch_loop.c: Likewise.
20617 * gnulib/getdelim.c: Likewise.
20618 * gnulib/getline.c: Likewise.
20619 * gnulib/getopt.c: Likewise.
20620 * gnulib/getopt1.c: Likewise.
20621 * gnulib/getopt_int.h: Likewise.
20622 * gnulib/gettext.h: Likewise.
20623 * gnulib/progname.c: Likewise.
20624 * gnulib/progname.h: Likewise.
20625
394a3120
GS
206262010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
20627
20628 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
20629 which is the case with --disabled-nls.
20630
20631 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
20632 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
20633 * util/misc.c: Likewise.
20634 * util/mkisofs/mkisofs.c: Likewise.
20635 * util/mkisofs/mkisofs.h: Likewise.
20636
969d1c78
VS
206372010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
20638
20639 Simplify Apple CC support.
20640
20641 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
20642 Add 0 byte at the end not to have a symbol with empty target.
20643 * mmap/i386/pc/mmap_helper.S: Likewise.
20644 * genmk.rb: Ignore errors 2030 and 2050.
20645 * kern/i386/pc/startup.S: Use LOCAL when possible.
20646
8d2977bb
BC
206472010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
20648
20649 Testcase and the fix for final semicolon on cmdline.
20650
20651 * tests/grub_script_final_semicolon.in: New testcase.
20652 * conf/tests.rmk: Rules for the new testcase.
20653 * script/parser.y: Grammar fix.
20654
a7bd6915
BC
206552010-03-26 BVK Chaitanya <bvk@localhost>
20656
20657 Blank lines testcase for GRUB script.
20658
20659 * tests/grub_script_blanklines.in: New testcase.
20660 * conf/tests.rmk: Rules for the new testcase.
20661
e4ff6628
VS
206622010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20663
20664 Don't use __FILE__.
20665
20666 * genmk.rb: Add -DGRUB_FILE to all C targets.
20667 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
20668 * include/grub/list.h: Likewise.
20669 * include/grub/misc.h: Likewise.
20670 * include/grub/mm.h: Likewise.
20671 * include/grub/test.h: Likewise.
20672 * kern/mm.c: Likewise.
20673 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
20674
6a5cf6b6
VS
206752010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20676
20677 Sunpc partitions support.
20678
20679 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
20680 (grub_fstest_SOURCES): Likewise.
20681 (pkglib_MODULES): Add part_sunpc.mod.
20682 (part_sunpc_mod_SOURCES): New variable.
20683 (part_sunpc_mod_CFLAGS): Likewise.
20684 (part_sunpc_mod_LDFLAGS): Likewise.
20685 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
20686 * partmap/sunpc.c: New file.
20687
746d9045
BC
206882010-03-26 BVK Chaitanya <bvk@localhost>
20689
20690 For loop support to GRUB script.
20691
20692 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
20693 (grub_script_create_cmdfor): New function prototype.
20694 (grub_script_execute_cmdfor): New function prototype.
20695 * script/execute.c (grub_script_execute_cmdfor): New function.
20696 * script/parser.y (command): New for command.
20697 (forcmd): New grammar rule.
20698 * script/script.c (grub_script_create_cmdfor): New function.
20699 * util/grub-script-check.c (grub_script_execute_cmdfor): New
20700 function.
20701 * tests/grub_script_for1.in: New testcase.
20702 * conf/tests.rmk: Rules for new testcase.
20703
18486b18
VS
207042010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20705
20706 Nested partitions
20707
20708 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
20709 'partition' is NULL, grub_partition_get_start already does that.
20710 * commands/loadenv.c (check_blocklists): Likewise.
20711 (write_blocklists): Likewise.
20712 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
20713 (grub_fstest_SOURCES): Likewise.
20714 (pkglib_MODULES): Add part_bsd.mod.
20715 (part_bsd_mod_SOURCES): New variable.
20716 (part_bsd_mod_CFLAGS): Likewise.
20717 (part_bsd_mod_LDFLAGS): Likewise.
20718 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
20719 (grub_emu_SOURCES): Likewise.
20720 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20721 * include/grub/bsdlabel.h: New file.
20722 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
20723 'get_name'.
20724 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
20725 (grub_partition_map_list): New variable.
20726 (grub_partition_map_register): Inline.
20727 (grub_partition_map_unregister): Likewise.
20728 (FOR_PARTITION_MAPS): New macro.
20729 (grub_partition_map_iterate): Removed.
20730 (grub_partition_get_start): Handle nested partitions.
20731 * include/grub/msdos_partition.h: Remove bsd-related entries.
20732 (grub_pc_partition): Remove.
20733 * kern/disk.c (grub_disk_close): Free partition data.
20734 (grub_disk_adjust_range): Handle nested partitions.
20735 * kern/partition.c (grub_partition_map_probe): New function.
20736 (grub_partition_probe): Parse name to number, handle subpartitions.
20737 (get_partmap): New function.
20738 (grub_partition_iterate): Handle subpartitions.
20739 (grub_partition_get_name): Likewise.
20740 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
20741 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
20742 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
20743 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
20744 Set 'number'.
20745 (acorn_partition_map_probe): Remove.
20746 (acorn_partition_map_get_name): Likewise.
20747 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
20748 Set 'number'.
20749 Set 'index' to 0 since there can be only one partition entry per sector.
20750 (amiga_partition_map_probe): Remove.
20751 (amiga_partition_map_get_name): Likewise.
20752 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
20753 Set 'number'.
20754 Set 'offset' and 'index' to real positions of partitions.
20755 (apple_partition_map_probe): Remove.
20756 (apple_partition_map_get_name): Likewise.
20757 * partmap/bsdlabel.c: New file.
20758 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
20759 Set 'number'.
20760 Allocate 'data' so it can be correctly freed.
20761 Set 'index' to offset inside sector.
20762 (gpt_partition_map_probe): Remove.
20763 (gpt_partition_map_get_name): Likewise.
20764 * partmap/msdos.c (grub_partition_parse): Remove.
20765 (pc_partition_map_iterate): Don't force raw access.
20766 Set 'number'.
20767 Make 'ext_offset' a local variable.
20768 (pc_partition_map_probe): Remove.
20769 (pc_partition_map_get_name): Remove.
20770 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
20771 Set 'number'.
20772 (sun_partition_map_probe): Remove.
20773 (sun_partition_map_get_name): Likewise.
20774 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
20775 (grub_pcpart_type): Likewise.
20776 * util/hostdisk.c (open_device): Handle new numbering scheme.
20777 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
20778 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
20779 * util/grub-probe.c (probe_partmap): Handle nested paritions.
20780 * util/grub-install.in: Insert all subpartition modules.
20781 * util/ieee1275/grub-install.in: Likewise.
20782
a3940f88
AG
207832010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
20784
20785 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
20786 grammar.
20787
21b99926 207882010-03-24 Colin Watson <cjwatson@ubuntu.com>
20789
20790 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
20791
bed1d352
CW
207922010-03-21 Colin Watson <cjwatson@ubuntu.com>
20793
20794 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
20795 match where 'make install' puts them.
20796 * util/i386/efi/grub-install.in: Likewise.
20797
c9f58427
CW
207982010-03-19 Colin Watson <cjwatson@ubuntu.com>
20799
20800 * .bzrignore: Add gentrigtables, grub-script-check,
20801 grub_script_check_init.c, grub_script_check_init.h, and
20802 trigtables.c.
20803
f84afb27
VS
208042010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
20805
20806 * kern/parser.c: Indented.
20807
ed0e3d30
VS
208082010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
20809
20810 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
20811
0ea81d98
VS
208122010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
20813
20814 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
20815 alpha_mask_size == 0 case.
20816
0cdc2a09
BC
208172010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
20818
20819 GRUB shell lexer and parser improvements.
20820
20821 * conf/any-emu.rmk: Build rule updates.
20822 * conf/common.rmk: Likewise.
20823 * conf/i386-coreboot.rmk: Likewise.
20824 * conf/i386-efi.rmk: Likewise.
20825 * conf/i386-ieee1275.rmk: Likewise.
20826 * conf/i386-pc.rmk: Likewise.
20827 * conf/powerpc-ieee1275.rmk: Likewise.
20828 * conf/x86_64-efi.rmk: Likewise.
20829
20830 * configure.ac: Configure check for flex.
20831
20832 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
20833 types.
20834 (grub_lexer_param): Struct member updates.
20835 (grub_parser_param): Likewise.
20836 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
20837 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
20838 (grub_script_lexer_init): Prototype update.
20839 (grub_script_lexer_record_start): Likewise.
20840 (grub_script_lexer_record_stop): Likewise.
20841 (grub_script_lexer_yywrap): New function prototype.
20842 (grub_script_lexer_fini): Likewise.
20843 (grub_script_execute_argument_to_string): Removed by...
20844 (grub_script_execute_argument_to_argv): ...better version.
20845
20846 * script/execute.c (ROUND_UPTO): New macro.
20847 (grub_script_execute_cmdline): Out of memory fixes.
20848 (grub_script_execute_menuentry): Likewise.
20849 (grub_script_execute_argument_to_string): Removed. Update all
20850 users by...
20851 (grub_script_execute_argument_to_argv): ...better version.
20852 * script/function.c (grub_script_function_create): Use
20853 grub_script_execute_argument_to_argv instead of
20854 grub_script_execute_argument_to_string.
20855
20856 * script/lexer.c (check_varstate): Removed.
20857 (check_textstate): Removed.
20858 (grub_script_lexer_record_start): Likewise.
20859 (grub_script_lexer_record_stop): Likewise.
20860 (recordchar): Replaced with...
20861 (grub_script_lexer_record): ...new function.
20862 (nextchar): Removed.
20863 (grub_script_lexer_init): Rewritten.
20864 (grub_script_yylex): Rewritten.
20865 (append_newline): New function.
20866 (grub_script_lexer_yywrap): New function.
20867 (grub_script_lexer_fini): New function.
20868 (grub_script_yyerror): Sets error flag.
20869
20870 * script/yylex.l: New file.
20871 (grub_lexer_yyfree): Wrapper for flex yyffre.
20872 (grub_lexer_yyalloc): Likewise.
20873 (grub_lexer_yyrealloc): Likewise.
20874 * script/parser.y: Refactored.
20875
20876 * script/script.c (grub_script_arg_add): Out of memory fixes.
20877 (grub_script_add_arglist): Likewise.
20878 (grub_script_create_cmdline): Likewise.
20879 (grub_script_create_cmdmenu): Likewise.
20880 (grub_script_add_cmd): Likewise.
20881 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
20882 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
20883 unnecessary code.
20884
20885 * tests/grub_script_echo1.in: New testcase.
20886 * tests/grub_script_vars1.in: New testcase.
20887 * tests/grub_script_echo_keywords.in: New testcase.
20888
1d63a066
VS
208892010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20890
20891 Remove some redundancy in build system.
20892
20893 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
20894 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
20895 (TARGET_LDFLAGS): Add -nostdlib.
20896 (TARGET_IMG_LDFLAGS): Likewise.
20897 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
20898 anything since mmap isn't available.
20899 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
20900 Add util/time.c.
20901 (pkglib_MODULES): Remove reboot.mod.
20902 (reboot_mod_SOURCES): Removed.
20903 (reboot_mod_CFLAGS): Likewise.
20904 (reboot_mod_LDFLAGS): Likewise.
20905 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
20906 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
20907 (DEFSYMFILES): Add kernel_syms.lst.
20908 (kernel_img_HEADERS): Add common headers.
20909 (symlist.c): New target.
20910 (kernel_syms.lst): Likewise.
20911 (pkglib_MODULES): Add memdisk.mod.
20912 (memdisk_mod_SOURCES): New variable.
20913 (memdisk_mod_CFLAGS): Likewise.
20914 (memdisk_mod_LDFLAGS): Likewise.
20915 (pkglib_MODULES): Add reboot.mod.
20916 (reboot_mod_SOURCES): New variable.
20917 (reboot_mod_CFLAGS): Likewise.
20918 (reboot_mod_LDFLAGS): Likewise.
20919 (pkglib_MODULES): Add date.mod.
20920 (date_mod_SOURCES): New variable.
20921 (date_mod_CFLAGS): Likewise.
20922 (date_mod_LDFLAGS): Likewise.
20923 (pkglib_MODULES): Add datehook.mod.
20924 (datehook_mod_SOURCES): New variable.
20925 (datehook_mod_CFLAGS): Likewise.
20926 (datehook_mod_LDFLAGS): Likewise.
20927 (pkglib_MODULES): Add lsmmap.mod.
20928 (lsmmap_mod_SOURCES): New variable.
20929 (lsmmap_mod_CFLAGS): Likewise.
20930 (lsmmap_mod_LDFLAGS): Likewise.
20931 (pkglib_MODULES): Add boot.mod.
20932 (boot_mod_SOURCES): New variable.
20933 (boot_mod_CFLAGS): Likewise.
20934 (boot_mod_LDFLAGS): Likewise.
20935 * conf/i386-coreboot.rmk: Removed redundant parts.
20936 * conf/i386-ieee1275.rmk: Likewise.
20937 * conf/i386-pc.rmk: Likewise.
20938 * conf/mips-yeeloong.rmk: Likewise.
20939 * conf/mips.rmk: Likewise.
20940 * conf/powerpc-ieee1275.rmk: Likewise.
20941 * conf/sparc64-ieee1275.rmk: Likewise.
20942 * conf/x86_64-efi.rmk: Likewise.
20943 * conf/i386-coreboot.rmk: Moved qemu parts ..
20944 * conf/i386-qemu.rmk: ... here
20945 * conf/i386-efi.rmk: Moved common parts to...
20946 * conf/x86-efi.rmk: ... here.
20947 * conf/i386.rmk: Added modules common to all x86 variants.
20948 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
20949 * disk/memdisk.c: Remove grub/machine/kernel.h.
20950 * gensymlist.sh.in: Include symbol.h.
20951 * hook/datehook.c: Correct module name.
20952 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
20953 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
20954 * include/grub/i386/efi/serial.h: New file.
20955 * include/grub/x86_64/efi/serial.h: Likewise.
20956 * util/time.c: Likewise.
20957 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
20958
463ac55f
CK
209592010-03-14 Colin King <colin.king@ubuntu.com>
209602010-03-14 Colin Watson <cjwatson@ubuntu.com>
20961
20962 Shrink the pre-partition-table part of boot.img by eight bytes.
20963
20964 * boot/i386/pc/boot.S (ERR): New macro.
20965 (chs_mode): Use ERR.
20966 (geometry_error): Likewise.
20967 (hd_probe_error): Remove. This is only used once, so we wrwite
20968 it inline instead.
20969 (read_error): Instead of printing read_error_string, just set up
20970 %si and fall through to ...
20971 (error_message): ... this new function, also used by ERR.
20972
08e46ede
CW
209732010-03-14 Colin Watson <cjwatson@ubuntu.com>
20974
20975 Speed up consecutive hostdisk operations on the same device.
20976
20977 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
20978 (grub_util_biosdisk_open): Initialise disk->data.
20979 (struct linux_partition_cache): New structure.
20980 (linux_find_partition): Cache partition start positions; these are
20981 expensive to compute on every read and write.
20982 (open_device): Cache open file descriptor in disk->data, so that we
20983 don't have to reopen it and flush the buffer cache for consecutive
20984 operations on the same device.
20985 (grub_util_biosdisk_close): New function.
20986 (grub_util_biosdisk_dev): Set `close' member.
20987
20988 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
20989 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
20990 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
20991 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
20992 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
20993
4a6d2d06
VS
209942010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20995
20996 Compile parts of grub-emu as modules.
20997
20998 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
20999 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
21000 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
21001 (all-local): Add $(GRUB_EMU).
21002 (install-local): Install $(GRUB_EMU).
21003 (uninstall): Uninstall $(GRUB_EMU).
21004 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
21005 * kern/dl.c: Likewise.
21006 * commands/sleep.c: Not include machine/time.h.
21007 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
21008 (COMMON_CFLAGS): Likewise.
21009 (sbin_UTILITIES): Remove grub-emu.
21010 (grub_emu_SOURCES): Removed.
21011 (kernel_img_RELOCATABLE): New variable.
21012 (pkglib_PROGRAMS): Add kernel.img.
21013 (kernel_img_SOURCES): New variable
21014 (kernel_img_CFLAGS): Likewise.
21015 (kernel_img_LDFLAGS): Likewise.
21016 (TARGET_NO_STRIP): Likewise.
21017 (TARGET_NO_DYNAMIC_MODULES): Likewise.
21018 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
21019 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
21020 (grub-emu): New target.
21021 (GRUB_EMU): New variable.
21022 * configure.ac: Whitelist -emu as possible x86_64 architecture.
21023 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
21024 * loader/xnu.c: Likewise.
21025 * include/grub/pci.h: Likewise.
21026 * genemuinit.sh: New file.
21027 * genemuinitheader.sh: Likewise.
21028 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
21029 Support TARGET_NO_DYNAMIC_MODULES.
21030 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
21031 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
21032 * disk/loopback.c: Likewise.
21033 * font/font_cmd.c: Likewise.
21034 * partmap/acorn.c: Likewise.
21035 * partmap/amiga.c: Likewise.
21036 * partmap/apple.c: Likewise.
21037 * partmap/gpt.c: Likewise.
21038 * partmap/msdos.c: Likewise.
21039 * partmap/sun.c: Likewise.
21040 * parttool/msdospart.c: Likewise.
21041 * term/gfxterm.c: Likewise.
21042 * video/bitmap.c: Likewise.
21043 * video/readers/jpeg.c: Likewise.
21044 * video/readers/png.c: Likewise.
21045 * video/readers/tga.c: Likewise.
21046 * video/video.c: Likewise.
21047 * util/grub-emu.c (read_command_list): Removed.
21048 (main): Don't call util_init_nls.
21049 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
21050 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
21051
91fdd2ed
VS
210522010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21053
21054 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
21055 date.mod, datehook.mod.
21056 (datetime_mod_SOURCES): New variable.
21057 (datetime_mod_CFLAGS): Likewise.
21058 (datetime_mod_LDFLAGS): Likewise.
21059 (date_mod_SOURCES): Likewise.
21060 (date_mod_CFLAGS): Likewise.
21061 (date_mod_LDFLAGS): Likewise.
21062 (datehook_mod_SOURCES): Likewise.
21063 (datehook_mod_CFLAGS): Likewise.
21064 (datehook_mod_LDFLAGS): Likewise.
21065 * conf/sparc64-ieee1275.rmk: Likewise.
21066 * lib/ieee1275/datetime.c: New file.
21067
873ccae6
VS
210682010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21069
21070 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
21071 (ieee1275_fb_mod_SOURCES): New variable.
21072 (ieee1275_fb_mod_CFLAGS): Likewise.
21073 (ieee1275_fb_mod_LDFLAGS): Likewise.
21074 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
21075 New proto.
21076 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
21077 (HEAP_MAX_ADDR): Likewise.
21078 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
21079 type.
21080 Correct stop condition.
21081 (grub_ieee1275_devices_iterate): New function.
21082 * video/ieee1275.c: New file.
21083
601c97c0
VS
210842010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21085
21086 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
21087
21088 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
21089 as scratch.
21090 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
21091 SCRATCH_PAD_DISKBOOT as scratch.
21092 (bootit): Pass Openfirmware pointer in %o4.
21093 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
21094 of 0x200000.
21095 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
21096 with util/grub-mkrawimage.c.
21097 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
21098 * include/grub/aout.h (AOUT_MID_SUN): New definition.
21099 (grub_aout_get_type) [GRUB_UTIL]: Removed.
21100 (grub_aout_load) [GRUB_UTIL]: Likewise.
21101 * include/grub/kernel.h (grub_modules_get_end): New proto.
21102 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
21103 (SCRATCH_PAD_BOOT): New definition.
21104 (SCRATCH_PAD_DISKBOOT): Likewise.
21105 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
21106 * include/grub/sparc64/ieee1275/ieee1275.h
21107 (grub_ieee1275_original_stack): New variable
21108 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
21109 New definition
21110 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
21111 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
21112 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
21113 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
21114 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
21115 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
21116 (grub_platform_image_format_t): New type.
21117 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
21118 * kern/main.c (grub_modules_get_end)
21119 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
21120 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
21121 (codestart): Switch stacks.
21122 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
21123 variable.
21124 (grub_heap_init): Use grub_modules_get_end.
21125 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
21126 stack.
21127 * util/grub-mkrawimage.c (generate_image): Support sparc64.
21128 (main): Likewise.
21129 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
21130
d68b491e
TG
211312010-03-14 Thorsten Glaser <tg@mirbsd.org>
21132
21133 * util/grub-mkrescue.in: Base ISO UUID on UTC.
21134
4e02ed50
MK
211352010-03-08 Matt Kraai <kraai@ftbfs.org>
21136
21137 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
21138 bug #559005).
21139
1f15fc1e
VS
211402010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
21141
21142 * genmoddep.awk: Output all missing symbols and not only first.
21143
fce5d8ff
VS
211442010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21145
21146 * NEWS: Put the date of 1.98 release.
21147
d1e8a02f
VS
211482010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21149
21150 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
21151 ft2build.h.
21152
696fd607
VS
211532010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21154
21155 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
21156 completition in the middle of string.
21157
33e2e6f3
VS
211582010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21159
21160 * util/grub-mkrescue.in: Use mktemp with explicit template.
21161
b1f6d291
VS
211622010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21163
21164 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
21165
2ac227c7
VS
211662010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21167
21168 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
21169 right pointer.
21170
8f9a632b
VS
211712010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
21172
21173 Fix FreeBSD compilation.
21174
21175 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
21176 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
21177
60b03859
VS
211782010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
21179
21180 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
21181
48a5a769
VS
211822010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21183
21184 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
21185
3ab4bd77
VS
211862010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21187
21188 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
21189
d116e0d8
RM
211902010-03-04 Robert Millan <rmh.grub@aybabtu.com>
21191
21192 Support relative image path in theme file.
21193
21194 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
21195 (image_set_property): Handle theme_dir and relative path.
21196
c7ef54aa
VS
211972010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21198
21199 * configure.ac: Alias amd64 to x86_64.
21200
fcee14ed
VS
212012010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21202
21203 * NEWS: mention multiboot on EFI.
21204
d0780363
VS
212052010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21206
21207 * kern/main.c (grub_load_modules): Handle errors from init functions of
21208 embeded modules.
21209
41168ea4
VS
212102010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21211
21212 * normal/autofs.c (autoload_fs_module): Handle errors.
21213
b54d93ac
VS
212142010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21215
21216 Disable linux.mod on qemu-mips since it's not functional and leads
21217 to compilation failure.
21218
21219 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
21220 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
21221 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
21222 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
21223 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
21224 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
21225 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
21226 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
21227 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
21228 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
21229 Reported by: BVK Chaitanya
21230
fc8345da
JU
212312010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
21232
21233 * INSTALL: Add gettext as a dependency and add qemu to a new section
21234 "Prerequisites for make-check".
21235
4760f979
CF
212362010-03-04 Christian Franke <franke@computer.org>
21237
21238 * util/grub-pe2elf.c: Add missing include "progname.h".
21239
f209b5b2
VS
212402010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21241
21242 * normal/crypto.c (read_crypto_list): Fix a typo.
21243 Reported by: Seth Goldberg.
21244
b4b7be98
VS
212452010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21246
21247 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 21248 Reported by: Seth Goldberg.
b4b7be98 21249
c0ee0385
VS
212502010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21251
21252 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
21253 ascii.bitmaps.
21254
a8efbf64
VS
212552010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21256
21257 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 21258 Reported by: Seth Goldberg.
a8efbf64 21259
08dcd913
VS
212602010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21261
21262 * util/i386/efi/grub-install.in: Copy gettext files.
21263
c4d0b332
VS
212642010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21265
21266 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
21267
c6f2fe52
VS
212682010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21269
21270 Wait for user entry basing on presence of output rather than on errors.
21271
21272 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
21273 (grub_install_newline_hook): Likewise.
21274 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
21275 * normal/menu.c (show_menu): Check line_counter to determine presence
21276 of output.
21277 * normal/term.c (grub_normal_line_counter): New variable.
21278 (grub_normal_get_line_counter): New function.
21279 (grub_install_newline_hook): Likewise.
21280
5382b1e4
VS
212812010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21282
21283 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
21284
5519963b
VS
212852010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21286
21287 * configure.ac: Update version to 1.98.
21288
72b28631
VS
212892010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
21290
21291 * util/grub.d/10_linux.in (linux_entry): Don't default to
21292 gfxpayload=keep if Linux doesn't support video handover.
21293
c140a180
VS
212942010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
21295
21296 Don't compile video modules on yeeloong since video subsystem is part
21297 of kernel.
21298
21299 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
21300 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
21301 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
21302 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
21303 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
21304 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
21305 * include/grub/bitmap_scale.h: Likewise.
21306 * include/grub/bufio.h: Likewise.
21307 * include/grub/font.h: Likewise.
21308 * include/grub/gfxterm.h: Likewise.
21309 * include/grub/video.h: Likewise.
21310 * include/grub/vbe.h: Don't include video_fb.h.
21311 * video/i386/pc/vbe.c: Include video_fb.h.
21312 * commands/i386/pc/vbetest.c: Include video.h.
21313
a0ca21c2
CW
213142010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
21315
21316 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
21317 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
21318 default entry if GRUB_SAVEDEFAULT=true. This allows using
21319 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
21320 saving a new default on every boot.
21321
4a8a763c
VS
213222010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
21323
21324 * normal/crypto.c (read_crypto_list): Fix a memory leak.
21325 * normal/term.c (read_terminal_list): Likewise.
21326 * normal/main.c (grub_normal_init_page): Likewise.
21327 (grub_normal_read_line_real): Likewise.
21328
607ffde2
VS
213292010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
21330
21331 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
21332 memory leak.
21333 Reported by: Seth Goldberg.
21334
2b8fa975
CW
213352010-02-24 Joey Korkames <joey+lists@kidfixit.com>
21336
21337 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
21338 duplicate declaration of `start'.
21339
618307dd
VS
213402010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
21341
21342 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
21343 filename.
21344 Reported by: Georgy Buranov
21345
7dd05b96 213462010-02-20 Carles Pina i Estany <carles@pina.cat>
21347
21348 * util/grub-mkrawimage.c (usage): Change string formatting to
21349 improve gettext.
21350
d1484a42
MRA
213512010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
21352
21353 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
21354 backspace keys.
21355
42b1d186
VS
213562010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
21357
21358 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
21359 Reported by: Michael Suchanek.
21360
213612010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
21362
21363 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
21364 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
21365
d9f31a41
VS
213662010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
21367
21368 Remove any reference to non-free fonts.
21369
21370 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
21371 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
21372 uses non-free components.
21373 * font/font.c (grub_font_get_name): Remove example name.
21374 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
21375 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
21376 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
21377 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
21378
2793c71e
GB
213792010-02-16 Georgy Buranov <gburanov@gmail.com>
21380
21381 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
21382
402e3779
VS
213832010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
21384
21385 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
21386 Double divisor.
21387 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
21388 features.
21389 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
21390
0dd1e0dd
VS
213912010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
21392
21393 * gensymlist.sh.in: Use TARGET_CC instead of CC.
21394
6fa7cfce
ST
213952010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21396
21397 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
21398 * docs/grub.texi (Command-line and menu entry commands): Document play
21399 command.
21400
37c8483b
ST
214012010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21402
21403 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
21404 parse arguments as inline tempo and notes. Move code for playing notes
21405 to...
21406 (play): ... new function.
21407
14da0fb7
ST
214082010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21409
21410 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
21411 grub_uint16_t instead of short.
21412 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
21413 disk from little endian to cpu endianness.
21414
04459e70
ST
214152010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
21416
21417 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
21418 GRUB_TICKS_PER_SECOND instead of 120.
21419
a0876943
VS
214202010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21421
21422 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
21423 escape sequence after \e.
21424
e29f95dc
VS
214252010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21426
21427 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
21428 non-ASCII characters.
21429
d27859b2
VS
214302010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21431
21432 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
21433 set root in single quotes to prevent \, from being unescaped.
21434
bc028f2f
VS
214352010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21436
21437 Prevent unknown commands from stopping menuentry execution.
21438
21439 * script/execute.c (grub_script_execute_cmdline): Print error after
21440 unknown command.
21441
095f5f82
VS
214422010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21443
21444 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
21445 Reported by: Pavel Pisa.
21446
8c717950
VS
214472010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21448
21449 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
21450
904935c3
VS
214512010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21452
21453 Merge grub_ieee1275_map_physical into grub_map and rename to
21454 grub_ieee1275_map
21455
21456 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
21457 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
21458 Remove.
21459 * kern/ieee1275/openfw.c (grub_map): Rename to ...
21460 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
21461 necessary.
21462 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
21463
5b59a4e3
VS
214642010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21465
21466 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
21467 opening and not after.
21468
69e137e8
VS
214692010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21470
21471 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
21472 constants.
21473
2c0fcc36
VS
214742010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21475
21476 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
21477 (alloc_phys): Use ALIGN_UP instead of align_addr.
21478
8c6052ce
VS
214792010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21480
21481 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
21482
17cec782
VS
214832010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21484
21485 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
21486
e0128bbd
VS
214872010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21488
21489 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
21490 verbose dprintf.
21491
ca62070b
VS
214922010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21493
21494 Fix over-4GiB seek on sparc64.
21495
21496 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
21497 Replace pos_i and pos_lo with pos. All users updated.
21498 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
21499 New constant.
21500 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
21501 Likewise.
21502 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
21503 and pos_lo.
21504
bdca2607
VS
215052010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21506
21507 * util/grub-mkrawimage.c (main): Call set_program_name.
21508
da278c4d
VS
215092010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21510
21511 Properly align 64-bit targets.
21512
21513 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
21514 (generate_image): Use ALIGN_ADDR.
21515
b274d734
VS
215162010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21517
21518 Properly create cross-endian images.
21519
21520 * include/grub/types.h (grub_host_to_target_addr): New macro
21521 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
21522
82da2062
VS
215232010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21524
21525 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
21526
7cae4377
VS
215272010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
21528
21529 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
21530
21531 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
21532 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
21533 (grub_linux_boot): Divide by 64K when on VESA.
21534
65a533e7
VS
215352010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
21536
21537 Support GRUB_GFXPAYLOAD_LINUX.
21538
21539 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
21540 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
21541
dd01d397
VS
215422010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
21543
21544 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
21545 to show messages instead of discarding them.
21546 Process errors after executing command and not before. Keep old method
21547 too as precaution.
21548
660960d6
VS
215492010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
21550
21551 * configure.ac: Check for ft2build.h.
21552
62509f04
VS
215532010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21554
21555 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
21556
473df63d
VS
215572010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21558
21559 * genkernsyms.sh.in: Use TARGET_CC.
21560
c98d2a13
CW
215612010-02-07 Colin Watson <cjwatson@ubuntu.com>
21562
21563 * NEWS: Update.
21564
6e14234c
VS
215652010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21566
21567 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
21568 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
21569 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 21570
b255e9cf
YB
215712010-02-07 Yves Blusseau <blusseau@zetam.org>
21572
6e14234c 21573 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 21574
98e6959d
VS
215752010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21576
21577 Fix warnings in grub-emu when compiling with maximum warning options.
21578
21579 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
21580 (grub_arch_modules_addr): Return 0 and not NULL.
21581 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 21582 (xstrdup): Use newstr instead of dup.
f88d801b
VS
21583 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
21584 of disk to dsk to avoid shadowing.
74e4934e
VS
21585 (find_free_slot): Fix prototype.
21586 * util/getroot.c (grub_util_is_dmraid): Make static.
21587 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
21588 Add missing prototype.
21589 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 21590
74e31b5c
VS
215912010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21592
21593 * loader/i386/linux.c (grub_linux_setup_video): Handle error
21594 appropriately.
21595
6b2ad14b
VS
215962010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21597
21598 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
21599 code out.
21600
8f891adc
VS
216012010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21602
21603 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
21604 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
21605 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
21606 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
21607 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
21608 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
21609
74b45184
VS
216102010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21611
21612 * include/grub/err.h (grub_err_printf): Don't export.
21613
a4bced77
VS
216142010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21615
21616 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
21617
007d0695
VS
216182010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21619
21620 * include/grub/i18n.h (grub_gettext_dummy): Removed.
21621 * kern/misc.c (grub_gettext_dummy): Make static.
21622
b6c0d9c2
VS
216232010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21624
21625 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
21626 by non-valid ones.
21627 * kern/term.c (grub_putchar): Likewise.
21628
f51a90d0
VS
216292010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21630
21631 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
21632 buggy hook call and memory leak.
21633
6846cec5
VS
216342010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21635
21636 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
21637
468d69fe
VS
216382010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21639
21640 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
21641
51906b8c
VS
216422010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21643
21644 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
21645 modevar.
21646 Return grub_errno on allocation error.
21647
09706ce5
VS
216482010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21649
21650 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
21651
911df80c
YB
216522010-02-06 Yves Blusseau <blusseau@zetam.org>
21653
21654 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
21655 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
21656
3746a6bc
VS
216572010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21658
21659 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
21660 non-pxe disk.
21661 (grub_pxefs_open): Likewise.
21662
09706ce5
VS
216632010-02-06 Robert Millan <rmh.grub@aybabtu.com>
21664
21665 * util/grub.d/10_hurd.in: Add --class information to menuentries.
21666 * util/grub.d/10_kfreebsd.in: Likewise.
21667 * util/grub.d/10_linux.in: Likewise.
21668
7cc192d9
VS
216692010-02-06 Colin D Bennett <colin@gibibit.com>
21670
21671 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
21672 (gfxmenu_mod_SOURCES): New variable.
21673 (gfxmenu_mod_CFLAGS): Likewise.
21674 (gfxmenu_mod_LDFLAGS): Likewise.
21675 * include/grub/term.h (grub_term_set_current_output): Declare
21676 argument as const.
21677 * docs/gfxmenu-theme-example.txt: New file.
21678 * gfxmenu/gfxmenu.c: Likewise.
21679 * gfxmenu/gui_box.c: Likewise.
21680 * gfxmenu/gui_canvas.c: Likewise.
21681 * gfxmenu/gui_circular_progress.c: Likewise.
21682 * gfxmenu/gui_image.c: Likewise.
21683 * gfxmenu/gui_label.c: Likewise.
21684 * gfxmenu/gui_list.c: Likewise.
21685 * gfxmenu/gui_progress_bar.c: Likewise.
21686 * gfxmenu/gui_string_util.c: Likewise.
21687 * gfxmenu/gui_util.c: Likewise.
21688 * gfxmenu/icon_manager.c: Likewise.
21689 * gfxmenu/model.c: Likewise.
21690 * gfxmenu/named_colors.c: Likewise.
21691 * gfxmenu/theme_loader.c: Likewise.
21692 * gfxmenu/view.c: Likewise.
21693 * gfxmenu/widget-box.c: Likewise.
21694 * include/grub/gfxmenu_model.h: Likewise.
21695 * include/grub/gfxmenu_view.h: Likewise.
21696 * include/grub/gfxwidgets.h: Likewise.
21697 * include/grub/gui.h: Likewise.
21698 * include/grub/gui_string_util.h: Likewise.
21699 * include/grub/icon_manager.h: Likewise.
21700
217012010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21702
21703 Agglomerate scrolling in gfxterm.
21704
21705 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
21706 (grub_virtual_screen_setup): Initialise 'total_screen'.
21707 (write_char): Split to ...
21708 (paint_char): ... this ...
21709 (write_char): ... and this.
21710 (paint_char): Handle delayed scrolling.
21711 (draw_cursor): Likewise.
21712 (scroll_up): Split to ...
21713 (real_scroll): ... this ...
21714 (scroll_up): ... and this.
21715 (real_scroll): Handle multi-line scroll and draw below-the-bottom
21716 characters.
21717 (grub_gfxterm_refresh): Call real_scroll.
21718
217192010-02-06 Colin D Bennett <colin@gibibit.com>
21720
21721 * include/grub/misc.h (grub_iscntrl): New inline function.
21722 (grub_isalnum): Likewise.
21723 (grub_strtol): Likewise.
21724
217252010-02-06 Colin D Bennett <colin@gibibit.com>
21726
21727 * normal/menu_text.c (get_entry_number): Move from here ...
21728 * normal/menu.c (get_entry_number): ... moved here.
21729 * include/grub/menu.h (grub_menu_get_default_entry_index):
21730 New prototype.
21731 * normal/menu.c (grub_menu_get_default_entry_index): New function.
21732 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
21733 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
21734 (grub_menu_viewer_should_return): Likewise.
21735 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
21736 * normal/menu_text.c (run_menu): Enable menu switching.
21737 * normal/menu_viewer.c (should_return): New variable.
21738 (menu_viewer_changed): Likewise.
21739 (grub_menu_viewer_show_menu): Handle menu viewer changes.
21740 (grub_menu_viewer_should_return): New function.
21741 (menuviewer_write_hook): Likewise.
21742 (grub_menu_viewer_init): Likewise.
21743
217442010-02-06 Colin D Bennet <colin@gibibit.com>
217452010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21746
21747 Support for gfxterm in a window.
21748
21749 * include/grub/gfxterm.h: New file.
21750 * include/grub/video.h (struct grub_video_rect): New declaration.
21751 (grub_video_rect_t): Likewise.
21752 * term/gfxterm.c (struct grub_gfxterm_window): New type.
21753 (refcount): New variable.
21754 (render_target): Likewise.
21755 (window): Likewise.
21756 (repaint_callback): Likewise.
21757 (grub_virtual_screen_setup): Use 'render_target'.
21758 (init_window): New function.
21759 (grub_gfxterm_init_window): Likewise.
21760 (grub_gfxterm_init): Check reference counter.
21761 Use init_window.
21762 (destroy_window): New function.
21763 (grub_gfxterm_destroy_window): Likewise.
21764 (grub_gfxterm_fini): Check reference counter.
21765 Use destroy_window.
21766 (redraw_screen_rect): Restore viewport.
21767 Use 'render_target' and 'window'.
21768 Call 'repaint_callback'.
21769 (write_char): Use 'render_target'.
21770 (draw_cursor): Likewise.
21771 (scroll_up): Restore viewport.
21772 Use 'render_target' and 'window'.
21773 Call 'repaint_callback'.
21774 (grub_gfxterm_cls): Likewise.
21775 (grub_gfxterm_refresh): Use 'window'.
21776 (grub_gfxterm_set_repaint_callback): New function.
21777 (grub_gfxterm_background_image_cmd): Use 'window'.
21778 (grub_gfxterm_get_term): New function.
21779 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
21780
217812010-02-06 Colin D Bennett <colin@gibibit.com>
21782
21783 Bitmap scaling support.
21784
21785 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
21786 (bitmap_scale_mod_SOURCES): New variable.
21787 (bitmap_scale_mod_CFLAGS): Likewise.
21788 (bitmap_scale_mod_LDFLAGS): Likewise.
21789 * include/grub/bitmap_scale.h: New file.
21790 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
21791 (background_image_cmd_options): New variable.
21792 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
21793 (cmd): Rename and change type to ...
21794 (background_image_cmd_handle): ... this. All users updated.
21795 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
21796 * video/bitmap_scale.c: New file.
21797
217982010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21799
21800 SDL support.
21801
21802 * Makefile.in (LIBSDL): New variable.
21803 (enable_grub_emu_sdl): Likewise.
21804 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
21805 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
21806 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
21807 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
21808 * util/sdl.c: New file.
21809
218102010-02-06 Colin D Bennett <colin@gibibit.com>
218112010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21812
21813 Double buffering support.
21814
21815 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
21816 * include/grub/video.h: Update comment.
21817 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
21818 New type.
21819 (grub_video_fb_doublebuf_blit_init): New prototype.
21820 * term/gfxterm.c (scroll_up): Support double buffering.
21821 (grub_gfxterm_refresh): Likewise.
21822 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
21823 (grub_video_fb_doublebuf_blit_init): Likewise.
21824 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
21825 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
21826 'displayed_page', 'render_page' and 'update_screen'.
21827 (grub_video_vbe_fini): Free offscreen buffer.
21828 (doublebuf_pageflipping_commit): New function.
21829 (doublebuf_pageflipping_update_screen): Likewise.
21830 (doublebuf_pageflipping_init): Likewise.
21831 (double_buffering_init): Likewise.
21832 (grub_video_vbe_setup): Enable doublebuffering.
21833 (grub_video_vbe_swap_buffers): Implement.
21834 (grub_video_vbe_set_active_render_target): Handle double buffering.
21835 (grub_video_vbe_get_active_render_target): Likewise.
21836 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
21837 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
21838 (grub_video_vbe_enable_double_buffering): Likewise.
21839 (grub_video_vbe_swap_buffers): Use update_screen.
21840 (grub_video_set_mode): Use double buffering.
21841
218422010-02-06 Robert Millan <rmh.grub@aybabtu.com>
21843
21844 * maintainance/gentrigtables.py: Remove.
21845 * lib/trig.c: Likewise.
21846
21847 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
21848
21849 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
21850 `trigtables.c'.
21851 (trigtables.c): New rule.
21852 (gentrigtables): Likewise.
21853 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
21854
218552010-02-06 Robert Millan <rmh.grub@aybabtu.com>
21856
21857 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
21858 integer constants.
21859
218602010-02-06 Colin D Bennet <colin@gibibit.com>
21861
21862 Trigonometry support.
21863
21864 * include/grub/trig.h: New file.
21865 * lib/trig.c: Likewise.
21866 * maintainance/gentrigtables.py: Likewise.
21867 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
21868 (trig_mod_SOURCES): New variable.
21869 (trig_mod_CFLAGS): Likewise.
21870 (trig_mod_LDFLAGS): Likewise.
21871
5562834e
VS
218722010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21873
21874 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
21875 disk devices.
21876
4f8528fc
VS
218772010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21878
21879 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
21880 error.
21881
2b4068e9
VS
218822010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
21883
21884 * util/hostdisk.c (open_device): Don't use partition device when reading
21885 before the partition.
21886 (grub_util_biosdisk_read): Don't read from partition and before the
21887 partition in single operation.
21888 (grub_util_biosdisk_write): Don't write to partition and before the
21889 partition in single operation.
21890
399f6e4d
TL
218912010-02-03 Torsten Landschoff <torsten@debian.org>
21892
21893 * kern/disk.c (grub_disk_read): Fix offset computation when reading
21894 last sectors.
21895
996649b0
VS
218962010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
21897
21898 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
21899 CDROM reads.
21900 (grub_biosdisk_write): Refuse to write to CDROM.
21901
3b205d4d
VS
219022010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
21903
21904 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
21905
61e89d9d
VS
219062010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
21907
21908 * font/font.c (find_glyph): Check that bmp_idx is available before
21909 using it.
21910 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
21911 with (font == NULL).
21912
bf7fcba2
CS
219132010-01-28 Christian Schmitt <chris@ilovelinux.de>
21914
21915 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
21916
f45d2663
BC
219172010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
21918
21919 * include/grub/script_sh.h (sourcecode): Add const qualifier.
21920 * util/grub-script-check.c (getline): Fix empty lines case.
21921
ec1444e6
RM
219222010-01-28 Robert Millan <rmh.grub@aybabtu.com>
21923
21924 * Makefile.in (check): Exit with fail status when one of the tests
21925 fails.
21926 * tests/example_functional_test.c (example_test): Fix reversed assert.
21927 * tests/example_unit_test.c (example_test): Likewise.
21928
2e1cb9bb
CW
219292010-01-28 Colin Watson <cjwatson@ubuntu.com>
21930
21931 * util/grub.d/10_linux.in: This script does not use any of the
21932 contents of gettext.sh, only the external command `gettext', so stop
21933 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
21934 the same prefix as GRUB.)
21935 * util/grub.d/10_kfreebsd.in: Likewise.
21936
63533ab0
VS
219372010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
21938
21939 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
21940 of the line.
21941
989e1f93
VS
219422010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
21943
21944 * kern/disk.c (grub_disk_read): Fix offset computation when reading
21945 last sectors.
21946
e709ebe2
VS
219472010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
21948
21949 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
21950 having a 4KiB and not 32KiB buffer size.
21951
27dea7ed
RM
219522010-01-27 Robert Millan <rmh.grub@aybabtu.com>
21953
21954 * util/hostfs.c: Include `<errno.h>'.
21955 (grub_hostfs_read): Handle errors from fseeko() and fread().
21956
67667b9c
RM
219572010-01-27 Robert Millan <rmh.grub@aybabtu.com>
21958
21959 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
21960 loop when using read hooks on files whose size isn't sector-aligned.
21961
c294d9d8
RM
219622010-01-27 Robert Millan <rmh.grub@aybabtu.com>
21963
21964 Remove unused parameter.
21965
21966 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
21967 (grub_iso9660_open): Remove initialization of `data->length'.
21968
af75a9f1
RM
219692010-01-27 Robert Millan <rmh.grub@aybabtu.com>
21970
21971 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
21972 memleak conditions.
21973
254e2ce5 219742010-01-27 Carles Pina i Estany <carles@pina.cat>
21975
21976 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
21977 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
21978
b510928c 219792010-01-26 Carles Pina i Estany <carles@pina.cat>
21980
21981 * util/bin2h.c (usage): Fix warning (space after backslash).
21982
aa2f9dd2 219832010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 21984
21985 * font/font.c: Include `grub/fontformat.h.
21986 Remove font file format constants.
21987 (grub_font_load): Use the new macros.
21988 * include/grub/fontformat.h: New file.
21989 * util/grub-mkfont.c: Include `grub/fontformat.c'.
21990 (write_font_pf2): Use the new macros.
21991
94e7e712
RM
219922010-01-26 Robert Millan <rmh.grub@aybabtu.com>
21993
21994 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
21995 does.
21996
3973a59a
RM
219972010-01-26 Robert Millan <rmh.grub@aybabtu.com>
21998
21999 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
22000
22001 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
22002 (_start): Macroify `0x7F'.
22003
22004 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
22005 (make_install_device): Use "(pxe)" as fallback prefix when booting
22006 via PXE.
22007
42e0cba3
GS
220082010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
22009
22010 * configure.ac: Reset LIBS after check for libgcc symbols.
22011
847effd8
CW
220122010-01-25 Colin Watson <cjwatson@ubuntu.com>
22013
22014 * util/hostdisk.c (open_device): Add trailing newline to debug
22015 message.
22016
ea4a7e35
GS
220172010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
22018
22019 * configure.ac: Check for `limits.h'.
22020 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
22021
67951a53
RM
220222010-01-24 Robert Millan <rmh.grub@aybabtu.com>
22023
22024 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
22025 capitalize error strings.
22026
c273d4ce
ST
220272010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
22028
22029 * util/grub.d/10_hurd.in: Add a recovery mode.
22030
69be5b74
VS
220312010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
22032
22033 * configure.ac: Check for libgcc symbols with -nostdlib.
22034
fc9e5810
BC
220352010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
22036
22037 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
22038
4b358c0a
VS
220392010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22040
22041 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
22042 stack since heap may be unavailable at that point.
22043 (grub_ofconsole_gotoxy): Likewise.
22044
454fcd1c
VS
220452010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22046
22047 * configure.ac: Check for _restgpr_14_x.
22048 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
22049 and _savegpr_* prototypes.
22050
566863ca
RM
220512010-01-22 Robert Millan <rmh.grub@aybabtu.com>
22052
22053 Use generic grub_reboot() for i386-efi.
22054
22055 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
22056 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
22057 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
22058
bf86e59a
VS
220592010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22060
22061 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
22062 presence of "prefix" variable as it breaks when normal.mod is
22063 embedded.
22064
d645e0f8
VS
220652010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22066
22067 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
22068 stack since heap is unavailable at that point.
22069
f9ab2e25
VS
220702010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22071
22072 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
22073 (grub_freebsd_bootinfo): Rewritten.
22074 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
22075
01fc7054
VS
220762010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22077
22078 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
22079
caab4fd6
RM
220802010-01-21 Robert Millan <rmh.grub@aybabtu.com>
22081
22082 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
22083 domain now.
22084
67eb1427
FZ
220852010-01-20 Felix Zielcke <fzielcke@z-51.de>
22086
22087 * util/misc.c (make_system_path_relative_to_its_root): Change the work
22088 around for handling "/" to the correct fix. Fix a memory leak. Use
22089 xstrdup instead of strdup.
22090
a9ed4ff3
VS
220912010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22092
22093 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
22094
220952010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
22096
22097 Optimise glyph lookup by Basic Multilingual Plane lookup array.
22098
22099 * font/font.c (struct grub_font): New member 'bmp_idx'.
22100 (font_init): Initialise 'bmp_idx'.
22101 (load_font_index): Fill 'bmp_idx'.
22102 (find_glyph): Make inline. Use bmp_idx for BMP characters.
22103
48209f4f
VS
221042010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22105
22106 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
22107 unnecessary calls.
22108
9f0a4bb7
VS
221092010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22110
22111 Move context handling out of the kernel.
22112
22113 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
22114 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
22115 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
22116 * conf/i386-efi.rmk: Likewise.
22117 * conf/i386-ieee1275.rmk: Likewise.
22118 * conf/i386-pc.rmk: Likewise.
22119 * conf/powerpc-ieee1275.rmk: Likewise.
22120 * conf/sparc64-ieee1275.rmk: Likewise.
22121 * conf/x86_64-efi.rmk: Likewise.
22122 * include/grub/env.h: Include grub/menu.h.
22123 (grub_env_var_type): Removed.
22124 (grub_env_var): Replaced field 'type' with 'global'.
22125 (grub_env_find): New prototype.
22126 (grub_env_context_open): Remove EXPORT_FUNC.
22127 (grub_env_context_close): Likewise.
22128 (grub_env_export): Likewise.
22129 (grub_env_set_data_slot): Removed.
22130 (grub_env_get_data_slot): Likewise.
22131 (grub_env_unset_data_slot): Likewise.
22132 (grub_env_unset_menu): New prototype.
22133 (grub_env_set_menu): Likewise.
22134 (grub_env_get_menu): Likewise.
22135 * include/grub/env_private.h: New file.
22136 * include/grub/normal.h (grub_context_init): New prototype.
22137 (grub_context_fini): Likewise.
22138 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
22139 * normal/context.c (grub_cmd_export): ... to here.
22140 * kern/env.c: Include env_private.h.
22141 (HASHSZ): Moved to include/grub/env_private.h.
22142 (grub_env_context): Likewise.
22143 (grub_env_sorted_var): Likewise.
22144 (current_context): Renamed from this ...
22145 (grub_current_context): ...to this. 'static' removed. All users updated.
22146 (grub_env_find): Removed 'static'.
22147 (grub_env_context_open): Moved to normal/context.c.
22148 (grub_env_context_close): Likewise.
22149 (grub_env_export): Likewise.
22150 (mangle_data_slot_name): Removed.
22151 (grub_env_set_data_slot): Likewise.
22152 (grub_env_get_data_slot): Likewise.
22153 (grub_env_unset_data_slot): Likewise.
22154 * kern/main.c (grub_set_root_dev): Don't export root.
22155 It will be done later.
22156 (grub_main): Don't export prefix.
22157 It will be done later.
22158 * normal/context.c: New file.
22159 * normal/main.c (free_menu): Use grub_env_unset_menu.
22160 (grub_normal_add_menu_entry): Use grub_env_get_menu.
22161 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
22162 (GRUB_MOD_INIT(normal)): Call grub_context_init.
22163 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
22164
8dd35b8c
VS
221652010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22166
22167 setpci support.
22168
22169 * commands/setpci.c: New file.
22170 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
22171 (setpci_mod_SOURCES): New variable.
22172 (setpci_mod_CFLAGS): Likewise.
22173 (setpci_mod_LDFLAGS): Likewise.
22174
449193d5
VS
221752010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22176
22177 Byte-addressable PCI configuration space.
22178
22179 * bus/pci.c (grub_pci_make_address): Use byte address instead of
22180 dword address.
22181 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
22182 GRUB_PCI_REG_CACHELINE.
22183 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
22184 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
22185 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
22186 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
22187 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
22188 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
22189 grub_pci_make_address.
22190 (lock_rom_area): Likewise.
22191 * commands/lspci.c (grub_lspci_iter): Use macroses
22192 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
22193 of grub_pci_make_address.
22194 * disk/ata.c (grub_ata_pciinit): Likewise.
22195 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
22196 (GRUB_PCI_REG_VENDOR): Likewise.
22197 (GRUB_PCI_REG_DEVICE): Likewise.
22198 (GRUB_PCI_REG_COMMAND): Likewise.
22199 (GRUB_PCI_REG_STATUS): Likewise.
22200 (GRUB_PCI_REG_REVISION): Likewise.
22201 (GRUB_PCI_REG_CLASS): Likewise.
22202 (GRUB_PCI_REG_CACHELINE): Likewise.
22203 (GRUB_PCI_REG_LAT_TIMER): Likewise.
22204 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
22205 (GRUB_PCI_REG_BIST): Likewise.
22206 (GRUB_PCI_REG_ADDRESSES): Likewise.
22207 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22208 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22209 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22210 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22211 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22212 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22213 (GRUB_PCI_REG_CIS_POINTER): Likewise.
22214 (GRUB_PCI_REG_SUBVENDOR): Likewise.
22215 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
22216 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
22217 (GRUB_PCI_REG_CAP_POINTER): Likewise.
22218 (GRUB_PCI_REG_IRQ_LINE): Likewise.
22219 (GRUB_PCI_REG_IRQ_PIN): Likewise.
22220 (GRUB_PCI_REG_MIN_GNT): Likewise.
22221 (GRUB_PCI_REG_MAX_LAT): Likewise.
22222 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
22223 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
22224 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 22225 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
22226 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
22227 space.
22228
96d73208
RM
222292010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22230
22231 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
22232 can be reliably determined to be supported.
22233
d4484482
RM
222342010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22235
22236 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
22237 that VESA is supported.
22238 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
22239 supported.
22240
00308ecf
VS
222412010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22242
22243 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
22244
f66924a4
RM
222452010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22246
22247 * util/misc.c (make_system_path_relative_to_its_root): Work around
22248 special-casing of "/", as previous incarnation of this routine did.
22249
cbca0ada
VS
222502010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22251
22252 Fix any-emu compilation.
22253
22254 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
22255 * grub_bin2h_SOURCES: New variable.
22256
34a66d99
RM
222572010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22258
22259 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
22260
94fabf58
RM
222612010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22262
22263 * util/grub.d/00_header.in: Fix handling of locale_dir.
22264
02cf98ca
VS
222652010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22266
22267 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
22268 as possible unifont location (Gentoo).
22269 Reported by: Alexander Brüning
22270
327dbcd7
VS
222712010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22272
22273 Don't try to generate lists for kernel.img.
22274
22275 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
22276 (pkglib_MODULES): Remove kernel.img.
22277 (kernel_img_EXPORTS): Removed.
22278 (kernel_img_RELOCATABLE): New variable.
22279 * conf/x86_64-efi.rmk: Likewise.
22280 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
22281
ca467290
VS
222822010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22283
22284 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
22285 grub_xasprintf or grub_snprintf.
22286 (grub_vsprintf): Likewise.
22287 (grub_snprintf): New proto.
22288 (grub_vsnprintf): Likewise.
22289 (grub_xasprintf): Likewise.
22290 (grub_xvasprintf): Likewise.
22291 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
22292 (grub_sprintf): Removed.
22293 (grub_vsnprintf): New function.
22294 (grub_snprintf): Likewise.
22295 (grub_xvasprintf): Likewise.
22296 (grub_xasprintf): Likewise.
22297 (grub_vsprintf): Renamed to ...
22298 (grub_vsnprintf_real): ...this. New argument max_len.
22299
aca655fd
BC
223002010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
22301
22302 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
22303 fix grub-script-check warning.
22304
7ee92c32
VS
223052010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22306
22307 * include/grub/font.h (grub_font_load): Fix prototype.
22308
f80927ca
VS
223092010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22310
22311 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
22312
119c50ea
VS
223132010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22314
22315 * include/grub/x86_64/at_keyboard.h: New file.
22316
47d5f3c1
VS
223172010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22318
22319 * loader/mips/linux.c: Include missing grub/i18n.h.
22320
55ff5266
RM
223212009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22322
22323 * normal/menu.c (notify_execution_failure): Clarify error message.
22324
c893cc87
RM
223252009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22326
22327 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
22328 return value (and revert all return statements). Update users.
22329
917dd370
CW
223302010-01-20 Dan Merillat <debian@dan.merillat.org>
22331
22332 * kern/device.c (grub_device_iterate): Allocate new part_ent
22333 structure based on sizeof (*p) rather than sizeof (p->next), to
22334 account for structure padding.
22335
22336 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
22337 disk is NULL, which might happen for LVM physical volumes with no
22338 LVM signature.
22339
d4a4ee57
RM
223402009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22341
22342 * loader/mips/linux.c (grub_cmd_initrd)
22343 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
22344
223452009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22346
22347 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
22348 (grub_video_video_init, grub_video_bitmap_init)
22349 (grub_font_manager_init, grub_term_gfxterm_init)
22350 (grub_at_keyboard_init): New extern declarations.
22351 (grub_machine_init): Initialize gfxterm and at_keyboard.
22352
22353 * kern/main.c (grub_main): Revert grub_printf delay kludge.
22354
22355 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
22356 `gfxterm.mod' into core image.
22357
22358 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22359 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22360 (kernel_img_FORMAT): Copy to ...
22361
22362 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22363 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22364 (kernel_img_FORMAT): ... here, and ...
22365
22366 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22367 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22368 (kernel_img_FORMAT): ... here.
22369
22370 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
22371 and input (at_keyboard) terminals in kernel.
22372 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
22373
22374 (pkglib_MODULES): Remove `pci.mod'.
22375 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
22376 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
22377 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
22378 (at_keyboard_mod_LDFLAGS): Remove variables.
22379
223802010-01-11 Felix Zielcke <fzielcke@z-51.de>
22381
22382 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
22383
223842009-12-10 Robert Millan <rmh.grub@aybabtu.com>
22385
22386 * include/grub/mips/libgcc.h: Only export symbols for functions
22387 that libgcc provides.
22388
223892009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
22390
22391 MIPS support.
22392
22393 * bus/bonito.c: New file.
22394 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
22395 GRUB_PCI_NUM_DEVICES.
22396 * term/i386/pc/serial.c: Move to ...
22397 * term/serial.c: ... here. All users updated.
22398 * util/i386/pc/grub-mkimage.c: Move to ...
22399 * util/grub-mkrawimage.c: ... here. All users updated.
22400 * term/i386/pc/at_keyboard.c: Move to ...
22401 * term/at_keyboard.c: ... here. All users updated.
22402 * conf/mips-qemu-mips.rmk: New file.
22403 * conf/mips-yeeloong.rmk: Likewise.
22404 * conf/mips.rmk: Likewise.
22405 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
22406 mipsel-qemu-mips.
22407 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
22408 to port addresses.
22409 (grub_ata_pciinit): Support CS5536.
22410 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
22411 * font/font_cmd.c (loadfont_command): Open file before passing it to
22412 grub_font_load.
22413 (pseudo_file_read): New function.
22414 (pseudo_file_close): Likewise.
22415 (pseudo_fs): New structure.
22416 (load_font_module): New function.
22417 (GRUB_MOD_INIT(font_manager)): Load embedded font.
22418 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
22419 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
22420 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
22421 * include/grub/i386/at_keyboard.h: Split into ...
22422 * include/grub/at_keyboard.h: ... this ...
22423 * include/grub/i386/at_keyboard.h: ... and this.
22424 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
22425 New prototype.
22426 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
22427 updated.
22428 (grub_elf64_size): Likewise.
22429 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
22430 filename.
22431 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
22432 * include/grub/i386/coreboot/serial.h: Rewritten.
22433 * include/grub/i386/ieee1275/serial.h: Include
22434 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
22435 * include/grub/i386/pc/serial.h: Moved from here ...
22436 * include/grub/serial.h: ... to here. All users updated.
22437 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
22438 (GRUB_PCI_NUM_BUS): Likewise.
22439 (GRUB_PCI_NUM_DEVICES): Likewise.
22440 (grub_pci_device_map_range): Add missing volatile keyword.
22441 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
22442 * include/grub/mips/at_keyboard.h: New file.
22443 * include/grub/mips/cache.h: Likewise.
22444 * include/grub/mips/io.h: Likewise.
22445 * include/grub/mips/kernel.h: Likewise.
22446 * include/grub/mips/libgcc.h: Likewise.
22447 * include/grub/mips/pci.h: Likewise.
22448 * include/grub/mips/qemu-mips/boot.h: Likewise.
22449 * include/grub/mips/qemu-mips/kernel.h: Likewise.
22450 * include/grub/mips/qemu-mips/loader.h: Likewise.
22451 * include/grub/mips/qemu-mips/memory.h: Likewise.
22452 * include/grub/mips/qemu-mips/serial.h: Likewise.
22453 * include/grub/mips/qemu-mips/time.h: Likewise.
22454 * include/grub/mips/relocator.h: Likewise.
22455 * include/grub/mips/time.h: Likewise.
22456 * include/grub/mips/types.h: Likewise.
22457 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
22458 * include/grub/mips/yeeloong/boot.h: Likewise.
22459 * include/grub/mips/yeeloong/kernel.h: Likewise.
22460 * include/grub/mips/yeeloong/loader.h: Likewise.
22461 * include/grub/mips/yeeloong/memory.h: Likewise.
22462 * include/grub/mips/yeeloong/pci.h: Likewise.
22463 * include/grub/mips/yeeloong/serial.h: Likewise.
22464 * include/grub/mips/yeeloong/time.h: Likewise.
22465 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
22466 * kern/elf.c (grub_elf32_size): New parameter. All users
22467 updated.
22468 (grub_elf64_size): Likewise.
22469 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
22470 Load modules before saying "Welcome to GRUB!".
22471 Call grub_refresh after saying "Welcome to GRUB!".
22472 * kern/mips/cache.S: New file.
22473 * kern/mips/cache_flush.S: Likewise.
22474 * kern/mips/dl.c: Likewise.
22475 * kern/mips/init.c: Likewise.
22476 * kern/mips/qemu-mips/init.c: Likewise.
22477 * kern/mips/startup.S: Likewise.
22478 * kern/mips/yeeloong/init.c: Likewise.
22479 * kern/term.c (grub_putcode): Handle NULL terminal.
22480 (grub_getcharwidth): Likewise.
22481 (grub_getkey): Likewise.
22482 (grub_checkkey): Likewise.
22483 (grub_getkeystatus): Likewise.
22484 (grub_getxy): Likewise.
22485 (grub_getwh): Likewise.
22486 (grub_gotoxy): Likewise.
22487 (grub_cls): Likewise.
22488 (grub_setcolorstate): Likewise.
22489 (grub_setcolor): Likewise.
22490 (grub_getcolor): Likewise.
22491 (grub_refresh): Likewise.
22492 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
22493 (write_jump): Add hatch nop.
22494 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
22495 * lib/mips/setjmp.S: New file.
22496 * loader/mips/linux.c: Likewise.
22497 * term/i386/pc/at_keyboard.c: Move from here ...
22498 * term/at_keyboard.c: ... to here.
22499 * term/i386/pc/serial.c: Moved from here ...
22500 * term/serial.c: ... to here. All users updated.
22501 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
22502 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
22503 (serial_translate_key_sequence): Avoid deadlock.
22504 (grub_serial_getkey): Handle backspace.
22505 (grub_serial_putchar): Fix newline handling.
22506 * util/i386/pc/grub-mkimage.c: Move from here ...
22507 * util/grub-mkrawimage.c: ... to here. All users updated.
22508 (generate_image): New parameters 'font_path' and 'format'.
22509 Support embedding font.
22510 Use grub_host_to_target* instead of grub_cpu_to_le*.
22511 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
22512 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
22513 (options): New option "--font".
22514 (usage): Likewise.
22515 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
22516 (main): Handle "--font".
22517 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
22518 (grub_virtual_screen_setup): Set bg_color_display.
22519 (redraw_screen_rect): Use bg_color_display instead of incorrect
22520 bg_color.
22521 (grub_gfxterm_cls): Likewise.
22522 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
22523 Support embedding config file.
22524 (add_segments): Likewise.
22525 (options): New option "--config".
22526 (main): Handle "--config".
22527 * video/sm712.c: New file.
22528
25c2b5b3
RM
225292010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22530
22531 Fix parallel builds.
22532
22533 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
22534 font.c depend on ascii.h).
22535
225362010-01-12 Carles Pina i Estany <carles@pina.cat>
22537
22538 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
22539
225402010-01-11 Carles Pina i Estany <carles@pina.cat>
22541
22542 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
22543 By default: disabled.
22544 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
22545 parameter.
22546
225472010-01-10 Carles Pina i Estany <carles@pina.cat>
22548
22549 * font/font.c: Update copyright years.
22550 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
22551
225522010-01-10 Carles Pina i Estany <carles@pina.cat>
22553
22554 * font/font.c: Include `ascii.h'.
22555 (ASCII_BITMAP_SIZE): New macro.
22556 (ascii_font_glyph): Define.
22557 (ascii_glyph_lookup): New function.
22558 (grub_font_get_string_width): Change comment. If glyph not found, use
22559 ascii_glyph_lookup.
22560 (grub_font_get_glyph_with_fallback): If glyph not available returns
22561 ascii_glyph_lookup.
22562 * util/grub-mkfont.c (file_formats): New enum.
22563 (options): Add `ascii-bitmaps' new option.
22564 (usage): Add `asii-bitmaps' new option.
22565 (write_font_ascii_bitmap): New function.
22566 (write_font): Rename to ...
22567 (write_font_p2): ... this. Remove print_glyphs call.
22568 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
22569 used. Call print_glyphs.
22570 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
22571
225722010-01-14 Robert Millan <rmh.grub@aybabtu.com>
22573
22574 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
22575 (grub_bin2h_SOURCES): New variable.
22576 * util/bin2h.c: New file.
22577
915fc1b8
VS
225782010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22579
22580 * include/multiboot.h: Resynced with spec.
22581 * include/multiboot2.h: Likewise.
22582 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
22583 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
22584
9444b678
RM
225852010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22586
22587 * include/grub/term.h (grub_term_register_input,
22588 grub_term_register_output): Check return of terminal init()
22589 routines, and abort if errors are raised.
22590
22591 * commands/terminal.c: Update copyright year.
22592
cba98e8d
RM
225932010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22594
22595 * commands/terminal.c (grub_cmd_terminal_input)
22596 (grub_cmd_terminal_output): Check return of terminal init()
22597 routines, and abort if errors are raised.
22598
6f7db5d6
VS
225992010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
22600
22601 * include/grub/i386/bsd.h: Fix include pathes.
22602
262bff8d
VS
226032010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
22604
22605 Add missing *BSD copyright headers.
22606
22607 * include/grub/aout.h: Add BSD licence.
22608 * include/grub/i386/bsd.h: Parts under different licences moved to ...
22609 * include/grub/i386/freebsd_linker.h: ... here,
22610 * include/grub/i386/freebsd_reboot.h: ... here,
22611 * include/grub/i386/netbsd_bootinfo.h: ... here,
22612 * include/grub/i386/netbsd_reboot.h: ... here,
22613 * include/grub/i386/openbsd_bootarg.h: ... here,
22614 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
22615 licence to each file.
22616
b2cab848
RM
226172010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22618
22619 * acinclude.m4: Remove `nop' assembly instruction; it's not
22620 implemented by all architectures.
22621
2cb6be4b
RM
226222010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22623
22624 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
22625 ELILO. This is no longer necessary.
22626
a2eaee15
BC
226272010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
22628
22629 Added new tool, grub-scrit-check to verify grub.cfg syntax.
22630
22631 * util/grub-script-check.c: grub-script-check tool.
22632 * conf/common.rmk: Make rules for grub-script-check.
22633
88d17012
RM
226342010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22635
22636 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
22637 spotting it back in 2008. Shame on me for forgetting he did.
22638
22639 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
22640
8040619d
RM
226412010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22642
22643 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
22644 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
22645 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
22646 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
22647 (GRUB_VIDEO_TYPE_EFI): Rename to ...
22648 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
22649
a0c2a0f6
RM
226502010-01-17 Robert Millan <rmh.grub@aybabtu.com>
22651
22652 * include/grub/test.h: Add license header.
22653 * tests/example_functional_test.c: Likewise.
22654 * tests/example_unit_test.c: Likewise.
22655 * tests/lib/functional_test.c: Likewise.
22656 * tests/lib/test.c: Likewise.
22657 * tests/lib/unit_test.c: Likewise.
22658
b0b13907
VS
226592010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
22660
22661 Use flag-based instead of hook-based video mode selection and "auto"
22662 keyword.
22663
22664 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
22665 (grub_video_set_mode): Changed prototype. All users updated.
22666 (grub_video_check_mode_flag): New inline function.
22667 * video/video.c (parse_modespec): New function.
22668 (grub_video_set_mode): Parse flags and keywords.
22669
ea379330 226702010-01-17 Carles Pina i Estany <carles@pina.cat>
22671
22672 * util/misc.c (grub_util_info): Fix the order of the parameters in a
22673 fprintf call.
22674
e15c215e
FZ
226752010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
22676
22677 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
22678
409ae1c9 226792010-01-16 Carles Pina i Estany <carles@pina.cat>
22680
22681 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
22682 string.
22683 * util/grub-emu.c (usage): Likewise.
22684 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
22685 * util/i386/efi/grub-mkimage.c (usage): Likewise.
22686 * util/i386/pc/grub-mkimage.c (usage): Likewise.
22687 * util/i386/pc/grub-setup.c (usage): Likewise.
22688
70a14d3d 226892010-01-16 Carles Pina i Estany <carles@pina.cat>
22690
22691 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
22692 the message.
22693 (grub_util_info): Likewise.
22694 (grub_util_error): Likewise.
22695 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
22696 and/or new lines in `grub_util_warna', `grub_util_info',
22697 `grub_util_error' calls.
22698 * util/getroot.c: Likewise.
22699 * util/grub-editenv.c: Likewise.
22700 * util/grub-emu.c: Likewise.
22701 * util/grub-fstest.c: Likewise.
22702 * util/grub-mkdevicemap.c: Likewise.
22703 * util/grub-mkfont.c: Likewise.
22704 * util/grub-mkpasswd-pbkdf2.c: Likewise.
22705 * util/grub-mkrelpath.c: Likewise.
22706 * util/grub-pe2elf.c: Likewise.
22707 * util/grub-probe.c: Likewise.
22708 * util/hostdisk.c: Likewise.
22709 * util/i386/efi/grub-mkimage.c: Likewise.
22710 * util/i386/pc/grub-mkimage.c: Likewise.
22711 * util/i386/pc/grub-setup.c: Likewise.
22712 * util/ieee1275/ofpath.c: Likewise.
22713 * util/mkisofs/eltorito.c: Likewise.
22714 * util/mkisofs/rock.c: Likewise.
22715 * util/mkisofs/write.c: Likewise.
22716 * util/raid.c: Likewise.
22717 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
22718 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22719
a0b766fc
VS
227202010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
22721
22722 Enable multiboot on non-pc.
22723
22724 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
22725 multiboot.mod and multiboot2.mod to ...
22726 * conf/i386.rmk (pkglib_MODULES): ... here.
22727 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
22728 Moved to ...
22729 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
22730 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
22731 Moved to ...
22732 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
22733 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
22734 Moved to ...
22735 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
22736 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
22737 Moved to ...
22738 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
22739 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
22740 relocator.mod.
22741 (ata_mod_SOURCES): Removed.
22742 (ata_mod_CFLAGS): Likewise.
22743 (ata_mod_LDFLAGS): Likewise.
22744 (relocator_mod_SOURCES): Removed.
22745 (relocator_mod_CFLAGS): Likewise.
22746 (relocator_mod_ASFLAGS): Likewise.
22747 (relocator_mod_LDFLAGS): Likewise.
22748 Include i386.mk.
22749 * include/grub/x86_64/multiboot.h: New file.
22750 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
22751 Terminate EFI.
22752
884ade56
VS
227532010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
22754
22755 Video multiboot support.
22756
22757 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
22758 New prototype.
22759 * include/multiboot.h: Resynced with multiboot specification.
22760 * include/multiboot2.h: Likewise.
22761 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
22762 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
22763 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
22764 (HAS_VGA_TEXT): Likewise.
22765 (accepts_video): New variable.
22766 (grub_multiboot_set_accepts_video): New function.
22767 (grub_multiboot_get_mbi_size): Account for video structures.
22768 (set_video_mode): New function.
22769 (retrieve_video_parameters): Likewise.
22770 (grub_multiboot_make_mbi): Fill video fields.
22771
0d90e8a6
VS
227722010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
22773
22774 Video driver ids.
22775
22776 * include/grub/video.h (grub_video_driver_id): New type.
22777 (grub_video_adapter): New member 'id'. All users updated.
22778 (grub_video_get_driver_id): New proto.
22779 * video/video.c (grub_video_get_driver_id): New function.
22780
5c71db1b 227812010-01-14 Carles Pina i Estany <carles@pina.cat>
22782
22783 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
22784 `var=val'.
22785
cca15b52 227862010-01-14 Carles Pina i Estany <carles@pina.cat>
22787
22788 * normal/cmdline.c (print_completion): Gettextizze.
22789
c586fbb2 227902001-01-14 Carles Pina i Estany <carles@pina.cat>
22791
22792 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
22793
ba2f6848 227942010-01-14 Carles Pina i Estany <carles@pina.cat>
22795
22796 * gettext/gettext.c (grub_gettext_translate): Push and pop
22797 grub_errno.
22798 (grub_gettext_delete_list): Change comment style.
22799 * kern/err.c (grub_error): Gettextizze.
22800 (grub_fatal): Gettextizze.
22801
0a46429a
RM
228022010-01-14 Robert Millan <rmh.grub@aybabtu.com>
22803
22804 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
22805 (grub_linux16_real_boot): ... this.
22806 * kern/i386/loader.S: Likewise.
22807 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
22808 (grub_linux16_boot): New function. Switches to text mode and calls
22809 grub_linux16_real_boot().
22810
22811 * loader/i386/bsd.c: Include `<grub/video.h>'.
22812 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
22813 text mode before calling grub_unix_real_boot().
22814
22815 * loader/i386/multiboot.c: Include `<grub/video.h>'.
22816 (grub_multiboot_boot): Switch to text mode before calling
22817 grub_relocator32_boot().
22818
22819 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
22820 (grub_chainloader_boot): Switch to text mode before calling
22821 grub_chainloader_real_boot().
22822
d6f93a66
RM
228232010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
228242010-01-05 Colin Watson <cjwatson@ubuntu.com>
22825
22826 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
22827 non-empty value.
22828
228292010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
228302010-01-05 Colin Watson <cjwatson@ubuntu.com>
22831
22832 * util/grub.d/00_header.in: Define a "savedefault" function for use
22833 in menu entries.
22834 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
22835
228362010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
228372010-01-05 Colin Watson <cjwatson@ubuntu.com>
22838
22839 * util/grub-mkconfig_lib.in (save_default_entry): Only set
22840 saved_entry if boot_once is unset.
22841 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
22842 previous saved entry (i.e. grub-reboot).
22843
228442009-12-08 Colin Watson <cjwatson@ubuntu.com>
22845
22846 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
22847
228482009-12-08 Colin Watson <cjwatson@ubuntu.com>
22849
22850 * util/grub.d/00_header.in: Use `set var=val' rather than plain
22851 `var=val'.
22852 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
22853
228542009-12-08 Colin Watson <cjwatson@ubuntu.com>
22855
22856 * util/grub-reboot.in: Fix --version output.
22857 * util/grub-set-default.in: Likewise.
22858
228592009-12-08 Colin Watson <cjwatson@ubuntu.com>
22860
22861 * util/grub.d/00_header.in: Silently ignore zero-sized environment
22862 blocks.
22863
228642009-12-08 Colin Watson <cjwatson@ubuntu.com>
22865
22866 * util/grub.d/00_header.in: Quote the value assigned to `default',
22867 in case it contains spaces.
22868
228692009-12-08 Colin Watson <cjwatson@ubuntu.com>
22870
22871 * util/grub.d/30_os-prober.in: Fix merge error that moved a
22872 `save_default_entry' call from the macosx case to the linux case.
22873
228742009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
228752009-10-25 Colin Watson <cjwatson@ubuntu.com>
22876
22877 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
22878 in `chosen' environment variable.
22879 * normal/menu_text.c (get_entry_number): Check if the variable
22880 matches the title of a menu entry.
22881 (run_menu): Pass menu to get_entry_number.
22882
22883 * util/grub-reboot.in: New file.
22884 * util/grub-set-default.in: New file.
22885 * conf/common.rmk (grub-reboot): New utility.
22886 (grub-set-default): New utility.
22887
22888 * util/grub-mkconfig_lib.in (save_default_entry): New function.
22889 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
22890 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
22891 move it to `saved_entry' for the next boot. Load environment on
22892 initialisation.
22893 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
22894 * util/grub.d/10_hurd.in: Likewise.
22895 * util/grub.d/10_linux.in (linux_entry): Likewise.
22896 * util/grub.d/10_windows.in: Likewise.
22897 * util/grub.d/30_os-prober.in: Likewise.
22898
22899 * util/grub-install.in: Create environment block.
22900 * util/i386/efi/grub-install.in: Likewise.
22901 * util/ieee1275/grub-install.in: Likewise.
22902 * util/sparc64/ieee1275/grub-install.in: Likewise.
22903
0934d184
BC
229042010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
22905
22906 Unit testing framework for GRUB.
22907
22908 * Makefile.in: Test framework build rules for 'make check'.
22909 * conf/tests.rmk: Build rules for individual tests and framework.
22910
22911 * include/grub/test.h: Header file for whitebox tests.
22912 * tests/lib/functional_test.c: Framework support for whitebox
22913 functional tests.
22914 * tests/lib/test.c: Common whitebox testing code for unit and
22915 functional tests.
22916 * tests/lib/unit_test.c: Framework support for whitebox unit
22917 tests.
22918
22919 * tests/util/grub-shell-tester.in: Support utility for grub-script
22920 tests.
22921 * tests/util/grub-shell.in: Utility to execute grub-script
22922 commands in a Qemu instance.
22923
22924 * tests/example_functional_test.c: Example whitebox functional
22925 test.
22926 * tests/example_grub_script_test.in: Example grub-script test.
22927 * tests/example_scripted_test.in: Example scripted test.
22928 * tests/example_unit_test.c: Example whitebox unit test.
22929
9c4ffeeb
VS
229302010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
22931
22932 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
22933 Add loader/i386/multiboot_mbi.c.
22934 (multiboot2_mod_SOURCES): Likewise.
22935 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
22936 (multiboot2_mod_SOURCES): Likewise.
22937 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
22938 (grub_multiboot_make_mbi): Likewise.
22939 (grub_multiboot_free_mbi): Likewise.
22940 (grub_multiboot_init_mbi): Likewise.
22941 (grub_multiboot_add_module): Likewise.
22942 (grub_multiboot_set_bootdev): Likewise.
22943 * loader/i386/multiboot.c (mbi): Removed.
22944 (mbi_dest): Likewise.
22945 (alloc_mbi): New variable.
22946 (grub_multiboot_payload_size): Removed. All users updated.
22947 (grub_multiboot_pure_size): New variable.
22948 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
22949 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
22950 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
22951 (grub_fill_multiboot_mmap): Likewise.
22952 (grub_multiboot_get_bootdev): Likewise.
22953 (grub_multiboot): Use multiboot_mbi functions.
22954 * loader/i386/multiboot_mbi.c: New file.
22955
17383dfe
VS
229562010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
22957
22958 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
22959 it would result in module crash.
22960
c1f28820
VS
229612010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
22962
22963 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
22964 (grub_ofconsole_getwh): Split to ...
22965 (grub_ofconsole_getwh): ... this.
22966 (grub_ofconsole_dimensions): ...and this.
22967 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
22968
58655a16
RM
229692010-01-13 Robert Millan <rmh.grub@aybabtu.com>
22970
22971 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
22972
10891398
VS
229732010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
22974
22975 * loader/i386/pc/multiboot2.c: Removed stalled file.
22976
0b8a223c
VS
229772010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
22978
22979 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
22980 Reported by: Grégoire Sutre
22981
92ab12b0
RM
229822010-01-11 Robert Millan <rmh.grub@aybabtu.com>
22983
22984 * util/misc.c (canonicalize_file_name): New function.
22985 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
22986 instead of realpath().
22987
a788afb6
CW
229882010-01-11 Colin Watson <cjwatson@ubuntu.com>
22989
22990 * util/grub-install.in (usage): Clarify meaning of --root-directory,
22991 and make it clearer that it's optional. Based on confusion
22992 witnessed on IRC.
22993
ffa8e3d2
VS
229942010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
22995
22996 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
22997 in premature implicit newline.
22998
e9060a9d
VS
229992010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
23000
23001 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
23002 which resulted in garbled command line at the end of screen.
23003
f0d0c0b7
RM
230042010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23005
23006 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
23007 initialization with similar approach as with other Linux loaders.
23008
0e60bae7
RM
230092010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23010
23011 Fix i386-ieee1275 build.
23012
23013 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
23014 and grub_term_height() for video_{width,height} initialization.
23015
230162010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
23017
23018 Fix grub-emu build.
23019
23020 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
23021
cdb3f378
RM
230222010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
230232010-01-09 Robert Millan <rmh.grub@aybabtu.com>
23024
23025 Support for multiple terminals.
23026
23027 * Makefile.in (pkglib_DATA): terminal.lst.
23028 (terminal.lst): New target.
23029 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
23030 (GRUB_MOD_INIT(handler)): Likewise.
23031 (GRUB_MOD_FINI(handler)): Likewise.
23032 * commands/help.c (grub_cmd_help): Handle multiple terminals.
23033 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
23034 * commands/sleep.c (do_print): Use grub_term_restore_pos.
23035 (grub_cmd_sleep): Use grub_term_save_pos.
23036 * commands/terminal.c: New file.
23037 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
23038 commands/terminal.c and lib/charset.c.
23039 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
23040 (pkglib_MODULES): Add terminal.mod.
23041 (terminal_mod_SOURCES): New variable.
23042 (terminal_mod_CFLAGS): Likewise.
23043 (terminal_mod_LDFLAGS): Likewise.
23044 * genhandlerlist.sh: Don't handle terminals.
23045 * genmk.rb: Generate terminal-*.lst.
23046 * genterminallist.sh: New file.
23047 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
23048 (grub_is_valid_utf8): Likewise.
23049 (grub_utf8_to_ucs4_alloc): Likewise.
23050 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
23051 (grub_menu_register_viewer): Changed argument.
23052 (grub_menu_try_text): New proto.
23053 (grub_gfxmenu_try_hook): New declaration.
23054 * include/grub/normal.h (grub_normal_exit_level): New declaration.
23055 (grub_menu_init_page): Additional argument term.
23056 (grub_normal_init_page): Likewise.
23057 (grub_cmdline_get): Arguments simplified.
23058 (grub_utf8_to_ucs4_alloc): Removed.
23059 (grub_print_ucs4): Additional argument term.
23060 (grub_getstringwidth): Likewise.
23061 (grub_print_message_indented): Likewise.
23062 (grub_menu_text_register_instances): New proto.
23063 (grub_show_menu): Likewise.
23064 (read_terminal_list): Likewise.
23065 (grub_set_more): Likewise.
23066 * include/grub/parser.h: Include handler.h.
23067 * include/grub/reader.h: Rewritten.
23068 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
23069 (GRUB_TERM_WIDTH): Changed to function.
23070 (GRUB_TERM_HEIGHT): Likewise.
23071 (GRUB_TERM_BORDER_WIDTH): Likewise.
23072 (GRUB_TERM_BORDER_HEIGHT): Likewise.
23073 (GRUB_TERM_NUM_ENTRIES): Likewise.
23074 (GRUB_TERM_ENTRY_WIDTH): Likewise.
23075 (GRUB_TERM_CURSOR_X): Likewise.
23076 (grub_term_input_class): Likewise.
23077 (grub_term_output_class): Likewise.
23078 (grub_term_outputs_disabled): New declaration.
23079 (grub_term_inputs_disabled): Likewise.
23080 (grub_term_outputs): Likewise.
23081 (grub_term_inputs): Likewise.
23082 (grub_term_register_input): Rewritten.
23083 (grub_term_register_output): Likewise.
23084 (grub_term_unregister_input): Likewise.
23085 (grub_term_unregister_output): Likewise.
23086 (FOR_ACTIVE_TERM_INPUTS): New macro.
23087 (FOR_DISABLED_TERM_INPUTS): Likewise.
23088 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
23089 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
23090 * include/grub/terminfo.h: Add oterm argument to all protypes.
23091 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
23092 Use grub_rescue_run.
23093 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
23094 All users updated.
23095 * kern/reader.c: Removed. All users updated.
23096 * kern/rescue_reader.c (grub_rescue_init): Removed.
23097 (grub_rescue_reader): Likewise.
23098 (grub_register_rescue_reader): Likewise.
23099 (grub_rescue_run): New function based on kern/reader.c.
23100 * kern/term.c: Adapted for multiterm.
23101 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
23102 (grub_is_valid_utf8): Likewise.
23103 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
23104 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
23105 right terminal.
23106 * loader/i386/linux.c (grub_linux_boot): Likewise.
23107 * normal/auth.c (grub_username_get): New function.
23108 (grub_auth_check_authentication): Use grub_username_get.
23109 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
23110 * normal/color.c: Adapt for multiterm.
23111 * normal/main.c (read_config_file): Don't use grub_reader_loop.
23112 (grub_normal_init_page): Additional argument term.
23113 (read_lists): Call read_terminal_lists.
23114 (grub_enter_normal_mode): Call grub_cmdline_run.
23115 Handle grub_normal_exit_level.
23116 (grub_cmd_normal): Make reentrant.
23117 (grub_cmd_normal_exit): New function.
23118 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
23119 * normal/menu.c: Adapt for multiterm.
23120 * normal/menu_entry.c: Likewise.
23121 * normal/menu_text.c: Likewise.
23122 * normal/menu_viewer.c: Removed. All users updated.
23123 * normal/term.c: New file.
23124 * util/console.c: Change order of includes to workaround a bug in
23125 ncurses headers.
23126 * term/terminfo.c: New argument oterm on all exported functions.
23127 All users updated.
23128 * util/grub-editenv.c (grub_term_input_class): Removed.
23129 (grub_term_output_class): Likewise.
23130
1a064917
RM
231312010-01-09 Robert Millan <rmh.grub@aybabtu.com>
23132
23133 Make loader output a bit more user-friendly.
23134
23135 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
23136 is being loaded. Likewise for the Hurd.
23137
23138 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
23139 that kernel of FreeBSD ${version} is being loaded.
23140
23141 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
23142 grub_dprintf().
23143 (grub_cmd_initrd): Likewise.
23144 * util/grub.d/10_linux.in (linux_entry): Print message indicating
23145 that Linux ${version} is being loaded. Likewise for initrd.
23146
5ce0a83a 231472010-01-09 Carles Pina i Estany <carles@pina.cat>
23148
23149 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
23150
809bbfeb 231512010-01-08 Carles Pina i Estany <carles@pina.cat>
23152
23153 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
23154 (GRUB_MOD_INIT): Gettextizze.
23155 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
23156 (GRUB_MOD_INIT): Gettextizze.
23157 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
23158 (grub_cmd_linux): Capitalise Linux.
23159 (GRUB_MOD_INIT): Gettextizze.
23160 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
23161 (grub_cmd_linux): Capitalise Linux.
23162 (GRUB_MOD_INIT): Gettextizze.
23163 * loader/i386/linux.c: Include `<grub/i18n.h>'.
23164 (grub_cmd_linux): Capitalise Linux.
23165 (GRUB_MOD_INIT): Gettextizze.
23166 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
23167 (GRUB_MOD_INIT): Gettextizze.
23168 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
23169 (grub_cmd_linux): Capitalise Linux.
23170 (GRUB_MOD_INIT): Gettextizze.
23171 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
23172 (grub_cpu_xnu_init): Gettextizze.
23173 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
23174 (GRUB_MOD_INIT): Gettextizze.
23175 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
23176 (GRUB_MOD_INIT): Gettextizze.
23177 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
23178 (grub_linux_load64): Capitalise Linux.
23179 (GRUB_MOD_INIT): Gettextizze.
23180 * loader/xnu.c: Include `<grub/i18n.h>'.
23181 (GRUB_MOD_INIT): Gettextizze.
23182 * po/POTFILES: Add `loader/efi/appleloader.c',
23183 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
23184 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
23185 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
23186 `loader/i386/xnu.c', `loader/multiboot_loader.c',
23187 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
23188 and `loader/xnu.c'.
23189
b394b2ca
RM
231902010-01-08 Robert Millan <rmh.grub@aybabtu.com>
23191
23192 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
23193
231942010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
23195
23196 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
23197 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
23198 * util/mkisofs/mkisofs.c (main): Readjust --version output.
23199
bc8b32b3
RM
232002010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23201
23202 Reset Multiboot 2 support. New loader implements the draft in
23203 /branches/multiboot2 and shares as much code as possible with the
23204 production Multiboot 1 implementation.
23205
23206 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
23207 * loader/multiboot2.c: Likewise.
23208 * loader/i386/multiboot_helper.S: Likewise.
23209 * include/multiboot2.h: Replace with latest version from the draft
23210 in /branches/multiboot2.
23211
23212 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
23213 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
23214 and `loader/multiboot2.c'.
23215 (pkglib_MODULES): Add `multiboot2.mod'.
23216 (multiboot2_mod_SOURCES): New variable.
23217 (multiboot2_mod_LDFLAGS): Likewise.
23218 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
23219
23220 * conf/i386-pc.rmk: Likewise.
23221
23222 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
23223 (multiboot_mod_SOURCES): Remove variable.
23224 (multiboot_mod_LDFLAGS): Likewise.
23225 (multiboot_mod_CFLAGS): Likewise.
23226
23227 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
23228 `<multiboot2.h>' instead of `<multiboot.h>'.
23229 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
23230 (MULTIBOOT_HEADER_MAGIC): New macros.
23231
23232 * loader/multiboot_loader.c (module_version_status): Remove variable.
23233 (find_multi_boot2_header): Remove function.
23234 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
23235 logic. Always check for the Multiboot version we're compiling for.
23236 (grub_cmd_module_loader): Likewise.
23237 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
23238 command instead of `multiboot'.
23239
5d2c52b8
RM
232402010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23241
23242 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
23243 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
23244 all users.
23245
53108d92
RM
232462010-01-07 Robert Millan <rmh.grub@aybabtu.com>
232472010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23248
23249 Fix breakage introduced with previous commit.
23250
23251 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
23252 commands.
23253 * normal/handler.c (read_handler_list): Revert part of previous commit
23254 affecting this file.
23255 * normal/main.c (read_lists): Move read_handler_list() call back to ...
23256 (grub_normal_execute): ... here.
23257
e2e936b2
RM
232582010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23259
23260 Merge prefix-redefinition-fix branch.
23261
23262 * normal/autofs.c (read_fs_list): Make function capable of being
23263 run multiple times, gracefuly replacing the previous data
23264 structures.
23265 * normal/dyncmd.c (read_command_list): Likewise.
23266 * normal/handler.c (read_handler_list): Likewise.
23267 * normal/main.c (read_lists): New function. Calls all the
23268 list reading functions.
23269 (grub_normal_execute): Use read_lists() instead of calling all
23270 list reading functions explicitly. Register read_lists() as a
23271 variable hook attached to ${prefix}.
23272
607a3701
VS
232732010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23274
23275 Merge crypto branch.
23276
23277 * Makefile.in (pkglib_DATA): Add crypto.lst.
23278 (crypto.lst): New target.
23279 * commands/hashsum.c: New file.
23280 * commands/password.c (check_password): Use grub_crypto_memcmp.
23281 * commands/password_pbkdf2.c: New file.
23282 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
23283 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
23284 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
23285 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
23286 -I$(srcdir)/lib/libgcrypt_wrap.
23287 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
23288 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
23289 password_pbkdf2.mod.
23290 (crypto_mod_SOURCES): New variable.
23291 (crypto_mod_CFLAGS): Likewise.
23292 (crypto_mod_LDFLAGS): Likewise.
23293 (hashsum_mod_SOURCES): New variable.
23294 (hashsum_mod_CFLAGS): Likewise.
23295 (hashsum_mod_LDFLAGS): Likewise.
23296 (pbkdf2_mod_SOURCES): New variable.
23297 (pbkdf2_mod_CFLAGS): Likewise.
23298 (pbkdf2_mod_LDFLAGS): Likewise.
23299 (password_pbkdf2_mod_SOURCES): New variable.
23300 (password_pbkdf2_mod_CFLAGS): Likewise.
23301 (password_pbkdf2_mod_LDFLAGS): Likewise.
23302 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
23303 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
23304 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
23305 Include conf/gcry.rmk.
23306 * include/grub/auth.h: Rewritten.
23307 * include/grub/crypto.h: New file.
23308 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
23309 * include/grub/normal.h (read_crypto_list): New prototype.
23310 * lib/crypto.c: New file.
23311 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
23312 * lib/pbkdf2.c: Likewise.
23313 * normal/auth.c (grub_auth_strcmp): Removed.
23314 (grub_iswordseparator): Likewise.
23315 (grub_auth_strword): Likewise.
23316 (is_authenticated): Use grub_strword.
23317 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
23318 and grub_strword. Pass entered password to authentication callback.
23319 * normal/crypto.c: New file.
23320 * normal/main.c: Call read_crypto_list.
23321 * util/grub-mkpasswd-pbkdf2.c: New file.
23322 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
23323
42841caa
VS
233242010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
23325
23326 Fix descent and ascent calculation.
23327
23328 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
23329 (options): New option "asce".
23330 (usage): Likewise.
23331 (add_char): Ignore invalid glyphs for descent calculation.
23332 Calculate ascent from actual content.
23333 (print_glyphs): Use 'asce'.
23334 (write_font): Likewise. Allow ascent override.
23335 (main): Handle "asce" option.
23336
e7730de7 233372010-01-06 Carles Pina i Estany <carles@pina.cat>
23338
23339 * kern/err.c: Include `<grub/i18n.h>'.
23340 (grub_print_error): Add full stop. Gettextizze.
23341 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
23342 (grub_bsd_load_elf): Capitalise ELF.
23343 (grub_cmd_freebsd_loadenv): Add `s' in error string.
23344 (grub_cmd_freebsd_module): Likewise.
23345 (grub_cmd_freebsd_module_elf): Likewise.
23346 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
23347
40e3a41f 233482010-01-06 Carles Pina i Estany <carles@pina.cat>
23349
23350 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
23351 * commands/search_file.c (HELP_MESSAGE): New macro.
23352 * commands/search_label.c (HELP_MESSAGE): Likewise.
23353 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
23354 * po/POTFILES: Add `commands/search_file.c',
23355 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
23356 `commands/search.c'.
23357
83507e68
RM
233582010-01-05 Robert Millan <rmh.grub@aybabtu.com>
23359
23360 * config.rpath: Update from Gnulib.
23361
465c787b
YB
233622010-01-05 Yves Blusseau <blusseau@zetam.org>
23363
23364 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
23365
6581dd3a
YB
233662010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
23367
23368 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
23369
3bff18c5
CW
233702010-01-05 Colin Watson <cjwatson@ubuntu.com>
23371
23372 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
23373 arguments to fread so that we get a return value in bytes, rather
23374 than something that will normally be rounded down to 0.
23375 Adjust error handling to avoid producing garbage when size_t is not
23376 the same size as long long.
23377
a1368118
CW
233782010-01-05 Colin Watson <cjwatson@ubuntu.com>
23379
23380 * util/mkisofs/write.c (padblock_write): Check return value of
23381 fread.
23382
7c302978
RM
233832010-01-05 Robert Millan <rmh.grub@aybabtu.com>
23384
23385 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
23386 floppy images now.
23387
23388 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
23389
e33ace06
RM
233902010-01-04 Robert Millan <rmh.grub@aybabtu.com>
23391
23392 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
23393 instead of manual alignment.
23394 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
23395 verbose). Avoid attempts to read past end of the device
23396 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
23397 but GRUB_DISK_CACHE_SIZE may exceed that).
23398
4b856776
RM
233992010-01-04 Robert Millan <rmh.grub@aybabtu.com>
23400
23401 * commands/crc.c (grub_cmd_crc): Abort on read errors.
23402 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
23403 it to upper layer.
23404
52c2d97f
VS
234052010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
23406
23407 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
23408 New constant.
23409 (grub_efi_piwg_device_path): New structure
23410 (grub_efi_piwg_device_path_t): New type.
23411 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
23412 (devpath_1): Transform to a structure. All users updated.
23413 (devpath_2): Likewise.
23414 (devpath_3): Likewise.
23415 (devpath_4): Likewise.
23416 (devpath_5): Likewise.
23417
98ff6a54
VS
234182010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
23419
23420 * loader/efi/appleloader.c: Restored. Update all users.
23421
3a73dcb6
RM
234222010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23423
23424 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
23425
23426 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
23427 (struct boot_blocklist): Move from here ...
23428 * include/grub/i386/pc/boot.h [ASM_FILE]
23429 (struct grub_boot_blocklist): ... to here. Update all users.
23430 (setup): Only initialize `start' member of `first_block'
23431 structure. Add assert() calls to verify the other members.
23432
23433 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
23434 (generate_image): Fix broken blocklist length initialization.
23435 Add assert() call to verify blocklist `segment' field.
23436
ab0eeb0c
RM
234372010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23438
23439 * loader/efi/appleloader.c: Remove. Update all users.
23440
58bc8bd5
RM
234412010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23442
23443 * boot/i386/pc/boot.S: Update copyright year.
23444 * boot/i386/pc/cdboot.S: Likewise.
23445 * boot/i386/pc/diskboot.S: Likewise.
23446 * boot/i386/pc/lnxboot.S: Likewise.
23447 * boot/i386/pc/pxeboot.S: Likewise.
23448 * bus/pci.c: Likewise.
23449 * commands/cmp.c: Likewise.
23450 * commands/help.c: Likewise.
23451 * commands/hexdump.c: Likewise.
23452 * commands/i386/pc/halt.c: Likewise.
23453 * commands/i386/pc/play.c: Likewise.
23454 * commands/i386/pc/vbeinfo.c: Likewise.
23455 * commands/ls.c: Likewise.
23456 * commands/test.c: Likewise.
23457 * disk/dmraid_nvidia.c: Likewise.
23458 * disk/i386/pc/biosdisk.c: Likewise.
23459 * disk/ieee1275/nand.c: Likewise.
23460 * disk/ieee1275/ofdisk.c: Likewise.
23461 * disk/lvm.c: Likewise.
23462 * disk/raid.c: Likewise.
23463 * disk/raid6_recover.c: Likewise.
23464 * disk/scsi.c: Likewise.
23465 * fs/affs.c: Likewise.
23466 * fs/cpio.c: Likewise.
23467 * fs/ext2.c: Likewise.
23468 * fs/hfs.c: Likewise.
23469 * fs/iso9660.c: Likewise.
23470 * fs/ntfs.c: Likewise.
23471 * fs/sfs.c: Likewise.
23472 * fs/udf.c: Likewise.
23473 * fs/ufs.c: Likewise.
23474 * fs/xfs.c: Likewise.
23475 * gencmdlist.sh: Likewise.
23476 * genmk.rb: Likewise.
23477 * include/grub/disk.h: Likewise.
23478 * include/grub/efi/api.h: Likewise.
23479 * include/grub/efi/efi.h: Likewise.
23480 * include/grub/efi/pe32.h: Likewise.
23481 * include/grub/elf.h: Likewise.
23482 * include/grub/fs.h: Likewise.
23483 * include/grub/i386/at_keyboard.h: Likewise.
23484 * include/grub/i386/pc/memory.h: Likewise.
23485 * include/grub/i386/pc/vbe.h: Likewise.
23486 * include/grub/i386/pci.h: Likewise.
23487 * include/grub/i386/tsc.h: Likewise.
23488 * include/grub/ieee1275/ieee1275.h: Likewise.
23489 * include/grub/ntfs.h: Likewise.
23490 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
23491 * include/grub/sparc64/libgcc.h: Likewise.
23492 * include/grub/symbol.h: Likewise.
23493 * include/grub/types.h: Likewise.
23494 * include/multiboot2.h: Likewise.
23495 * io/gzio.c: Likewise.
23496 * kern/device.c: Likewise.
23497 * kern/disk.c: Likewise.
23498 * kern/efi/efi.c: Likewise.
23499 * kern/efi/mm.c: Likewise.
23500 * kern/elf.c: Likewise.
23501 * kern/file.c: Likewise.
23502 * kern/i386/dl.c: Likewise.
23503 * kern/i386/pc/init.c: Likewise.
23504 * kern/i386/pc/startup.S: Likewise.
23505 * kern/ieee1275/ieee1275.c: Likewise.
23506 * kern/ieee1275/init.c: Likewise.
23507 * kern/main.c: Likewise.
23508 * kern/mm.c: Likewise.
23509 * kern/powerpc/dl.c: Likewise.
23510 * kern/sparc64/dl.c: Likewise.
23511 * kern/x86_64/dl.c: Likewise.
23512 * lib/hexdump.c: Likewise.
23513 * loader/efi/appleloader.c: Likewise.
23514 * loader/i386/ieee1275/linux.c: Likewise.
23515 * loader/i386/pc/chainloader.c: Likewise.
23516 * loader/i386/pc/linux.c: Likewise.
23517 * loader/i386/pc/multiboot2.c: Likewise.
23518 * loader/ieee1275/multiboot2.c: Likewise.
23519 * loader/multiboot2.c: Likewise.
23520 * loader/multiboot_loader.c: Likewise.
23521 * loader/powerpc/ieee1275/linux.c: Likewise.
23522 * normal/completion.c: Likewise.
23523 * normal/menu_entry.c: Likewise.
23524 * partmap/apple.c: Likewise.
23525 * util/grub.d/10_hurd.in: Likewise.
23526 * util/hostfs.c: Likewise.
23527 * video/readers/png.c: Likewise.
23528
e2d70b5c
CW
235292010-01-03 Colin Watson <cjwatson@ubuntu.com>
23530
23531 * include/grub/misc.h (GNUC_PREREQ): New macro.
23532 (ATTRIBUTE_ERROR): New macro.
23533 * include/grub/list.h (grub_bad_type_cast_real): Use
23534 ATTRIBUTE_ERROR.
23535
a173283f 235362010-01-03 Carles Pina i Estany <carles@pina.cat>
23537
23538 * normal/menu_text.c (print_message): Change messages.
23539
7fa7ff74 235402010-01-03 Carles Pina i Estany <carles@pina.cat>
23541
23542 * normal/menu_entry.c (store_completion): Gettextizze.
23543
136d24f6 235442010-01-03 Carles Pina i Estany <carles@pina.cat>
23545
23546 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
23547
f936862e 235482010-01-03 Carles Pina i Estany <carles@pina.cat>
23549
23550 * po/POTFILES: Sort correctly.
23551
29c44ad1 235522010-01-03 Carles Pina i Estany <carles@pina.cat>
23553
23554 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
23555 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
23556 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
23557 full stop.
23558 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
23559 summary. Gettextizze the strings.
23560 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
23561 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
23562 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
23563 full stop.
23564 (GRUB_MOD_INIT): Remove command name from summary.
23565 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
23566 summary.
23567 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
23568 * term/i386/pc/serial.c (options): Add full stops.
23569 (GRUB_MOD_INIT): Remove command name from the summary.
23570
77a79592 235712010-01-03 Carles Pina i Estany <carles@pina.cat>
23572
23573 * commands/acpi.c: Gettextizze help strings and/or options. Include
23574 `grub/i18n.h' if needed.
23575 * commands/blocklist.c: Likewise.
23576 * commands/boot.c: Likewise.
23577 * commands/cat.c: Likewise.
23578 * commands/cmp.c: Likewise.
23579 * commands/configfile.c: Likewise.
23580 * commands/crc.c: Likewise.
23581 * commands/date.c: Likewise.
23582 * commands/echo.c: Likewise.
23583 * commands/efi/fixvideo.c: Likewise.
23584 * commands/efi/loadbios.c: Likewise.
23585 * commands/gptsync.c: Likewise.
23586 * commands/halt.c: Likewise.
23587 * commands/handler.c: Likewise.
23588 * commands/hdparm.c: Likewise.
23589 * commands/hexdump.c: Likewise.
23590 * commands/i386/cpuid.c: Likewise.
23591 * commands/i386/pc/drivemap.c: Likewise.
23592 * commands/i386/pc/halt.c: Likewise.
23593 * commands/i386/pc/pxecmd.c: Likewise.
23594 * commands/i386/pc/vbeinfo.c: Likewise.
23595 * commands/i386/pc/vbetest.c: Likewise.
23596 * commands/ieee1275/suspend.c: Likewise.
23597 * commands/keystatus.c: Likewise.
23598 * commands/loadenv.c: Likewise.
23599 * commands/ls.c: Likewise.
23600 * commands/lsmmap.c: Likewise.
23601 * commands/lspci.c: Likewise.
23602 * commands/memrw.c: Likewise.
23603 * commands/minicmd.c: Likewise.
23604 * commands/parttool.c: Likewise.
23605 * commands/password.c: Likewise.
23606 * commands/probe.c: Likewise.
23607 * commands/read.c: Likewise.
23608 * commands/reboot.c: Likewise.
23609 * commands/search.c: Likewise.
23610 * commands/sleep.c: Likewise.
23611 * commands/test.c: Likewise.
23612 * commands/true.c: Likewise.
23613 * commands/usbtest.c: Likewise.
23614 * commands/videotest.c: Likewise.
23615 * commands/xnu_uuid.c: Likewise.
23616 * disk/loopback.c: Likewise.
23617 * hello/hello.c: Likewise.
23618 * loader/i386/bsd.c: Likewise.
23619 * term/i386/pc/serial.c: Likewise.
23620 * po/POTFILES: Add new files.
23621
da8d5c53
CW
236222010-01-02 Colin Watson <cjwatson@ubuntu.com>
23623
23624 * term/i386/pc/at_keyboard.c
23625 (keyboard_controller_wait_untill_ready): Rename to ...
23626 (keyboard_controller_wait_until_ready): ... this. Update all users.
23627
33937904 236282010-01-01 Carles Pina i Estany <carles@pina.cat>
23629
23630 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
23631 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
23632 string using string width.
23633 * normal/menu_text.c (grub_print_message_indented): Use
23634 grub_print_spaces and not print_spaces.
23635 (print_timeout): Likewise.
23636 (print_spaces): Move to...
23637 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
23638
3fd3b8d8
RM
236392010-01-01 Robert Millan <rmh.grub@aybabtu.com>
23640
23641 Import from Gnulib.
23642
23643 * gnulib/getdelim.c: New file.
23644 * gnulib/getline.c: Likewise.
23645
33433555
VS
236462009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
23647
23648 * include/grub/list.h (grub_assert_fail): Removed.
23649 (grub_bad_type_cast_real): New function.
23650 (grub_bad_type_cast): New macro.
23651 (GRUB_AS_LIST): Use grub_bad_type_cast.
23652 (GRUB_AS_LIST_P): Likewise.
e44721e8 23653 (GRUB_AS_NAMED_LIST): Likewise.
33433555 23654 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 23655 (GRUB_AS_PRIO_LIST): Likewise.
33433555 23656 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 23657 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 23658
f5a51306
VS
236592009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
23660
23661 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
23662 Fix syntax error.
23663
90d1e879
RM
236642009-12-29 Robert Millan <rmh.grub@aybabtu.com>
23665
23666 * configure.ac: Check for TARGET_CFLAGS initialization before we
23667 initialize it ourselves (sigh).
23668 Move a few modifications to TARGET_CFLAGS to be unconditional
23669 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
23670 eh_frame)
23671
23672 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
23673 * term/i386/pc/at_keyboard.c
23674 (keyboard_controller_wait_untill_ready): Likewise.
23675 (keyboard_controller_led): Rename `led_status' paramter to avoid
23676 name conflict.
23677
465b5a81 236782009-12-28 Carles Pina i Estany <carles@pina.cat>
23679
23680 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
23681 quotes.
23682
c181849b
VS
236832009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
23684
23685 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
23686
9c8739a4
VS
236872009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
23688
23689 * normal/menu_text.c (grub_print_message_indented): Prevent
23690 past-the-end-of-array dereference.
23691
3e74249c
VS
236922009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
23693
23694 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
23695 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
23696
64fd18ed 236972009-12-27 Carles Pina i Estany <carles@pina.cat>
23698
23699 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
23700 * normal/main.c (grub_normal_read_line): Remove a space from the
23701 default prompt.
23702
714af9b9 237032009-12-27 Carles Pina i Estany <carles@pina.cat>
23704
23705 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
23706 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23707 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
23708 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
23709 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23710 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23711 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
23712
82f3e412 237132009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 23714
23715 * video/readers/jpeg.c (cmd): Declare.
23716 (grub_cmd_jpegtest): Use `grub_command_t' type.
23717 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
23718 Assign to `cmd'.
23719 (GRUB_MOD_FINI): Use `cmd' to unregister.
23720 * video/readers/png.c (cmd): Declare.
23721 (grub_cmd_pngtest): Use `grub_command_t' type.
23722 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
23723 Assign to `cmd'.
23724 (GRUB_MOD_FINI): Use `cmd' to unregister.
23725 * video/readers/tga.c (cmd): Declare.
23726 (grub_cmd_tgatest): Use `grub_command_t' type.
23727 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
23728 Assign to `cmd'.
23729 (GRUB_MOD_FINI): Use `cmd' to unregister.
23730
82f3e412 237312009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 23732
23733 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
23734 stops.
23735 * kern/corecmd.c (grub_register_core_commands): Likewise.
23736 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
23737 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
23738 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
23739 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23740 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
23741 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
23742 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
23743 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
23744 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23745 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23746 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
23747 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
23748 * normal/handler.c (insert_handler): Likewise.
23749 * normal/main.c (GRUB_MOD_INIT): Likewise.
23750 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
23751
fdcdbb66 237522009-12-26 Carles Pina i Estany <carles@pina.cat>
23753
23754 * commands/help.c (grub_cmd_help): Print the command name before the
23755 summary.
23756 (GRUB_MOD_INIT): Remove command name from the summary.
23757 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 23758 string as summary.
fdcdbb66 23759 * lib/arg.c (find_long): Print the command name before the summary.
23760 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
23761 summary.
23762 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
23763 * commands/cat.c (GRUB_MOD_INIT): Likewise.
23764 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
23765 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
23766 * commands/crc.c (GRUB_MOD_INIT): Likewise.
23767 * commands/date.c (GRUB_MOD_INIT): Likewise.
23768 * commands/echo.c (GRUB_MOD_INIT): Likewise.
23769 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
23770 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
23771 * commands/handler.c (GRUB_MOD_INIT): Likewise.
23772 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
23773 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
23774 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
23775 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
23776 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
23777 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
23778 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
23779 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
23780 * commands/ls.c (GRUB_MOD_INIT): Likewise.
23781 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
23782 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
23783 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
23784 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
23785 * commands/password.c (GRUB_MOD_INIT): Likewise.
23786 * commands/probe.c (GRUB_MOD_INIT): Likewise.
23787 * commands/read.c (GRUB_MOD_INIT): Likewise.
23788 * commands/search.c (GRUB_MOD_INIT): Likewise.
23789 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
23790 * commands/test.c (GRUB_MOD_INIT): Likewise.
23791 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
23792 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
23793 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
23794 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
23795 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
23796 * lib/arg.c (GRUB_MOD_INIT): Likewise.
23797 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
23798 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
23799 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
23800 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
23801 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
23802 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
23803 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
23804 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
23805
9c288be2
VS
238062009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
23807
23808 Use search command for preliminar UUID search.
23809
23810 * commands/search.c: Split into ...
23811 * commands/search_wrap.c: ...this
23812 * commands/search.c: ...and this.
23813 * commands/search_file.c: New file.
23814 * commands/search_label.c: New file.
23815 * commands/search_uuid.c: New file.
23816 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
23817 Add commands/search_wrap.c, commands/search_file.c,
23818 commands/search_label.c and commands/search_uuid.c.
23819 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
23820 (search_mod_SOURCES): Set to commands/search_wrap.c.
23821 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
23822 search_label.mod.
23823 (search_fs_file_mod_SOURCES): New variable.
23824 (search_fs_file_mod_CFLAGS): Likewise.
23825 (search_fs_file_mod_LDFLAGS): Likewise.
23826 (search_label_mod_SOURCES): Likewise.
23827 (search_label_mod_CFLAGS): Likewise.
23828 (search_label_mod_LDFLAGS): Likewise.
23829 (search_fs_uuid_mod_SOURCES): New variable.
23830 (search_fs_uuid_mod_CFLAGS): Likewise.
23831 (search_fs_uuid_mod_LDFLAGS): Likewise.
23832 (fs_file_mod_SOURCES): Removed.
23833 (fs_file_mod_CFLAGS): Likewise.
23834 (fs_file_mod_LDFLAGS): Likewise.
23835 (fs_uuid_mod_SOURCES): Removed.
23836 (fs_uuid_mod_CFLAGS): Likewise.
23837 (fs_uuid_mod_LDFLAGS): Likewise.
23838 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
23839 Set to util/grub-install.in.
23840 * disk/fs_file.c: Removed.
23841 * disk/fs_uuid.c: Likewise.
23842 * include/grub/search.h: New file.
23843 * util/grub-install.in: Handle sparc64.
23844 Create and use load.cfg.
23845 * util/sparc64/ieee1275/grub-install.in: Removed.
23846
db943399
VS
238472009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
23848
23849 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
23850 Ignore return status if CF is cleared.
23851 (grub_biosdisk_get_diskinfo_standard): Likewise.
23852
3fdae612
RM
238532009-12-25 Robert Millan <rmh.grub@aybabtu.com>
23854
23855 * term/i386/pc/at_keyboard.c
23856 (keyboard_controller_wait_untill_ready): New function.
23857 (grub_keyboard_controller_write, grub_keyboard_controller_read)
23858 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
23859 for keyboard polling, rather than duplicate the same loop. This
23860 saves a few bytes in code size.
23861
7ebaa2b4
VS
238622009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
23863
23864 Support for (pxe[:server[:gateway]]) syntax and
23865 use environment variable for PXE.
23866
23867 * commands/i386/pc/pxecmd.c (options): Removed.
23868 (print_ip): Removed.
23869 (grub_cmd_pxe): Removed
23870 (grub_cmd_pxe_unload): New function.
23871 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
23872 (grub_pxe_your_ip): Made static.
23873 (grub_pxe_default_server_ip): Likewise.
23874 (grub_pxe_default_gateway_ip): Likewise.
23875 (grub_pxe_blksize): Likewise.
23876 (parse_ip): New function.
23877 (grub_pxe_open): Support server and gateway specification.
23878 (grub_pxe_close): Free disk->data.
23879 (grub_pxefs_open): Use disk->data.
23880 (grub_pxefs_read): Likewise.
23881 (grub_env_write_readonly): New function.
23882 (set_mac_env): Likewise.
23883 (set_env_limn_ro): Likewise.
23884 (parse_dhcp_vendor): Likewise.
23885 (grub_pxe_detect): Set the environment variables.
23886 (set_ip_env): New function.
23887 (write_ip_env): Likewise.
23888 (grub_env_write_pxe_default_server): Likewise.
23889 (grub_env_write_pxe_default_gateway): Likewise.
23890 (grub_env_write_pxe_blocksize): Likewise.
23891 (GRUB_MOD_INIT(pxe)): Set environment variables.
23892 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
23893 (grub_pxe_mac_addr_t): ... this. All users updated.
23894 (grub_pxe_your_ip): Removed.
23895 (grub_pxe_server_ip): Likewise.
23896 (grub_pxe_gateway_ip): Likewise.
23897 (grub_pxe_blksize): Likewise.
23898
ec5f98ab 238992009-12-25 Carles Pina i Estany <carles@pina.cat>
23900
23901 * commands/help.c: Include `<grub/i18n.h>'.
23902 (grub_cmd_help): Gettextizze.
23903 (GRUB_MOD_INIT): Likewise.
23904 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
23905 (GRUB_MOD_INIT): Gettextizze.
23906 * commands/search.c: Include `<grub/i18n.h>'.
23907 (options): Gettextizze.
23908 (GRUB_MOD_INIT): Gettextizze.
23909 * lib/arg.c: Include `<grub/i18n.h>'.
23910 (help_options): Gettextizze.
23911 (find_long): Likewise.
23912 (grub_arg_show_help): Likewise.
23913 * normal/dyncmd.c: Include `<grub/i18n.h>'.
23914 (read_command_list): Gettextizze.
23915 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 23916 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 23917
22815526
RM
239182009-12-25 Robert Millan <rmh.grub@aybabtu.com>
23919
23920 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
23921 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
23922 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
23923 (led_status): New variable.
23924 (keyboard_controller_led): New function.
23925 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
23926 update led status for caps lock, num lock and scroll lock.
23927
0ad46fd7
FZ
239282009-12-25 Felix Zielcke <fzielcke@z-51.de>
23929
23930 * util/hostdisk.c (open_device): Fix a comment.
23931
d0e158c2
RM
239322009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23933
23934 * util/grub-install.in (host_os): New variable.
23935 * util/i386/efi/grub-install.in (host_os): Likewise.
23936
401c0ad6
RM
239372009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23938
23939 * util/mkisofs/write.c (padblock_write): Abort when given an
23940 excedingly large embed image, instead of silently truncating it.
23941
d14d3370
RM
239422009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23943
23944 * include/multiboot.h: Indentation fixes.
23945
eeed10b4
RM
239462009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23947
23948 * include/multiboot.h (struct multiboot_aout_symbol_table)
23949 (struct multiboot_elf_section_header_table): New structure
23950 declarations (stolen from GRUB Legacy).
23951 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
23952 table information.
23953
23954 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
23955 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
23956 type aliases.
23957
681c70ab
RM
239582009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23959
23960 * include/multiboot.h: Make comments src2texi-friendly.
23961
e4d47d8d
RM
239622009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23963
23964 For consistency with [multiboot]/docs/boot.S.
23965
23966 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
23967 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
23968 (MULTIBOOT_MAGIC2): Rename from this ...
23969 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
23970
a0b70bda
RM
239712009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23972
23973 * include/multiboot.h: Remove `<grub/types.h>'.
23974 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
23975 types. Update all users.
23976
61ba42be 239772009-12-25 Carles Pina i Estany <carles@pina.cat>
23978
23979 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
23980 `couldn't' and `can not' by `cannot'.
23981 * commands/i386/pc/drivemap.c: Likewise.
23982 * disk/ata.c: Likewise.
23983 * disk/ieee1275/nand.c: Likewise.
23984 * fs/affs.c: Likewise.
23985 * fs/fat.c: Likewise.
23986 * fs/hfs.c: Likewise.
23987 * fs/hfsplus.c: Likewise.
23988 * fs/iso9660.c: Likewise.
23989 * fs/jfs.c: Likewise.
23990 * fs/minix.c: Likewise.
23991 * fs/reiserfs.c: Likewise.
23992 * fs/sfs.c: Likewise.
23993 * fs/udf.c: Likewise.
23994 * fs/ufs.c: Likewise.
23995 * fs/xfs.c: Likewise.
23996 * loader/powerpc/ieee1275/linux.c: Likewise.
23997 * loader/sparc64/ieee1275/linux.c: Likewise.
23998 * util/grub-probe.c: Likewise.
23999 * util/misc.c: Likewise.
24000
7fd0baee 240012009-12-24 Carles Pina i Estany <carles@pina.cat>
24002
24003 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
24004 grub_errno calls.
24005 * commands/acpi.c: Likewise.
24006 * commands/blocklist.c: Likewise.
24007 * commands/efi/loadbios.c: Likewise.
24008 * commands/i386/pc/drivemap.c: Likewise.
24009 * commands/loadenv.c: Likewise.
24010 * commands/memrw.c: Likewise.
24011 * commands/password.c: Likewise.
24012 * commands/videotest.c: Likewise.
24013 * disk/ata.c: Likewise.
24014 * disk/ata_pthru.c: Likewise.
24015 * disk/dmraid_nvidia.c: Likewise.
24016 * disk/ieee1275/nand.c: Likewise.
24017 * disk/ieee1275/ofdisk.c: Likewise.
24018 * disk/loopback.c: Likewise.
24019 * disk/lvm.c: Likewise.
24020 * disk/mdraid_linux.c: Likewise.
24021 * disk/raid.c: Likewise.
24022 * disk/raid6_recover.c: Likewise.
24023 * disk/scsi.c: Likewise.
24024 * efiemu/main.c: Likewise.
24025 * efiemu/mm.c: Likewise.
24026 * efiemu/pnvram.c: Likewise.
24027 * efiemu/symbols.c: Likewise.
24028 * font/font.c: Likewise.
24029 * fs/cpio.c: Likewise.
24030 * fs/hfsplus.c: Likewise.
24031 * fs/iso9660.c: Likewise.
24032 * fs/jfs.c: Likewise.
24033 * fs/minix.c: Likewise.
24034 * fs/ntfs.c: Likewise.
24035 * fs/ntfscomp.c: Likewise.
24036 * fs/reiserfs.c: Likewise.
24037 * fs/ufs.c: Likewise.
24038 * fs/xfs.c: Likewise.
24039 * gettext/gettext.c: Likewise.
24040 * include/grub/auth.h: Likewise.
24041 * kern/elf.c: Likewise.
24042 * kern/file.c: Likewise.
24043 * kern/ieee1275/init.c: Likewise.
24044 * kern/ieee1275/mmap.c: Likewise.
24045 * kern/ieee1275/openfw.c: Likewise.
24046 * kern/powerpc/dl.c: Likewise.
24047 * kern/sparc64/dl.c: Likewise.
24048 * lib/arg.c: Likewise.
24049 * loader/i386/bsd.c: Likewise.
24050 * loader/i386/bsdXX.c: Likewise.
24051 * loader/i386/efi/linux.c: Likewise.
24052 * loader/i386/efi/xnu.c: Likewise.
24053 * loader/i386/ieee1275/linux.c: Likewise.
24054 * loader/i386/linux.c: Likewise.
24055 * loader/i386/multiboot.c: Likewise.
24056 * loader/i386/pc/linux.c: Likewise.
24057 * loader/i386/pc/multiboot2.c: Likewise.
24058 * loader/i386/xnu.c: Likewise.
24059 * loader/ieee1275/multiboot2.c: Likewise.
24060 * loader/macho.c: Likewise.
24061 * loader/machoXX.c: Likewise.
24062 * loader/multiboot2.c: Likewise.
24063 * loader/multiboot_loader.c: Likewise.
24064 * loader/powerpc/ieee1275/linux.c: Likewise.
24065 * loader/sparc64/ieee1275/linux.c: Likewise.
24066 * loader/xnu.c: Likewise.
24067 * loader/xnu_resume.c: Likewise.
24068 * mmap/i386/pc/mmap.c: Likewise.
24069 * normal/menu_viewer.c: Likewise.
24070 * partmap/acorn.c: Likewise.
24071 * partmap/amiga.c: Likewise.
24072 * partmap/apple.c: Likewise.
24073 * script/lexer.c: Likewise.
24074 * term/gfxterm.c: Likewise.
24075 * term/i386/pc/serial.c: Likewise.
24076 * term/i386/pc/vga.c: Likewise.
24077 * term/ieee1275/ofconsole.c: Likewise.
24078 * term/terminfo.c: Likewise.
24079 * video/bitmap.c: Likewise.
24080 * video/efi_gop.c: Likewise.
24081 * video/efi_uga.c: Likewise.
24082 * video/fb/video_fb.c: Likewise.
24083 * video/i386/pc/vbe.c: Likewise.
24084 * video/readers/tga.c: Likewise.
24085 * video/video.c: Likewise.
24086
0ad46fd7 240872009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
24088
24089 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
24090 * commands/lspci.c: Likewise.
24091 * commands/probe.c: Likewise.
24092 * commands/xnu_uuid.c: Likewise.
24093 * conf/i386-coreboot.rmk: Likewise.
24094 * conf/i386-efi.rmk: Likewise.
24095 * conf/i386-ieee1275.rmk: Likewise.
24096 * conf/i386-pc.rmk: Likewise.
24097 * conf/powerpc-ieee1275.rmk: Likewise.
24098 * conf/sparc64-ieee1275.rmk: Likewise.
24099 * conf/x86_64-efi.rmk: Likewise.
24100 * fs/i386/pc/pxe.c: Likewise.
24101 * gettext/gettext.c: Likewise.
24102 * include/grub/efi/graphics_output.h: Likewise.
24103 * include/grub/i386/pc/memory.h: Likewise.
24104 * kern/env.c: Likewise.
24105 * kern/i386/qemu/startup.S: Likewise.
24106 * lib/i386/pc/biosnum.c: Likewise.
24107 * lib/i386/relocator.c: Likewise.
24108 * lib/i386/relocator_asm.S: Likewise.
24109 * lib/relocator.c: Likewise.
24110 * loader/i386/bsd.c: Likewise.
24111 * loader/i386/multiboot.c: Likewise.
24112 * loader/i386/pc/chainloader.c: Likewise.
24113 * loader/i386/xnu.c: Likewise.
24114 * loader/xnu.c: Likewise.
24115 * normal/main.c: Likewise.
24116 * normal/menu_text.c: Likewise.
24117 * util/getroot.c: Likewise.
24118 * util/grub-mkconfig_lib.in: Likewise.
24119 * util/grub.d/00_header.in: Likewise.
24120 * util/i386/pc/grub-mkimage.c: Likewise.
24121 * util/mkisofs/eltorito.c: Likewise.
24122 * util/mkisofs/exclude.h: Likewise.
24123 * util/mkisofs/hash.c: Likewise.
24124 * util/mkisofs/iso9660.h: Likewise.
24125 * util/mkisofs/joliet.c: Likewise.
24126 * util/mkisofs/mkisofs.c: Likewise.
24127 * util/mkisofs/mkisofs.h: Likewise.
24128 * util/mkisofs/multi.c: Likewise.
24129 * util/mkisofs/name.c: Likewise.
24130 * util/mkisofs/rock.c: Likewise.
24131 * util/mkisofs/tree.c: Likewise.
24132 * util/mkisofs/write.c: Likewise.
24133 * video/efi_gop.c: Likewise.
24134
009ec743
VS
241352009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
24136
24137 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
24138 size counting.
24139
0ad46fd7 241402009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
24141
24142 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
24143 * genmk.rb (class SCRIPT): Modify the target file instead of source.
24144
d3d30ea0
VS
241452009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24146
24147 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
24148 (GRUB_MOD_INIT(memrw)): Update help line.
24149
a34f5c70
VS
241502009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24151
24152 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
24153 Use grub_extcmd_t. All users updated.
24154 (options): New variable.
24155 (grub_cmd_read): Restructure for readability. Support "-v" option.
24156 (grub_cmd_write): Restructure for readability.
24157
0ad46fd7 241582009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
24159
24160 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
24161
0ad46fd7 241622009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
24163
24164 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
24165 with the actual contents of the correspondending make variable.
24166 * util/grub-mkrescue.in (pkglib_DATA): New variable.
24167 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
24168 specifying `*.lst' and `efiemu??.o'
24169
0ad46fd7 241702009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
24171
24172 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
24173 after function name.
24174 Noticed by Rene Engelhard <rene@debian.org>.
24175
dc77a799
VS
241762009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24177
24178 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
24179 (options): New variable.
24180 (iospace): Likewise.
24181 (grub_lspci_iter): List IO spaces if "-i" was given.
24182 (grub_cmd_lspci): Parse options.
24183 (GRUB_MOD_INIT(lspci)): Use extcmd.
24184 (GRUB_MOD_FINI(lspci)): Likewise.
24185
0ad46fd7 241862009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
24187
24188 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
24189 `function' keyword.
24190 Patch by Tony Mancill <tmancill@debian.org>.
24191
b5d5993b
VS
241922009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24193
24194 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
24195 (grub_uhci_portstatus): Likewise.
24196 (grub_uhci_portstatus): Add necessary delay.
11d18281 24197 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 24198
941903f2 241992009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 24200
941903f2 24201 * commands/acpi.c (options): Fix capitalizations and/or full stops.
24202 (GRUB_MOD_INIT): Likewise.
24203 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 24204 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
24205 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 24206 * commands/efi/loadbios.c (enable_rom_area): Likewise.
24207 (enable_rom_area): Likewise.
24208 (GRUB_MOD_INIT): Likewise.
24209 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
24210 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
24211 * commands/handler.c (GRUB_MOD_INIT): Likewise.
24212 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
24213 * commands/hexdump.c (options): Likewise.
24214 * commands/i386/cpuid.c (options): Likewise.
24215 (GRUB_MOD_INIT): Likewise.
24216 * commands/i386/pc/drivemap.c (options): Likewise.
24217 (GRUB_MOD_INIT): Likewise.
24218 * commands/i386/pc/halt (options): Likewise.
24219 (GRUB_MOD_INIT): Likewise.
24220 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
24221 * commands/i386/pc/pxecmd.c (options): Likewise.
24222 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
24223 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
24224 * commands/keystatus.c (options): Likewise.
24225 (GRUB_MOD_INIT): Likewise.
24226 * commands/loadenv.c (options): Likewise.
24227 * commands/ls.c (options): Likewise.
24228 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
24229 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
24230 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
24231 * commands/parttool.c (helpmsg): Likewise.
24232 * commands/probe.c (options): Likewise.
24233 * commands/read.c (GRUB_MOD_INIT): Likewise.
24234 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
24235 * commands/search.c (options): Likewise.
24236 * commands/sleep.c (options): Likewise.
24237 * commands/test.c (GRUB_MOD_INIT): Likewise.
24238 * commands/true.c (GRUB_MOD_INIT): Likewise.
24239 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
24240 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
24241 * lib/arg.c (help_options): Likewise.
e9bbb4e7 24242 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
24243 `$(XGETTEXT)'.
98a50553 24244 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 24245
0ad46fd7 242462009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 24247
ef3c2c3a 24248 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
24249 instead of specifying them explicit.
24250
7922f68b
RM
242512009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24252
24253 * NEWS: Add grub-probe support for GNU/Hurd.
24254
537ce47f
RM
242552009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24256
24257 * NEWS: gettext was added after 1.97.
24258
9b214e3a
RM
242592009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24260
24261 * util/mkisofs/msdos_partition.h: New file (based on
24262 include/grub/msdos_partition.h).
24263 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
24264 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
24265 (ld_options, main): Recognize --protective-msdos-label.
24266 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
24267 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
24268 (padblock_write): If `use_protective_msdos_label' is set, patch a
24269 protective DOS-style label in the output image.
24270
24271 * util/grub-mkrescue.in: Use --protective-msdos-label.
24272
e9309813
RM
242732009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24274
24275 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
24276 boot.
24277
0ae56929
RM
242782009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24279
24280 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
24281 variables.
24282 (ld_options, main): Recognize `--embedded-boot'.
24283 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
24284 declarations.
24285 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
24286 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
24287 (padblock_write): Likewise. Rewrite to support embedded boot image.
24288
24289 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
24290 for BIOS-based disk boot instead of only ElTorito.
24291
b15937b1
RM
242922009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24293
24294 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
24295 build (not needed for bootstrap).
24296
52cc3ce0
RM
242972009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24298
24299 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
24300 from i386-pc build (not needed for bootstrap).
24301 Rewrite a pair of strings.
24302
36f5ff04
RM
243032009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24304
24305 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
24306
973c6c85 243072009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
24308
24309 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
24310
05d21547
AB
243112009-12-21 Andreas Born <futur.andy@googlemail.com>
24312
24313 * kern/env.c (grub_env_context_open): Mark exported variable for
24314 reexport.
24315
0175d51f
AB
243162009-12-21 Andreas Born <futur.andy@googlemail.com>
24317
24318 * kern/env.c (grub_env_export): Create nonexistent variables before
24319 exporting.
24320
7f39d92f 243212009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 24322
7f39d92f 24323 * include/grub/auth.h: Include `<grub/i18n.h>'.
24324 (GRUB_GET_PASSWORD): Gettextizze string.
24325 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
24326 menu_text.c.
24327 (grub_utf8_to_ucs4_alloc): Fix indentation.
24328 (grub_print_ucs4): Likewise.
24329 (grub_getstringwidth): Likewise.
24330 (print_message_indented): New declaration.
24331 * normal/auth.c: Include `<grub/i18n.h>'.
24332 (grub_auth_check_authentication): Gettexttize string.
24333 * normal/cmdline.c: Include `<grub/i18n.h>'.
24334 (grub_cmdline_get): Gettextizze.
24335 * normal/color.c: Include `<grub/i18n.h>'.
24336 (grub_parse_color_name_pair): Gettexttize strings.
24337 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
24338 string (use `print_message_indented').
24339 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
24340 `include/grub/normal.h'.
24341 (print_message_indented): Renamed to ...
24342 (grub_print_message_indented): ... this. Remove `static' qualifer (now
24343 used in normal/main.c).
24344 (print_message): Use `grub_print_message_indented' instead of
24345 `print_message_indented'.
24346 (print_timeout): Likewise.
24347 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
24348 (grub_normal_print_device_info): Gettexttize strings.
24349 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
24350
3041d898
VS
243512009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
24352
24353 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
24354 of arguments. Return number of tokens and not arguments. All users
24355 updated.
24356
de15bf8e
VS
243572009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
24358
24359 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
24360 non-MSDOS paritions.
24361
e0a6ca52
VS
243622009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
24363
24364 * include/grub/types.h (UNUSED): Removed since it conflicts with
24365 NetBSD headers. All users changed to direct __attribute__ ((unused)).
24366 Reported by Grégoire Sutre.
24367
b99518d1 243682009-12-19 Carles Pina i Estany <carles@pina.cat>
24369
24370 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
24371 (grub_print_ucs4_alloc): Likewise.
24372 (grub_getstringwidth): Likewise.
24373 * normal/main.c (grub_normal_init_page): Gettextize version string.
24374 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
24375 (getstringwidth): Renamed to ...
24376 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
24377 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
24378 (grub_print_ucs4): Remove `static' qualifer (now used in
24379 normal/main.c).
24380 * po/POTFILES: Add normal/main.c.
24381
bfd5e52b 243822009-12-19 Carles Pina i Estany <carles@pina.cat>
24383
24384 * normal/menu_text.c (STANDARD_MARGIN): New macro.
24385 (print_message_indented): Add `margin_left' and `margin_right'
24386 parameters.
24387 (print_message): Update `print_message_indented' calls. Adds '\n' to the
24388 strings.
24389 (print_timeout): Use `print_message_indented' to print the message.
24390 Deletes `second_stage' parameter.
24391 (run_menu): Update `print_timeout' calls.
24392
5a1ad2b9
VS
243932009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24394
24395 Fix console palette on OpenFirmware.
24396
24397 * term/ieee1275/ofconsole.c (MAX): Removed.
24398 (colors): Redone based on VGA palette.
24399 (grub_ofconsole_setcolor): Discard brightness bit since only 8
24400 colors are supported.
24401 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
24402
b045f00a
VS
244032009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24404
24405 Fix potential EfiEmu double prepare.
24406
24407 * efiemu/main.c (prepared): New variable
24408 (grub_efiemu_unload): Set prepare to '0'.
24409 (grub_efiemu_prepare): Return if already prepared. Set prepared.
24410
24411 set_virtual_address_map support.
24412
24413 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
24414 prototype.
24415 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
24416 prototype.
24417 (grub_efiemu_crc32): Likewise.
24418 (grub_efiemu_crc64): Likewise.
24419 (grub_efiemu_set_virtual_address_map): Likewise.
24420 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
24421 New definition.
24422 (grub_autoefi_set_virtual_address_map): Likewise.
24423 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
24424 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
24425 Restructure flow to accomodate it.
24426 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
24427 (grub_efiemu_crc): Recompute CRC32.
24428 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
24429 (efiemu_ptv_relocated): ... this. Made global. All users updated.
24430 * efiemu/symbols.c (relocated_handle): New variable.
24431 (grub_efiemu_free_syms): Free relocated_handle.
24432 (grub_efiemu_alloc_syms): Allocate relocated_handle.
24433 (grub_efiemu_write_sym_markers): New function.
24434 (grub_efiemu_set_virtual_address_map): Likewise.
24435
24436 Newer XNU parameters.
24437
24438 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
24439 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
24440 (grub_xnu_fill_devicetree): New prototype.
24441 (grub_xnu_heap_real_start): New variable.
24442 * loader/xnu.c (get_name_ptr): New function.
24443 (grub_xnu_load_driver): Fill namelen and name.
24444
24445 64-bit xnu support.
24446
24447 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
24448 and 'loader/macho64.c'.
24449 * conf/i386-pc.rmk: Likewise.
24450 * conf/x86_64-efi.rmk: Likewise.
24451 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
24452 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
24453 * include/grub/macho.h (grub_macho_segment64): New structure.
24454 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
24455 (grub_macho_size32): ... to this.
24456 (grub_macho32_get_entry_point): Renamed from ...
24457 (grub_macho_get_entry_point32): ... to this.
24458 (grub_macho_contains_macho64): New prototype.
24459 (grub_macho_size64): Likewise.
24460 (grub_macho_get_entry_point64): Likewise.
24461 (grub_macho32_load): Renamed from ...
24462 (grub_macho_load32): ... to this.
24463 (grub_macho32_filesize): Renamed from ...
24464 (grub_macho_filesize32): ... to this.
24465 (grub_macho32_readfile): Renamed from ...
24466 (grub_macho_readfile32): ... to this.
24467 (grub_macho_filesize64): New prototype.
24468 (grub_macho_readfile64): Likewise.
24469 (grub_macho_parse32): Likewise.
24470 (grub_macho_parse64): Likewise.
24471 * loader/macho.c: Split into ...
24472 * loader/machoXX.c: ... and this. Replace 32 with XX.
24473 * loader/macho32.c: New file.
24474 * loader/macho64.c: Likewise.
24475 * loader/xnu.c (grub_xnu_is_64bit): New variable.
24476 (grub_cmd_xnu_kernel): Make 32-bit only.
24477 (grub_cmd_xnu_kernel64): New function.
24478 (grub_xnu_load_driver): Support Mach-O 64.
24479 (grub_cmd_xnu_mkext): Likewise.
24480 * util/grub.d/30_os-prober.in (osx_entry): New function.
24481 Generate entries for 64-bit boot too.
24482
24483 Eliminate ad-hoc tree format in XNU and EfiEmu.
24484
24485 * efiemu/main.c (grub_efiemu_prepare): Update comment.
24486 * efiemu/pnvram.c: Rewritten to use environment variables.
24487 All users updated.
24488
24489 Inline utf16_to_utf8.
24490
24491 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
24492 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
24493 All users updated.
24494 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
24495
24496 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
24497 * commands/usbtest.c (grub_usb_get_string): ... move here.
24498 (usb_print_str): Fix error handling.
24499 * include/grub/usb.h (grub_usb_get_string): Remove.
24500
24501 UTF-8 to UTF-16 transformation.
24502
24503 * conf/common.rmk (pkglib_MODULES): Add charset.mod
24504 (charset_mod_SOURCES): New variable.
24505 (charset_mod_CFLAGS): Likewise.
24506 (charset_mod_LDFLAGS): Likewise.
24507 * include/grub/utf.h: New file.
24508 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
24509
24510 Support for device properties.
24511
24512 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
24513 (grub_xnu_devprop_device_header): Likewise.
24514 (grub_xnu_devprop_device_descriptor): Likewise.
24515 (grub_xnu_devprop_add_device): New prototype.
24516 (grub_xnu_devprop_remove_device): Likewise.
24517 (grub_xnu_devprop_remove_property): Likewise.
24518 (grub_xnu_devprop_add_property_utf8): Likewise.
24519 (grub_xnu_devprop_add_property_utf16): Likewise.
24520 (grub_cpu_xnu_init): Likewise.
24521 (grub_cpu_xnu_fini): Likewise.
24522 (grub_cpu_xnu_unload): Likewise.
24523 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
24524 (property_descriptor): Likewise.
24525 (devices): New variable.
24526 (grub_xnu_devprop_remove_property): New function.
24527 (grub_xnu_devprop_add_device): Likewise.
24528 (grub_xnu_devprop_remove_device): Likewise.
24529 (grub_xnu_devprop_add_property): Likewise.
24530 (grub_xnu_devprop_add_property_utf8): Likewise.
24531 (grub_xnu_devprop_add_property_utf16): Likewise.
24532 (hextoval): Likewise.
24533 (grub_cpu_xnu_fill_devprop): Likewise.
24534 (grub_cmd_devprop_load): Likewise.
24535 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
24536 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
24537 (cmd_devprop_load): New variable.
24538 (grub_cpu_xnu_init): New function.
24539 (grub_cpu_xnu_fini): Likewise.
24540 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
24541 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
24542 (grub_cmd_xnu_devtree): Likewise.
24543 (hextoval): New function.
24544 (unescape): Likewise.
24545 (grub_xnu_fill_devicetree): Likewise.
24546
24547 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
24548 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
24549
0945f181
VS
245502009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24551
24552 Workaround for broken ATI VBE.
24553
24554 * video/i386/pc/vbe.c (last_set_mode): New variable.
24555 (grub_vbe_set_video_mode): Set 'last_set_mode'.
24556 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
24557 (grub_video_vbe_setup): Don't check for reserved flag.
24558
0ad46fd7 245592009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
24560
24561 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
24562 the `find' command.
24563
c179ebe4
VS
245642009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
24565
24566 UUID support for HFS.
24567
24568 * fs/hfs.c (grub_hfs_uuid): New function.
24569 (grub_hfs_fs): New value .uuid.
24570 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
24571
0ad46fd7 245722009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
24573
24574 Fix a segfault with parsing unknown long options.
24575
24576 * util/grub-mkrelpath.c (options): Zero terminate it.
24577
c4a3e41a
CPE
245782009-12-13 Carles Pina i Estany <carles@pina.cat>
24579
24580 * include/grub/misc.h (grub_puts): New declaration.
24581 (grub_puts_): Likewise.
a22008a6 24582 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
24583 (grub_puts_): Likewise.
24584
2e8a7602
RM
245852009-12-13 Robert Millan <rmh.grub@aybabtu.com>
24586
24587 * util/grub-probe.c (probe): Improve error message.
24588
b50b77b9
RM
245892009-12-13 Robert Millan <rmh.grub@aybabtu.com>
24590
24591 * loader/i386/multiboot_elfxx.c
24592 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
24593 initialization.
24594
245952009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
24596
24597 Relocator framework
24598
24599 * loader/i386/xnu_helper.S: Removed. All users updated.
24600 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
24601 (relocator_mod_SOURCES): New variable.
24602 (relocator_mod_CFLAGS): Likewise.
24603 (relocator_mod_LDFLAGS): Likewise.
24604 (relocator_mod_ASFLAGS): Likewise.
24605 * conf/x86_64.rmk: Likewise.
24606 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
24607 (grub_multiboot_payload_entry_offset): Likewise.
24608 (grub_multiboot_forward_relocator): Likewise.
24609 (grub_multiboot_forward_relocator_end): Likewise.
24610 (grub_multiboot_backward_relocator): Likewise.
24611 (grub_multiboot_backward_relocator_end): Likewise.
24612 (grub_multiboot_payload_eip): New variable.
24613 (grub_multiboot_payload_orig): Likewise.
24614 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
24615 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
24616 * include/grub/i386/memory.h
24617 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
24618 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
24619 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
24620 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
24621 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
24622 * include/grub/i386/relocator.h: New file.
24623 * include/grub/x86_64/relocator.h: Likewise.
24624 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
24625 (XNU_RELOCATOR): New macro.
24626 (grub_xnu_launcher_start): Remove.
24627 (grub_xnu_launcher_end): Likewise.
24628 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
24629 (grub_xnu_heap_real_start): Remove.
24630 (grub_xnu_heap_start): Change to void *. All users updated.
24631 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
24632 * lib/i386/relocator.c: New file.
24633 * lib/i386/relocator_asm.S: Likewise.
24634 * lib/i386/relocator_backward.S: Likewise.
24635 * lib/mips/relocator.c: Likewise.
24636 * lib/mips/relocator_asm.S: Likewise.
24637 * lib/relocator.c: Likewise.
24638 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
24639 (entry): Removed.
24640 (playground): Likewise.
24641 (grub_multiboot_payload_orig): New variable.
24642 (grub_multiboot_payload_dest): Likewise.
24643 (grub_multiboot_payload_size): Likewise.
24644 (grub_multiboot_payload_eip): Likewise.
24645 (grub_multiboot_payload_esp): Likewise.
24646 (grub_multiboot_boot): Use grub_relocator32_boot.
24647 (grub_multiboot_unload): Free relocators.
24648 (grub_multiboot): Setup stack. Use relocators.
24649 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
24650 (grub_multiboot_load_elfXX): Use relocators.
24651 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
24652 (grub_multiboot_payload_size): Likewise.
24653 (grub_multiboot_payload_dest): Likewise.
24654 (grub_multiboot_payload_entry_offset): Likewise.
24655 (grub_multiboot_forward_relocator): Likewise.
24656 (grub_multiboot_backward_relocator): Likewise.
24657 (grub_multiboot_real_boot): Likewise.
24658 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
24659 (grub_xnu_entry_point): Likewise.
24660 (grub_xnu_arg1): Likewise.
24661 (grub_xnu_stack): Likewise.
24662 (grub_xnu_launch): Removed.
24663 (grub_xnu_boot_resume): New function.
24664 (grub_xnu_boot): Use relocators.
24665 * loader/i386/xnu_helper.S: Removed.
24666 * loader/xnu.c (grub_xnu_heap_start): New variable.
24667 (grub_xnu_heap_size): Likewise.
24668 (grub_xnu_heap_malloc): Use relocators.
24669 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
24670
29eb90c6
VS
246712009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
24672
24673 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
24674 anything.
24675
31027430
CPE
246762009-12-13 Carles Pina i Estany <carles@pina.cat>
24677
24678 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
24679 GRUB_ERR_NONE before calling grub_env_set.
24680
dc0c71d9
RM
246812009-12-12 Robert Millan <rmh@aybabtu.com>
24682
24683 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
24684 * genmk.rb (video): New variable.
24685 (CLEANFILES, VIDEOFILES): Add #{video}.
24686 (#{video}): New target rule.
24687 * genvideolist.sh: New file.
24688 * Makefile.in (pkglib_DATA): Add video.lst.
24689 (video.lst): New target rule.
24690 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
24691 `video.lst'.
24692 * util/grub.d/30_os-prober.in: Replace `vbe' with
24693 ${GRUB_VIDEO_BACKEND}.
24694
2a4bfcf0
RM
246952009-12-11 Robert Millan <rmh.grub@aybabtu.com>
24696
24697 * THANKS: Add David Miller.
24698
2a3aa4d5
RM
246992009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
24700
24701 libpciaccess support.
24702
24703 * Makefile.in (LIBPCIACCESS): New variable.
24704 (enable_grub_emu_pci): Likewise.
24705 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
24706 util/pci.c and commands/lspci.c.
24707 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
24708 * configure.ac (grub-emu-pci): New option.
24709 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
24710 (grub_pci_device_unmap_range): Likewise.
24711 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
24712 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
24713 (grub_pci_address_t) [!GRUB_UTIL]: New type.
24714 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
24715 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
24716 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
24717 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
24718 * include/grub/pciutils.h: New file.
24719 * util/pci.c: Likewise.
24720
0ad46fd7 247212009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
24722
24723 * util/misc.c: Don't include <errno.h> twice.
24724
0ad46fd7 247252009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
24726
24727 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
24728 name in an error message.
24729 (grub_biosdisk_rw): Likewise.
24730
2e59983c
VS
247312009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
24732
24733 Eliminate NTFS 4Gib barrier.
24734
24735 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
24736 (read_run_data): Likewise.
24737 (grub_ntfs_read_run_list): Likewise.
24738 (grub_ntfs_read_block): Likewise.
24739 (grub_ntfs_iterate_dir): Likewise.
24740 (read_mft): Likewise.
24741 (read_data): Likewise.
24742 Use COM_LOG_LEN.
24743 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
24744 to avoid 64-bit division
24745 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
24746 (grub_ntfs_rlst): Use grub_disk_addr_t.
24747
71ee178a
VS
247482009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
24749
24750 Eliminate grub-fstest 4Gib barrier.
24751
24752 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
24753 (read_file): Fix error reporting.
24754
2520d4b8
VS
247552009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
24756
24757 Eliminate hexdump 4Gib barrier.
24758
24759 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
24760 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
24761
e1f27065
VS
247622009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
24763
24764 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
24765 Fixes amarsh bug.
24766
1a0f7f45
RM
247672009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
24768
24769 Remove miscellaneous files in distclean target.
24770
24771 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
24772
c631d9fb
CW
247732009-12-09 Colin Watson <cjwatson@ubuntu.com>
24774
24775 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
24776 if they're already set. This resolves the conflict between my
24777 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
24778 fixing the --grub-probe option again.
24779 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
24780 change on 2009-10-06, so that we now once again source
24781 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
24782
7c7b6106
RM
247832009-12-08 Robert Millan <rmh.grub@aybabtu.com>
24784
24785 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
24786 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
24787 `util/devicemap.c'.
24788
e3069ec1
CPE
247892009-12-08 Carles Pina i Estany <carles@pina.cat>
24790
24791 * include/grub/misc.h (grub_printf_): New declaration.
24792 * kern/misc.c (grub_printf_): New definition.
24793 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
24794 instead of `grub_printf' and `_'.
24795 * normal/menu_entry.c (store_completion): Likewise.
24796 (run): Likewise.
24797 (grub_menu_entry_run): Likewise.
24798 * normal/menu_text.c (grub_wait_after_message): Likewise.
24799 (notify_booting): Likewise.
24800 (notify_fallback): Likewise.
24801 (notify_execution_failure): Likewise.
24802
d6ceebf1
CW
248032009-12-07 Colin Watson <cjwatson@ubuntu.com>
24804
24805 * configure.ac: Check for vasprintf.
24806 * util/misc.c (asprintf): Move allocation from here ...
24807 (vasprintf): ... to here. New function.
24808 (xasprintf): New function.
24809 * include/grub/util/misc.h (vasprintf, xasprintf): Add
24810 prototypes.
24811 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
24812 * util/grub-mkfont.c (write_font): Likewise.
24813 * util/grub-probe.c (probe): Likewise.
24814 * util/hostdisk.c (make_device_name): Likewise.
24815
de6daa8b
DM
248162009-12-06 David S. Miller <davem@sunset.davemloft.net>
24817
24818 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
24819 anything even prefixed with 'cdrom' as a cdrom.
24820
0ad46fd7 248212009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
24822
24823 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
24824 mount points.
24825
98d3dc02
CPE
248262009-12-05 Carles Pina i Estany <carles@pina.cat>
24827
24828 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
24829 grub_gettext_msg_list.
24830 (grub_gettext_gettranslation_from_position): Return const char *
24831 and not char *.
a2c1332b 24832 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
24833 returns from the list if existing there.
24834 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
24835 (grub_gettext_delete_list): Delete the list.
24836 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
24837 lang environment variable is changed.
24838 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
24839
b283f108
VS
248402009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
24841
24842 Rename kernel.mod to kernel.img.
24843
24844 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
24845 (kernel_mod_EXPORTS): Rename to ...
24846 (kernel_img_EXPORTS): ... this.
24847 (kernel_mod_SOURCES): Rename to ...
24848 (kernel_img_SOURCES): ... this.
24849 (kernel_mod_HEADERS): Rename to ...
24850 (kernel_img_HEADERS): ... this. All users updated.
24851 (kernel_mod_CFLAGS): Rename to ...
24852 (kernel_img_CFLAGS): ... this.
24853 (kernel_mod_ASFLAGS): Rename to ...
24854 (kernel_img_ASFLAGS): ... this.
24855 (kernel_mod_LDFLAGS): Rename to ...
24856 (kernel_img_LDFLAGS): ... this.
24857 * conf/x86_64-efi.rmk: Likewise.
24858 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
24859 (read_kernel_image): ... this. All users updated.
24860 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
24861
69055f8a
CPE
248622009-12-05 Carles Pina i Estany <carles@pina.cat>
24863
24864 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
24865 (print_spaces): New function.
24866 (grub_print_ucs4): New function.
24867 (getstringwidth): New function.
24868 (print_message_indented): New function.
24869 (print_message): Gettexttize strings using print_message_indented.
24870 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
24871 width.
24872 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 24873 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
24874 Gettextize.
24875 * normal/menu_entry.c (store_completion): Cleanup the gettextized
24876 string.
24877 (run): Likewise.
24878 (grub_menu_entry_run): Likewise.
24879 * PO/POTFILES: Add normal/menu_entry.c.
24880
f616f51c
VS
248812009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
24882
24883 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
24884
57bbe3be
CPE
248852009-12-05 Carles Pina i Estany <carles@pina.cat>
24886
24887 * util/grub-install.in: Install gettext .mo files.
24888 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
24889
013d67a1
CPE
248902009-12-05 Carles Pina i Estany <carles@pina.cat>
24891
24892 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
24893 grub_dprintf.
24894
fb954db0
RM
248952009-12-05 Robert Millan <rmh.grub@aybabtu.com>
24896
24897 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
24898 non-firmware-dependant one in realmode.S takes precedence.
24899
6b8474f8
RM
249002009-12-04 Robert Millan <rmh.grub@aybabtu.com>
24901
24902 * commands/halt.c: Replace misc arch-specific headers with
24903 `<grub/misc.h>'.
24904 * commands/reboot.c: Likewise.
24905 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
24906 `<grub/misc.h>'.
24907 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
24908 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
24909 (kernel_img_SOURCES): ... to here.
24910
24911 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
24912 * include/grub/i386/pc/init.h: Likewise.
24913 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
24914 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
24915
24916 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
24917
24918 * include/grub/i386/halt.h: Remove.
24919 * include/grub/i386/reboot.h: Likewise.
24920
24921 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
24922
4b2e6ca2
DM
249232009-12-03 David S. Miller <davem@sunset.davemloft.net>
24924
24925 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
24926 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
24927 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
24928 "progname.h"
24929 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
24930 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24931 (usage): Add missing comma in printf.
24932
5239348f
RM
249332009-12-02 Robert Millan <rmh.grub@aybabtu.com>
24934
24935 Use the same reboot approach on i386 coreboot and qemu as we do on
24936 BIOS.
24937
24938 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
24939 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
24940 * kern/i386/reboot.c: Remove.
24941 * include/grub/i386/reboot.h (grub_reboot): Export function.
24942 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
24943 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
24944 0xf000:0xfff0 instead of 0xffff:0x0000.
24945 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
24946 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
24947
ef34cbd4
RM
249482009-11-30 Robert Millan <rmh.grub@aybabtu.com>
24949
24950 Fix $srcdir != $objdir build.
24951
24952 * Makefile.in (po/%.po): Rewrite as ...
24953 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
24954
dc9837ea
ST
249552009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
24956
24957 Fix GNU/Hurd grub-install crash.
24958 * util/grub-probe.c (probe): Try to access `path' only when it is not
24959 NULL.
24960
2f857f98
VS
249612009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
24962
24963 Correct module naming.
24964
24965 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
24966 (GRUB_MOD_INIT(efi_uga)): ... to this
24967 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
24968 (GRUB_MOD_FINI(efi_uga)): ... to this
24969 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
24970 (GRUB_MOD_INIT(efi_gop)): ... to this
24971 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
24972 (GRUB_MOD_FINI(efi_gop)): ... to this
24973
c5448046
RM
249742009-11-28 Robert Millan <rmh.grub@aybabtu.com>
24975
24976 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
24977 translatable.
24978 (usage): Translate `arg' strings using gettext().
24979 Thanks to Jordi Mallach for the suggestion.
24980
c85184ad
VS
249812009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
24982
24983 GOP support. Based on patch from Bean
24984 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
24985
24986 * video/efi_gop.c: New file.
24987 * include/grub/efi/graphics_output.h: Likewise.
24988 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
24989 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
24990 variables.
24991 * conf/x86_64-efi.rmk: Likewise.
24992
8a4c48d8
VS
249932009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
24994
24995 Rename efi_fb to efi_uga.
24996
24997 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
24998 'efi_uga.mod'.
24999 (efi_fb_mod_SOURCES): Rename this ...
25000 (efi_uga_mod_SOURCES): ... to this.
25001 (efi_fb_mod_CFLAGS): Rename this ...
25002 (efi_uga_mod_CFLAGS): ... to this.
25003 (efi_fb_mod_LDFLAGS): Rename this ...
25004 (efi_uga_mod_LDFLAGS): ... to this.
25005 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
25006 'efi_uga.mod'.
25007 (efi_fb_mod_SOURCES): Rename this ...
25008 (efi_uga_mod_SOURCES): ... to this.
25009 (efi_fb_mod_CFLAGS): Rename this ...
25010 (efi_uga_mod_CFLAGS): ... to this.
25011 (efi_fb_mod_LDFLAGS): Rename this ...
25012 (efi_uga_mod_LDFLAGS): ... to this.
25013 * video/efi_fb.c: Move this ...
25014 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
25015
fb6c1a7b
RM
250162009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25017
25018 * po/README: New file. Explain our PO file workflow.
25019
3bc7896c
RM
250202009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25021
25022 * po/ChangeLog: Remove. Move relevant entries back to ...
25023 * ChangeLog: ... here.
25024 * po/ca.po: Remove (now handled by TLP).
25025 * po/id.po: Likewise.
25026 * po/zh_CN.po: Likewise.
25027 * Makefile.in (LINGUAS): Initialize in a way that supports
25028 empty set.
25029
9ed4841d
RM
250302009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25031
25032 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
25033 reliing on po/LINGUAS.
25034 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
25035 (po/%.po): ... this.
25036
0ad46fd7 250372009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
25038
25039 * util/i386/efi/grub-mkimage.c: Include "progname.h".
25040 (main): Use `program_name' instead of nonexistent `progname'.
25041
e30dd392
FZ
250422009-11-26 Felix Zielcke <fzielcke@z-51.de>
25043
25044 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25045 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
25046
7656de4f
RM
250472009-11-26 Robert Millan <rmh.grub@aybabtu.com>
25048
25049 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
25050 commit.
25051 * conf/i386-efi.rmk: Likewise.
25052 * conf/i386-ieee1275.rmk: Likewise.
25053 * conf/powerpc-ieee1275.rmk: Likewise.
25054 * conf/sparc64-ieee1275.rmk: Likewise.
25055 * conf/x86_64-efi.rmk: Likewise.
25056
db77c4d4
FZ
250572009-11-26 Felix Zielcke <fzielcke@z-51.de>
25058
25059 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
25060
a755bb04
FZ
250612009-11-26 Felix Zielcke <fzielcke@z-51.de>
25062
25063 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
25064
8a4c07fd
RM
250652009-11-26 Robert Millan <rmh.grub@aybabtu.com>
25066
25067 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
25068 (grub_mkdevicemap_SOURCES): New variable.
25069 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
25070 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
25071 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
25072 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
25073 (grub_mkdevicemap_SOURCES): Remove.
25074 * conf/i386-efi.rmk: Likewise.
25075 * conf/i386-ieee1275.rmk: Likewise.
25076 * conf/i386-pc.rmk: Likewise.
25077 * conf/powerpc-ieee1275.rmk: Likewise.
25078 * conf/sparc64-ieee1275.rmk: Likewise.
25079 * conf/x86_64-efi.rmk: Likewise.
25080 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
25081 (usage): Fix strings to use `program_name'.
25082 (main): Initialize gettext.
25083 * util/grub-editenv.c: Likewise.
25084 * util/grub-emu.c: Likewise.
25085 * util/grub-fstest.c: Likewise.
25086 * util/grub-mkdevicemap.c: Likewise.
25087 * util/grub-mkfont.c: Likewise.
25088 * util/grub-mkrelpath.c: Likewise.
25089 * util/grub-pe2elf.c: Likewise.
25090 * util/grub-probe.c: Likewise.
25091 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
25092 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
25093 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25094
25095 * util/misc.c: Include `"progname.h"'.
25096 (progname): Remove variable.
25097 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
25098
6f61ed55
FZ
250992009-11-25 Felix Zielcke <fzielcke@z-51.de>
25100
25101 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
25102 printf and print a newline after the menuentry header line.
25103 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
25104
f022876b
FZ
251052009-11-25 Felix Zielcke <fzielcke@z-51.de>
25106
25107 autoconf >= 2.60 support $(localedir).
25108
25109 * INSTALL: Note that autoconf 2.60 is required.
25110 * configure.ac (AC_PREREQ): Bump to 2.60.
25111 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
25112 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
25113
6717926e
YB
251142009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
25115
25116 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
25117 aclocal is run.
25118
08806a54
RM
251192009-11-25 Robert Millan <rmh.grub@aybabtu.com>
25120
25121 * normal/main.c (grub_normal_read_line): Fix off-by-one
25122 buffer overflow.
25123
13b33fba
RM
251242009-11-25 Robert Millan <rmh.grub@aybabtu.com>
25125
25126 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
25127 "parser.grub" in grub_command_execute() call.
25128
4a8572e9
CPE
251292009-11-24 Carles Pina i Estany <carles@pina.cat>
25130
25131 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
25132 * conf/i386-efi.rmk: Likewise.
25133 * conf/i386-ieee1275.rmk: Likewise.
25134 * conf/i386-pc.rmk: Likewise.
25135 * conf/powerpc-ieee1275.rmk: Likewise.
25136 * conf/sparc64-ieee1275.rmk: Likewise.
25137 * conf/x86_64-efi.rmk: Likewise.
25138 * gettext/gettex.c: Include <grub/i18n.h>.
25139 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
25140 here ...
25141 * include/grub/i18n.h: ... to here
25142 * include/grub/i18n.h: ... to here.
25143 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 25144 (grub_gettext_dummy): Move above user.
4a8572e9 25145
bee48093
FZ
251462009-11-24 Felix Zielcke <fzielcke@z-51.de>
25147
25148 * util/Makefile.in (install-local): Convert a `for' into a normal
25149 shell expansion.
25150
a031e91c
RM
251512009-11-24 Robert Millan <rmh.grub@aybabtu.com>
25152
25153 * autogen.sh: Add automake call.
25154 * config.guess: Remove.
25155 * config.sub: Likewise.
25156 * install-sh: Likewise.
25157
26bec39d
FZ
251582009-11-24 Felix Zielcke <fzielcke@z-51.de>
25159
25160 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
25161
8e2532fd
FZ
251622009-11-24 Felix Zielcke <fzielcke@z-51.de>
25163
25164 * util/Makefile.in (install-local): Convert a make `$(foreach)'
25165 function to a normal shell `for'.
25166
fefa1b7d
FZ
251672009-11-24 Felix Zielcke <fzielcke@z-51.de>
25168
25169 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25170
4501250b
FZ
251712009-11-24 Felix Zielcke <fzielcke@z-51.de>
25172
25173 * util/grub-mkrelpath.c: New file.
25174 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
25175 (grub_mkrelpath_SOURCES): New variable.
25176 * include/grub/util/misc.h: New function prototype.
25177 * util/misc.c (make_system_path_relative_to_its_root): New function.
25178
25179 * util/grub-mkconfig_lib.in (bindir): New variable.
25180 (grub_mkrelpath): Likewise.
25181 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
25182
25183 * util/probe.c (probe): Make the file path relative to its root.
25184 Change a info message to use the GRUB path. Enable again the
25185 check if we can read the file with GRUB facilities.
25186
25187 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
25188 to its root.
25189
11d9778b
FZ
251902009-11-24 Felix Zielcke <fzielcke@z-51.de>
25191
25192 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
25193 platform.
25194
4465287d
FZ
251952009-11-24 Felix Zielcke <fzielcke@z-51.de>
25196
25197 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
25198 strncmp().
25199
62b47f22
FZ
252002009-11-24 Felix Zielcke <fzielcke@z-51.de>
25201
25202 * util/getroot.c (grub_util_is_dmraid): New function.
25203 (grub_util_get_dev_abstraction): Treat dmraid and multipath
25204 devices as normal ones, not as LVM.
25205
1eafb9b9 252062009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
25207
25208 * conf/common.rmk: Add grub-gettext_lib target and updates
25209 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
25210 LDFLAGS.
25211 * gettext/gettext.c: New file. (Reads mo files).
25212 * include/grub/file.h (grub_file_pread): New prototype.
25213 * include/grub/i18n.h (_): New prototype.
25214 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
25215 prototypes.
25216 * kern/misc.c (grub_gettext_dummy): New function.
25217 * normal/menu_text.c: Include <grub/i18n.h>.
25218 * normal/menu_text.c (print_timeout): Gettexttize string.
25219 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
25220 * po/POTFILES: Add `normal/menu_text.c'.
25221 * po/ca.po: Add new translations.
c3ea6bd4
CPE
25222 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
25223 gettext module and defines locale_dir and lang in grub.cfg.
25224 * NEWS: Add gettext support.
25225
0fdb2568
RM
252262009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25227
25228 * util/hostdisk.c: Include `<grub/i18n.h>'.
25229 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
25230 (make_device_name): Rewrite using asprintf.
25231 (convert_system_partition_to_system_disk): Replace 0 with NULL.
25232 (find_system_device): If a device is not found, generate one just
25233 by reusing the OS path name.
25234 (read_device_map): Make it permissible for device.map not to exist.
25235
f515aa62
RM
252362009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25237
25238 * script/sh/execute.c: Move from here ...
25239 * script/execute.c: ... to here. Update all users.
25240 * script/sh/function.c: Move from here ...
25241 * script/function.c: ... to here. Update all users.
25242 * script/sh/lexer.c: Move from here ...
25243 * script/lexer.c: ... to here. Update all users.
25244 * script/sh/main.c: Move from here ...
25245 * script/main.c: ... to here. Update all users.
25246 * script/sh/parser.y: Move from here ...
25247 * script/parser.y: ... to here. Update all users.
25248 * script/sh/script.c: Move from here ...
25249 * script/script.c: ... to here. Update all users.
25250
f84b481b
RM
252512009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25252
25253 * configure.ac: Detect all `emu' platforms. Define
25254 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
25255 --enable-grub-emu logic. Disable include/grub/machine
25256 symlink on `emu' platforms.
25257
25258 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
25259 * gensymlist.sh.in: Likewise.
25260
25261 * include/grub/i386/coreboot/machine.h: Remove file.
25262 * include/grub/i386/efi/machine.h: Likewise.
25263 * include/grub/i386/ieee1275/machine.h: Likewise.
25264 * include/grub/i386/pc/machine.h: Likewise.
25265 * include/grub/i386/qemu/machine.h: Likewise.
25266 * include/grub/powerpc/ieee1275/machine.h: Likewise.
25267 * include/grub/sparc64/ieee1275/machine.h: Likewise.
25268 * include/grub/x86_64/efi/machine.h: Likewise.
25269
25270 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
25271 * commands/halt.c: Likewise.
25272 * commands/reboot.c: Likewise.
25273 * include/grub/autoefi.h: Likewise.
25274 * include/grub/i386/at_keyboard.h: Likewise.
25275 * include/grub/i386/kernel.h: Likewise.
25276 * include/grub/i386/loader.h: Likewise.
25277 * include/grub/i386/pc/memory.h: Likewise.
25278 * kern/dl.c: Likewise.
25279 * kern/i386/coreboot/init.c: Likewise.
25280 * loader/i386/bsd.c: Likewise.
25281 * loader/i386/linux.c: Likewise.
25282 * loader/multiboot_loader.c: Likewise.
25283 * term/i386/pc/serial.c: Likewise.
25284 * term/usb_keyboard.c: Likewise.
25285
25286 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
25287 `<grub/machine/machine.h>'
25288 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
25289 * util/misc.c: Remove `<grub/machine/machine.h>' and
25290 `<grub/machine/time.h>'.
25291
25292 * Makefile.in (enable_grub_emu): Remove variable.
25293 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
25294
25295 * conf/any-emu.rmk: New file.
25296 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
25297 (grub_emu_init.c): Move from here ...
25298 * conf/any-emu.rmk: ... to here.
25299
25300 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
25301 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
25302 * conf/any-emu.rmk: ... to here.
25303
4efeab03
RM
253042009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25305
25306 * include/grub/parser.h (grub_parser_register): Document need
25307 of `name' parameter.
25308 * normal/main.c (grub_normal_read_line): Simplify prompt string.
25309 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
25310 "sh" to "grub".
25311
ea1dd8bf
RM
253122009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25313
25314 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
25315 `$(XGETTEXT)'.
25316 * include/grub/i18n.h (N_): New macro.
25317 * util/mkisofs/mkisofs.h: Likewise.
25318 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
25319 around N_().
25320 (usage): Use gettext() to translate help strings when printing them.
25321
0c140626
RM
253222009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25323
25324 Based on patch from Bean
25325 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
25326
25327 * video/efi_fb.c: New file.
25328 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
25329 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
25330 variables.
25331 * conf/x86_64-efi.rmk: Likewise.
25332
87d58298
RM
253332009-11-22 Robert Millan <rmh.grub@aybabtu.com>
25334
25335 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
25336 * util/i386/pc/grub-setup.c: Likewise.
25337
994cc3a3
ST
253382009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
25339
25340 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
25341 <hurd/fs.h>
25342 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
25343 file_get_storage_info to implement grub_guess_root_device.
25344
26a61d6a
FZ
253452009-11-21 Felix Zielcke <fzielcke@z-51.de>
25346
25347 * Makefile.in (target): Use make's builtin $(shell) function
25348 instead of calling directly $(SHELL) to create the locale directories,
25349 inside the $(foreach) function.
25350
74ff1dd5
FZ
253512009-11-21 Felix Zielcke <fzielcke@z-51.de>
25352
25353 * util/grub-mkrescue.in: Print an error and usage if output option
25354 has not been given.
25355
0b787d0e
FZ
253562009-11-21 Felix Zielcke <fzielcke@z-51.de>
25357
25358 Patch from Loïc Minier <loic.minier@ubuntu.com>.
25359 * util/grub.d/30_os-prober.in: Cope with Linux entries where
25360 root and /boot are on different devices.
25361
1164b270
RM
253622009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25363
25364 Fix build for srcdir != objdir.
25365
25366 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
25367 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
25368 $(srcdir).
25369 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
25370 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
25371 reference for input.
25372
13774a2f
RM
253732009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25374
25375 * util/grub-mkrescue.in: Use source directory direcly (without copiing
25376 or hardlinking it). Remove -J option, Joliet is not compatible with
25377 multiple source directories.
25378
efda854e
RM
253792009-11-21 Carles Pina i Estany <carles@pina.cat>
253802009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25381
25382 * util/grub-mkrescue.in: Recognize `--override-directory' option.
25383 (process_input_dir): New function. Process an arbitrary input
25384 directory.
25385 Misc adjustments to support both "override mode" and system-wide mode.
25386
6c09890c
FZ
253872009-11-20 Felix Zielcke <fzielcke@z-51.de>
25388
25389 * configure.ac (UNIFONT_BDF): Rename to ...
25390 (FONT_SOURCE): ... this. Update all users.
25391
a797824f
FZ
253922009-11-20 Felix Zielcke <fzielcke@z-51.de>
25393
25394 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
25395 to the list of unifont files to look for.
25396
cd4f42b0
RM
253972009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25398
25399 Patch from Joe Auricchio <jauricchio@gmail.com>
25400 * commands/minicmd.c (grub_mini_cmd_clear): New function.
25401 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
25402 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
25403
393c783d
FZ
254042009-11-19 Felix Zielcke <fzielcke@z-51.de>
25405
25406 * Makefile.in (install-local): Add a missing backslash.
25407
b2f1e327
FZ
254082009-11-19 Felix Zielcke <fzielcke@z-51.de>
25409
25410 * include/grub/x86_64/io.h: New file.
25411
f577f7a0
RM
254122009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25413
25414 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
25415 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
25416 Include `"progname.h"'.
25417 (main): Initialize gettext.
25418 * util/i386/pc/grub-setup.c: Gettexttize.
25419 * util/i386/pc/grub-mkimage.c: Likewise.
25420
25421 * Makefile.in (po/*.po): Redefine as ...
25422 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
25423
3bc7896c
RM
25424 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
25425
c37943b6
RM
254262009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25427
25428 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
25429 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
25430 (program_name): Remove.
25431 (main): Initialize gettext support.
6323f705
RM
25432 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
25433 Include `<libintl.h>'.
25434 (_): New macro.
c37943b6
RM
25435
25436 * util/mkisofs/eltorito.c: Gettexttize.
25437 * util/mkisofs/joliet.c: Likewise.
25438 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
25439 * util/mkisofs/multi.c: Likewise.
25440 * util/mkisofs/rock.c: Likewise.
25441 * util/mkisofs/tree.c: Likewise.
25442 * util/mkisofs/write.c: Likewise.
25443
3bc7896c
RM
25444 * po/POTFILES: Update with new files.
25445
5ce77c6e
RM
254462009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25447
25448 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
25449 * util/mkisofs/iso9660.h: Likewise.
25450 * util/mkisofs/joliet.c: Likewise.
25451 * util/mkisofs/mkisofs.c: Likewise.
25452 * util/mkisofs/mkisofs.h: Likewise.
25453 * util/mkisofs/rock.c: Likewise.
25454 * util/mkisofs/tree.c: Likewise.
25455 * util/mkisofs/write.c: Likewise.
25456
25457 * util/mkisofs/eltorito.c (rcsid): Remove.
25458 * util/mkisofs/hash.c: Likewise.
25459 * util/mkisofs/joliet.c: Likewise.
25460 * util/mkisofs/name.c: Likewise.
25461 * util/mkisofs/rock.c: Likewise.
25462 * util/mkisofs/tree.c: Likewise.
25463 * util/mkisofs/write.c: Likewise.
25464
1dabbc77
RM
254652009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25466
25467 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
25468 instead of static allocation.
25469 * util/mkisofs/match.h: Likewise.
25470
633877cb
RM
254712009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25472
3bc7896c
RM
25473 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
25474 and `util/grub.d/10_linux.in'.
633877cb
RM
25475 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
25476 translatable Shell files.
25477
af1c0c85
RM
254782009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25479
25480 * Makefile.in ($(srcdir)/aclocal.m4): New target.
25481
769ae37b
RM
254822009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25483
25484 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 25485 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
25486 * util/grub.d/10_kfreebsd.in (bindir): New variable.
25487 Add gettext initialization.
25488 (kfreebsd_entry): Make menuentry output translatable.
25489
254902009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25491
25492 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
25493 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
25494 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
25495 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
25496 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 25497 * po/LINGUAS: New file.
769ae37b
RM
25498
254992009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25500
25501 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
25502 other things).
25503 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
25504 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
25505 bindtextdomain() calls for gettext initialization.
25506
255072009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25508
25509 * gnulib/progname.c: New file (imported from Gnulib).
25510 * gnulib/progname.h: Likewise.
25511 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25512 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
25513 (usage): Replace `progname' with `program_name'.
25514 (main): Use set_program_name() for program name initialization.
25515
255162009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25517
25518 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
25519 from here ...
25520 * Makefile.in (CPPFLAGS): ... to here.
25521
255222009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25523
25524 * aclocal.m4: Move from here ...
25525 * acinclude.m4: ... to here.
25526 * autogen.sh: Add call to `aclocal'.
25527 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
25528
255292009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25530
25531 * Makefile.in (CLEANFILES): Add `po/*.mo'.
25532 (LINGUAS): New variable.
25533 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
25534 (install-local): Install MO files.
25535 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
25536 * include/grub/i18n.h: New file.
3bc7896c
RM
25537 * po/POTFILES: New file.
25538 * po/ca.po: New file.
769ae37b
RM
25539 * util/grub.d/10_linux.in (bindir): New variable.
25540 Add gettext initialization.
25541 (linux_entry): Make menuentry output translatable.
25542 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
25543 (usage): Make --help output translatable.
25544 (main): Initialize gettext.
25545
02c0a6ad
RM
255462009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25547
25548 * import_gcry.py: New file (written by Vladimir with minor
25549 adjustments).
25550 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
25551 ciphers.
25552 * INSTALL: Document that Python is required for bootstrap.
25553
255542009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25555
25556 Import ciphers from libgcrypt 1.4.4.
25557
25558 * lib/libgcrypt/cipher/ChangeLog
25559 * lib/libgcrypt/cipher/ac.c
25560 * lib/libgcrypt/cipher/arcfour.c
25561 * lib/libgcrypt/cipher/bithelp.h
25562 * lib/libgcrypt/cipher/blowfish.c
25563 * lib/libgcrypt/cipher/camellia-glue.c
25564 * lib/libgcrypt/cipher/camellia.c
25565 * lib/libgcrypt/cipher/camellia.h
25566 * lib/libgcrypt/cipher/cast5.c
25567 * lib/libgcrypt/cipher/cipher.c
25568 * lib/libgcrypt/cipher/crc.c
25569 * lib/libgcrypt/cipher/des.c
25570 * lib/libgcrypt/cipher/dsa.c
25571 * lib/libgcrypt/cipher/ecc.c
25572 * lib/libgcrypt/cipher/elgamal.c
25573 * lib/libgcrypt/cipher/hash-common.c
25574 * lib/libgcrypt/cipher/hash-common.h
25575 * lib/libgcrypt/cipher/hmac-tests.c
25576 * lib/libgcrypt/cipher/md.c
25577 * lib/libgcrypt/cipher/md4.c
25578 * lib/libgcrypt/cipher/md5.c
25579 * lib/libgcrypt/cipher/primegen.c
25580 * lib/libgcrypt/cipher/pubkey.c
25581 * lib/libgcrypt/cipher/rfc2268.c
25582 * lib/libgcrypt/cipher/rijndael-tables.h
25583 * lib/libgcrypt/cipher/rijndael.c
25584 * lib/libgcrypt/cipher/rmd.h
25585 * lib/libgcrypt/cipher/rmd160.c
25586 * lib/libgcrypt/cipher/rsa.c
25587 * lib/libgcrypt/cipher/seed.c
25588 * lib/libgcrypt/cipher/serpent.c
25589 * lib/libgcrypt/cipher/sha1.c
25590 * lib/libgcrypt/cipher/sha256.c
25591 * lib/libgcrypt/cipher/sha512.c
25592 * lib/libgcrypt/cipher/tiger.c
25593 * lib/libgcrypt/cipher/twofish.c
25594 * lib/libgcrypt/cipher/whirlpool.c
25595
af2f93ac
RM
255962009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25597
25598 Fix build for systems without error().
25599
25600 * gnulib/error.c: New file (imported from Gnulib).
25601 * gnulib/error.h: Likewise.
25602 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
25603 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
25604 (this variable is now used by error()).
25605
73fb3dd5
FZ
256062009-11-16 Felix Zielcke <fzielcke@z-51.de>
25607
814f5e96
FZ
25608 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
25609 instead of relying that char is signed.
73fb3dd5 25610
a691ca33
VS
256112009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
25612
25613 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
25614 blocksize different from specified.
25615 (grub_pxefs_read): Likewise.
25616
2af8f0f4
FZ
256172009-11-16 Felix Zielcke <fzielcke@z-51.de>
25618
25619 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
25620
25621 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
25622 (grub_ata_readwrite): Likewise. Update 2 format strings.
25623 (grub_atapi_read): Likewise.
25624
25625 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
25626 * conf/i386.rmk (pkglib_MODULES): ... to here ...
25627 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
25628 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
25629 (ata_mod_LDFLAGS): Move from here ...
25630 * conf/i386.rmk: ... to here ...
25631 * conf/x86_64-efi.rmk: ... and here.
25632 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
25633 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
25634
83bdecaf
RM
256352009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25636
25637 Relicense multiboot.h, with RMS' blessing.
25638
25639 * include/multiboot.h: Change to X11 license.
25640
fd6fd3d7
RM
256412009-11-15 Robert Millan <rmh.grub@aybabtu.com>
25642
25643 Support --version in grub-mkisofs.
25644
25645 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
25646 (OPTION_VERSION): New macro.
25647 (ld_options): Recognize --version.
25648 (usage): Move `program_name' from here ...
25649 (program_name): ... to here. Add `static' qualifier.
25650 (main): Recognize `OPTION_VERSION'.
25651
16a88c49
FZ
256522009-11-15 Felix Zielcke <fzielcke@z-51.de>
25653
25654 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
25655 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
25656
a4158476
RM
256572009-11-14 Robert Millan <rmh.grub@aybabtu.com>
25658
25659 Fix help2man generation for mkisofs.
25660
25661 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
25662 (usage): Send output to stdout (rather than stderr).
25663
fc2208b0
RM
256642009-11-14 Robert Millan <rmh.grub@aybabtu.com>
25665
25666 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
25667 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
25668 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
25669 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
25670 (bin_SCRIPTS): Add `grub-mkfloppy'.
25671 (grub_mkfloppy_SOURCES): New variable.
25672
25673 * util/grub-mkrescue.in: New file.
25674 * util/i386/pc/grub-mkfloppy.in: New file.
25675
25676 * util/i386/coreboot/grub-mkrescue.in: Remove.
25677 * util/i386/pc/grub-mkrescue.in: Remove.
25678
8d0edf4a
RM
256792009-11-13 Robert Millan <rmh.grub@aybabtu.com>
25680
25681 * include/grub/multiboot.h (struct grub_multiboot_header): Move
25682 from here ...
25683 * include/multiboot.h (struct multiboot_header): ... to here. Update
25684 all users.
25685 * include/grub/multiboot.h (struct grub_multiboot_info): Move
25686 from here ...
25687 * include/multiboot.h (struct multiboot_info): ... to here. Update
25688 all users.
25689 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
25690 from here ...
25691 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
25692 Update all users.
25693 * include/grub/multiboot.h (struct grub_mod_list): Move
25694 from here ...
25695 * include/multiboot.h (struct multiboot_mod_list): ... to here.
25696 Update all users.
25697
a73f5969
RM
256982009-11-13 Robert Millan <rmh.grub@aybabtu.com>
25699
25700 * include/multiboot2.h (multiboot_word): Rename from this ...
25701 (multiboot2_word): ... to this. Update all users.
25702 (multiboot_header): Rename from this ...
25703 (multiboot2_header): ... to this. Update all users.
25704 (multiboot_tag_header): Rename from this ...
25705 (multiboot2_tag_header): ... to this. Update all users.
25706 (multiboot_tag_start): Rename from this ...
25707 (multiboot2_tag_start): ... to this. Update all users.
25708 (multiboot_tag_name): Rename from this ...
25709 (multiboot2_tag_name): ... to this. Update all users.
25710 (multiboot_tag_module): Rename from this ...
25711 (multiboot2_tag_module): ... to this. Update all users.
25712 (multiboot_tag_memory): Rename from this ...
25713 (multiboot2_tag_memory): ... to this. Update all users.
25714 (multiboot_tag_unused): Rename from this ...
25715 (multiboot2_tag_unused): ... to this. Update all users.
25716 (multiboot_tag_end): Rename from this ...
25717 (multiboot2_tag_end): ... to this. Update all users.
25718
1c8927f0
RM
257192009-11-13 Robert Millan <rmh.grub@aybabtu.com>
25720
25721 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
25722 this platform we should support Multiboot1 first.
25723
25724 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
25725 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
25726 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
25727
6e1e0d89
RM
257282009-11-12 Robert Millan <rmh.grub@aybabtu.com>
25729
25730 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
25731 of write calls (converting them to fwrite() if they aren't already).
25732 (get_torito_desc): Likewise.
25733 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
25734
7f2b34d8
RM
257352009-11-12 Robert Millan <rmh.grub@aybabtu.com>
25736
25737 * util/i386/pc/grub-install.in: Move from here ...
25738 * util/grub-install.in: ... to here. Update all users.
25739
c0ef3311
CW
257402009-11-11 Colin Watson <cjwatson@ubuntu.com>
25741
25742 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
25743
e1f240ff
RM
257442009-11-11 Robert Millan <rmh.grub@aybabtu.com>
25745
25746 Support for El Torito without floppy emulation.
25747
25748 * util/mkisofs/eltorito.c: Include `<errno.h>'.
25749 (init_boot_catalog): Improve error handling.
25750 (get_torito_desc): Don't use floppy emulation unless requested by
25751 user. Patch boot information table when requested via
25752 `-boot-info-table'.
25753 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
25754 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
25755 (use_boot_info_table): New variables.
25756 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
25757 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
25758 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
25759 `--eltorito-emul-floppy'.
25760 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
25761 and `OPTION_ELTORITO_EMUL_FLOPPY'.
25762 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
25763 (use_boot_info_table, get_731): New prototypes.
25764 * util/mkisofs/write.c (get_731): New function.
25765
af7d4de5
FZ
257662009-11-11 Felix Zielcke <fzielcke@z-51.de>
25767
25768 Fix the generation of the man page.
25769
25770 * util/pc/i386/grub-install.in: Source
25771 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
25772
2c55dbc0
RM
257732009-11-11 Robert Millan <rmh.grub@aybabtu.com>
25774
25775 Large file support for grub-mkisofs.
25776
25777 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
25778 * util/mkisofs/mkisofs.c (next_extent, last_extent)
25779 (session_start): Upgrade type to `uint64_t'. Update all users.
25780 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
25781 (struct directory_entry): Upgrade type of `starting_block' and
25782 `size' to `uint64_t'. Update all users.
25783 (struct deferred): Remove unused structure.
25784 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
25785 Update all users.
25786 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
25787 file is larger than `UINT32_MAX'.
25788 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
25789 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
25790 return value.
25791 (struct deferred_write): Upgrade type of `extent' and `size' to
25792 `uint64_t'. Update all users.
25793 (last_extent_written): Upgrade type to `uint64_t'. Update all
25794 users.
25795 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
25796 Update all users. Upgrade type of `remain' to `int64_t' and
25797 `use' to `size_t'. Use error() to handle fread() errors.
25798 (write_files): Rely on write_one_file() rather than calling
25799 xfwrite() directly.
25800
6a9cead5
FZ
258012009-11-09 Felix Zielcke <fzielcke@z-51.de>
25802
25803 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
25804
4825d790
RM
258052009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25806
25807 * util/mkisofs/fnmatch.c: Remove.
25808 * util/mkisofs/getopt1.c: Likewise.
25809 * util/mkisofs/getopt.c: Likewise.
25810 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
25811 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
25812 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
25813 `gnulib/getopt1.c' and `gnulib/getopt.c'.
25814 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
25815
25816 * configure.ac: Detect `mingw32msvc' host_os.
25817 Check for lstat(), getuid() and getgid().
25818
25819 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
25820 instances of `u_char' with `uint8_t'.
25821
25822 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
25823 [!HAVE_GETUID] (getuid): New function (stub).
25824 [!HAVE_GETGID] (getgid): Likewise.
25825 [!HAVE_LSTAT] (lstat): Likewise.
25826 [!S_IROTH] (S_IROTH): New macro (dummy).
25827 [!S_IRGRP] (S_IRGRP): Likewise.
25828
84b860d8
RM
258292009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25830
25831 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
25832 conditional expression).
25833
66e9b712
RM
258342009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25835
25836 Import from Gnulib.
25837
25838 * gnulib/fnmatch.c: New file.
25839 * gnulib/fnmatch.h: Likewise.
25840 * gnulib/fnmatch_loop.c: Likewise.
25841 * gnulib/getopt.c: Likewise.
25842 * gnulib/getopt.h: Likewise.
25843 * gnulib/getopt1.c: Likewise.
25844 * gnulib/getopt_int.h: Likewise.
25845 * gnulib/gettext.h: Likewise.
25846
34f4a5b0
RM
258472009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25848
25849 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
25850 * normal/handler.c (read_handler_list): Likewise.
25851
ac451143
RM
258522009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25853
25854 Misc cleanup.
25855
25856 * kern/command.c (grub_register_command_prio): Use
25857 grub_zalloc() instead of explicitly zeroing data.
25858 * kern/list.c: Include `<grub/mm.h>'.
25859 (grub_named_list_find): Replace `0' with `NULL'.
25860 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
25861 (fs_module_list): Change type to `grub_named_list_t'. Update all
25862 users.
25863 * normal/dyncmd.c (read_command_list): Add space between function
25864 call and parenthesis.
25865 * normal/handler.c (read_handler_list): Likewise.
25866
4089b167
RM
258672009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25868
25869 * normal/auth.c (punishment_delay): Moved from here ...
25870 (grub_auth_strcmp): ... to here (inside function).
25871
325f5037
RM
258722009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25873
25874 * include/grub/list.h (struct grub_named_list): Remove `const'
25875 qualifier from `name'.
25876 (struct grub_prio_list): Likewise.
25877
7aea29a3
RM
258782009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25879
25880 * normal/auth.c: Include `<grub/time.h>'.
25881 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
25882
3fd6f044
RM
258832009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25884
25885 * normal/auth.c (punishment_delay): New variable.
25886 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
25887 (grub_auth_check_authentication): Punish failed login attempts with
25888 an incremental (2^N) delay.
25889
a4cd68e4
RM
258902009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25891
25892 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
25893 path with $(srcdir).
25894
7ad12f43
VS
258952009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
25896
25897 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
25898
c1129f03
RM
258992009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25900
25901 * util/i386/coreboot/grub-mkrescue.in: New file.
25902 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
25903 variables.
25904
25905 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
25906 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
25907 * configure.ac: Add header and function checks to satisfy grub-mkisofs
25908 requirements.
25909 * util/mkisofs/defaults.h: New file.
25910 * util/mkisofs/eltorito.c: Likewise.
25911 * util/mkisofs/exclude.h: Likewise.
25912 * util/mkisofs/fnmatch.c: Likewise.
25913 * util/mkisofs/getopt.c: Likewise.
25914 * util/mkisofs/getopt1.c: Likewise.
25915 * util/mkisofs/hash.c: Likewise.
25916 * util/mkisofs/include/fctldefs.h: Likewise.
25917 * util/mkisofs/include/mconfig.h: Likewise.
25918 * util/mkisofs/include/prototyp.h: Likewise.
25919 * util/mkisofs/include/statdefs.h: Likewise.
25920 * util/mkisofs/iso9660.h: Likewise.
25921 * util/mkisofs/joliet.c: Likewise.
25922 * util/mkisofs/match.c: Likewise.
25923 * util/mkisofs/match.h: Likewise.
25924 * util/mkisofs/mkisofs.c: Likewise.
25925 * util/mkisofs/mkisofs.h: Likewise.
25926 * util/mkisofs/multi.c: Likewise.
25927 * util/mkisofs/name.c: Likewise.
25928 * util/mkisofs/rock.c: Likewise.
25929 * util/mkisofs/tree.c: Likewise.
25930 * util/mkisofs/write.c: Likewise.
25931
ec8bb77d
VS
259322009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
25933
25934 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
25935 being insecure.
25936
3716b12c
RM
259372009-11-08 Robert Millan <rmh.grub@aybabtu.com>
25938
25939 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
25940 `grub-mkimage' (and use $0 when possible).
25941
b97b7b91
RM
259422009-11-08 Robert Millan <rmh.grub@aybabtu.com>
25943
25944 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
25945 error message for excessively large memory map.
25946
04114812
RM
259472009-11-08 Robert Millan <rmh.grub@aybabtu.com>
25948
25949 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
25950 executable bit.
25951
e4eb2373
RM
259522009-11-08 Robert Millan <rmh.grub@aybabtu.com>
25953
25954 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
25955 message for coreboot users.
25956
c926e1d5 259572009-11-07 Robert Millan <rmh.grub@aybabtu.com>
25958
25959 Fix build with GNU gold.
25960
25961 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
25962 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
25963 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
25964 link addresses.
25965 * aclocal.m4: Likewise.
25966
86e5b1db 259672009-11-04 Felix Zielcke <fzielcke@z-51.de>
25968
25969 * configure.ac (AC_PREREQ): Bump to 2.59d.
25970 * INSTALL: Make it more clear when Autoconf and Ruby are
25971 needed and when to run `./autogen.sh'.
25972
246cd78f 259732009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
25974
25975 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
25976 OSes.
25977
4f9dfb37 259782009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
25979
25980 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
25981
b82bd5e1 259822009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
25983
25984 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
25985 giving it to GNU Mach.
25986
ff1a9bca 259872009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
25988
25989 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
25990 GNU partition number to get internal GRUB partition number.
25991
61697d9c 259922009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
25993
25994 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
25995 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
25996
a50569e1 259972009-11-01 Robert Millan <rmh.grub@aybabtu.com>
25998
25999 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
26000 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
26001 case.
26002
5b153867 260032009-11-01 Felix Zielcke <fzielcke@z-51.de>
26004
26005 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
26006
d9e2cd70 260072009-10-30 Robert Millan <rmh.grub@aybabtu.com>
26008
26009 Fix build problem.
26010
26011 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
26012 `-isystem=$(srcdir)/include'.
26013
805111a4 260142009-10-30 Robert Millan <rmh.grub@aybabtu.com>
26015
26016 * util/i386/pc/grub-install.in: Remove hint that device.map should be
26017 checked (grub-install doesn't currently rely on it).
26018
fa6e945f 260192009-10-29 Robert Millan <rmh.grub@aybabtu.com>
26020
26021 Revert SVN r2660.
26022
26023 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
26024 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
26025 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
26026 * conf/i386-ieee1275.rmk: Likewise.
26027 * conf/i386-pc.rmk: Likewise.
26028 * conf/powerpc-ieee1275.rmk: Likewise.
26029 * conf/sparc64-ieee1275.rmk: Likewise.
26030 * conf/x86_64-efi.rmk: Likewise.
26031
cee15086 260322009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26033
26034 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
26035
95b9239e 260362009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26037
26038 * include/grub/misc.h: Stop checking for APPLE_CC.
26039
2ed19dfd 260402009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26041
26042 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
26043 doesn't cause an infinite call loop.
26044
fdcdde19 260452009-10-28 Felix Zielcke <fzielcke@z-51.de>
26046
26047 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
26048 strings.
26049
cefabfe1 260502009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26051
26052 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
26053 variable.
26054 * Makefile.in: Likewise.
26055
ed96ab6d 260562009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26057
26058 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
26059
0579b753 260602009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26061
26062 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
26063
478df409 260642009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26065
26066 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
26067
083d1679 260682009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26069
26070 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
26071 from here ...
26072 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
26073
5947ae32 260742009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26075
26076 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
26077 in $(MAKEINFO) invocation. This makes it clear in output that
26078 errors are being ignored.
26079
94180ff6 260802009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26081
26082 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
26083 from here ...
26084 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
26085 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
26086 * conf/i386-ieee1275.rmk: Likewise.
26087 * conf/i386-pc.rmk: Likewise.
26088 * conf/powerpc-ieee1275.rmk: Likewise.
26089 * conf/sparc64-ieee1275.rmk: Likewise.
26090 * conf/x86_64-efi.rmk: Likewise.
26091
9031b03a 260922009-10-26 Colin Watson <cjwatson@ubuntu.com>
26093
26094 * util/grub-editenv.c (main): If only a command is given, use
26095 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
26096 (usage): FILENAME is now optional and has a default.
26097
e4f6809b 260982009-10-26 Colin Watson <cjwatson@ubuntu.com>
26099
26100 Improve grub-mkconfig performance when there are several menu
26101 entries on a single filesystem.
26102
26103 * util/grub.d/10_linux.in (linux_entry): Cache the output of
26104 prepare_grub_to_access_device.
26105 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26106 * util/grub.d/30_os-prober.in: Likewise.
26107
67937d4d 261082009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26109
26110 * util/grub.d/10_freebsd.in: Remove.
26111 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
26112 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
26113
ee3756cc 261142009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26115
5c35048e 26116 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 26117
4dea1c6f 261182009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26119
26120 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
26121 grub_util_error() call.
26122
042484d7 261232009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26124
26125 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
26126 `reserved_first_sector' member.
26127 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
26128 `reserved_first_sector' to 1.
26129 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
26130 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
26131 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
26132 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
26133 filesystems which begin at first sector.
26134 (options): New option --skip-fs-probe.
26135 (main): Handle --skip-fs-probe and pass it to setup().
26136
d64448a7 261372009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26138
26139 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
26140 (memset): Fix function prototype.
26141
508d42ec 261422009-10-25 Robert Millan <rmh.grub@aybabtu.com>
261432009-10-25 Vasily Averin <vvs@parallels.com>
26144
26145 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
26146 `dirent.direntlen == 0'.
26147
b240e30c 261482009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26149
26150 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
26151 `cpio'.
26152 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
26153
346e7fbe 261542009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26155
26156 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
26157 `__trampoline_setup' and `__ucmpdi2'.
26158 * include/grub/powerpc/libgcc.h: Only export symbols for functions
26159 that libgcc provides.
26160
cdb308b0 261612009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26162
26163 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
26164 * include/grub/sparc64/libgcc.h (memset): Likewise.
26165 * include/grub/misc.h (memset, memcmp): New function prototypes.
26166
fb26abc2 261672009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26168
26169 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
26170 `cpio'.
26171 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
26172
f6693890 261732009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26174
26175 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
26176 * docs/grub.cfg: Compensate for recent change in multiboot
26177 loader (since 2009-08-14 it won't pass filename to payload).
26178 * util/grub.d/10_hurd.in: Likewise.
26179
0933cdc0 261802009-10-21 Felix Zielcke <fzielcke@z-51.de>
26181
26182 * config.guess: Update to latest version from config git
26183 repository.
26184 * config.sub: Likewise.
26185
3b2fe8c2 261862009-10-20 Robert Millan <rmh.grub@aybabtu.com>
26187
26188 Fix build on sparc64.
26189
26190 * configure.ac: Perform checks for libgcc symbols before
26191 adding `-nostdlib' to LDFLAGS.
26192
46695a62 261932009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
26194
26195 Let user specify OpenBSD root device.
26196
26197 * loader/i386/bsd.c (openbsd_root): New variable.
26198 (openbsd_opts): New option 'root'.
26199 (OPENBSD_ROOT_ARG): New macro.
26200 (grub_openbsd_boot): Use 'openbsd_root'.
26201 (grub_cmd_openbsd): Fill 'openbsd_root'.
26202
d2b6b7fc 262032009-10-16 Robert Millan <rmh.grub@aybabtu.com>
26204
26205 * NEWS: Misc adjustments.
26206
421bd7ac 262072009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
26208
26209 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
26210
f1d29d87 262112009-10-16 Robert Millan <rmh.grub@aybabtu.com>
26212
26213 * configure.ac: Bump version to 1.97.
26214
6f3cd880 262152009-10-16 Colin Watson <cjwatson@ubuntu.com>
26216
26217 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
26218 -mno-3dnow on x86 architectures. Some toolchains enable these
26219 features by default, but they rely on registers that aren't enabled
26220 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
26221
035f7122 262222009-10-15 Robert Millan <rmh.grub@aybabtu.com>
26223
26224 Make entry text a bit more readable.
26225
26226 * util/grub.d/10_linux.in: Add `with' before `Linux'.
26227
44998e58 262282009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26229
26230 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
26231
cd2851b3 262322009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26233
26234 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
26235 operations.
26236
c6f3b249 262372009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26238
26239 * configure.ac: Add missing dollar.
26240
6b5886ba 262412009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26242
26243 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
26244
26245 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
26246 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
26247 exports.
26248 * include/grub/sparc64/libgcc.h: Likewise. Use
26249 preprocessor conditionals.
26250
e9d66f6d 262512009-10-14 Robert Millan <rmh.grub@aybabtu.com>
26252
26253 * conf/common.rmk (grub-dumpbios): Remove rule.
26254 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
26255 * util/grub-dumpbios.in: Remove file.
26256
9155bc17 262572009-10-14 Robert Millan <rmh.grub@aybabtu.com>
26258
26259 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
26260 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
26261
26262 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
26263 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
26264 users.
26265
26266 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
26267 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
26268 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
26269 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
26270 users.
26271
bf7f7a18 262722009-10-12 Robert Millan <rmh.grub@aybabtu.com>
26273
26274 * term/tparm.c: Switch to GPLv3.
26275
86564c26 262762009-10-09 Robert Millan <rmh.grub@aybabtu.com>
26277
26278 * include/grub/i386/cpuid.h: Add header protection.
26279
5c936493 262802009-10-09 Robert Millan <rmh.grub@aybabtu.com>
26281
26282 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
26283
26284 * include/grub/i386/cpuid.h: New file.
26285 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
26286 (has_longmode): Rename to ...
26287 (grub_cpuid_has_longmode): ... this. Update all users. Remove
26288 `static' attribute.
26289 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
26290 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
26291 on a CPU that doesn't implement AMD64 instruction set.
26292
186e7cf2 262932009-10-06 Colin Watson <cjwatson@ubuntu.com>
26294
26295 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
26296 that version.texi is rebuilt on version number changes.
26297
83b65c4a 262982009-10-06 Colin Watson <cjwatson@ubuntu.com>
26299
26300 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
26301 Fixes bug #27602.
26302
d244281c 263032009-10-06 Colin Watson <cjwatson@ubuntu.com>
26304
26305 * util/i386/pc/grub-install.in: Source
26306 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
26307 that the --grub-probe option will work.
26308 * util/sparc64/ieee1275/grub-install.in: Likewise.
26309
da25306d 263102009-10-05 Robert Millan <rmh.grub@aybabtu.com>
26311
26312 * configure.ac: Bump version to 1.97~beta4.
26313
e8ee83c0 263142009-10-03 Robert Millan <rmh.grub@aybabtu.com>
26315
26316 Resync grub-mkdevicemap in x86_64-efi.
26317
26318 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
26319 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
26320 `util/devicemap.c'.
26321
50dcabcf 263222009-10-01 Colin Watson <cjwatson@ubuntu.com>
26323
26324 * util/grub-editenv.c (create_envblk_file): Write new block with a
26325 .new suffix and then rename it into place, to ensure atomic
26326 creation.
26327
0e51c3a7 263282009-09-28 Robert Millan <rmh.grub@aybabtu.com>
26329
26330 Do not automatically install headers.
26331
26332 * Makefile.in (include_DATA): Remove. Update all users.
26333
31299a95 263342009-09-26 Robert Millan <rmh.grub@aybabtu.com>
26335
26336 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
26337 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
26338
26339 * util/osdetect.lua: Remove.
26340 * script/lua/lauxlib.c: Likewise.
26341 * script/lua/ldebug.c: Likewise.
26342 * script/lua/grub_main.c: Likewise.
26343 * script/lua/lauxlib.h: Likewise.
26344 * script/lua/ldebug.h: Likewise.
26345 * script/lua/ltablib.c: Likewise.
26346 * script/lua/liolib.c: Likewise.
26347 * script/lua/lstrlib.c: Likewise.
26348 * script/lua/lualib.h: Likewise.
26349 * script/lua/ldo.c: Likewise.
26350 * script/lua/ldump.c: Likewise.
26351 * script/lua/ldo.h: Likewise.
26352 * script/lua/loslib.c: Likewise.
26353 * script/lua/lundump.c: Likewise.
26354 * script/lua/grub_lib.c: Likewise.
26355 * script/lua/ldblib.c: Likewise.
26356 * script/lua/lundump.h: Likewise.
26357 * script/lua/lmem.c: Likewise.
26358 * script/lua/grub_lib.h: Likewise.
26359 * script/lua/lmathlib.c: Likewise.
26360 * script/lua/lstate.c: Likewise.
26361 * script/lua/ltm.c: Likewise.
26362 * script/lua/lvm.c: Likewise.
26363 * script/lua/lmem.h: Likewise.
26364 * script/lua/lstate.h: Likewise.
26365 * script/lua/ltm.h: Likewise.
26366 * script/lua/ltable.c: Likewise.
26367 * script/lua/lvm.h: Likewise.
26368 * script/lua/llex.c: Likewise.
26369 * script/lua/lgc.c: Likewise.
26370 * script/lua/grub_lua.h: Likewise.
26371 * script/lua/loadlib.c: Likewise.
26372 * script/lua/lfunc.c: Likewise.
26373 * script/lua/lopcodes.c: Likewise.
26374 * script/lua/lparser.c: Likewise.
26375 * script/lua/ltable.h: Likewise.
26376 * script/lua/llex.h: Likewise.
26377 * script/lua/lgc.h: Likewise.
26378 * script/lua/lfunc.h: Likewise.
26379 * script/lua/lbaselib.c: Likewise.
26380 * script/lua/lopcodes.h: Likewise.
26381 * script/lua/lparser.h: Likewise.
26382 * script/lua/lzio.c: Likewise.
26383 * script/lua/linit.c: Likewise.
26384 * script/lua/lobject.c: Likewise.
26385 * script/lua/llimits.h: Likewise.
26386 * script/lua/lstring.c: Likewise.
26387 * script/lua/lzio.h: Likewise.
26388 * script/lua/lapi.c: Likewise.
26389 * script/lua/lcode.c: Likewise.
26390 * script/lua/lua.h: Likewise.
26391 * script/lua/lobject.h: Likewise.
26392 * script/lua/lstring.h: Likewise.
26393 * script/lua/lapi.h: Likewise.
26394 * script/lua/lcode.h: Likewise.
26395 * script/lua/luaconf.h: Likewise.
26396
cb8a2c38 263972009-09-26 Colin Watson <cjwatson@ubuntu.com>
26398
26399 * docs/grub.texi (Command-line and menu entry commands): Document
26400 date and echo commands.
26401
6b9b6276 264022009-09-24 Pavel Roskin <proski@gnu.org>
26403
26404 * include/grub/kernel.h (struct grub_module_header): Remove
26405 `grub_module_header_types'. Make `type' unsigned. Make `size'
26406 32-bit on all platforms.
26407 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
26408 8-bit field. Use grub_host_to_target32() for `size'.
26409 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
26410 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
26411 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
26412
4e5a02a7 264132009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26414
26415 Fix "lost keypress" bug in at_keyboard.
26416
26417 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
26418 Checks for readyness of input buffer (without flushing it).
26419 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
26420 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
26421
c6dcedf6 264222009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26423
26424 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
26425 size check within GRUB_MACHINE_PCBIOS section.
26426
74c958b1 264272009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26428
26429 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
26430 return value.
26431 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
26432 KEYBOARD_ISREADY check.
26433 (grub_at_keyboard_checkkey): Rename to ...
26434 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
26435 Remove gratuitous cast.
26436
ff420223 264372009-09-23 Colin Watson <cjwatson@ubuntu.com>
26438
26439 * configure.ac: Call AC_PROG_MKDIR_P.
26440 * Makefile.in (docs/stamp-vti): Create docs directory. Create
26441 version.texi in $(builddir) rather than $(srcdir).
26442 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
26443 to makeinfo's @include search path.
26444
d96875df 264452009-09-23 Felix Zielcke <fzielcke@z-51.de>
26446
26447 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
26448
9b3f8365 264492009-09-23 Felix Zielcke <fzielcke@z-51.de>
26450
26451 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
26452 for `*.dpkg-new'.
26453
c44c90db 264542009-09-21 Colin Watson <cjwatson@ubuntu.com>
26455
26456 Build info documentation. Some code borrowed from Automake.
26457
26458 * configure.ac: Check for makeinfo.
26459 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
26460 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
26461 docs/version.texi.
26462 (MOSTLYCLEANFILES): Add vti.tmp.
26463 (docs/version.texi, docs/stamp-vti): Update automatically.
26464 (docs/grub.info): Build info documentation. Use --force and ignore
26465 errors for now.
26466 (all-local): Add $(INFOS).
26467 (install-local): Install info files.
26468 (uninstall): Uninstall info files.
26469 * docs/version.texi: Remove from revision control. This file is
26470 automatically generated on build now.
26471 * gendistlist.sh: Add `*.info'.
26472
e0b37bb5 264732009-09-21 Felix Zielcke <fzielcke@z-51.de>
26474
26475 * kern/term.c: Fix indentation.
26476
5a78865b 264772009-09-21 Felix Zielcke <fzielcke@z-51.de>
26478
26479 * util/hostdisk.c: Fix a comment.
26480
dace7e8a 264812009-09-20 Robert Millan <rmh.grub@aybabtu.com>
26482
26483 Fix regression introduced in r2539.
26484
26485 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
26486 to 0xA1.
26487
a83d079b 264882009-09-19 Colin Watson <cjwatson@ubuntu.com>
26489
26490 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 26491 os-prober. Under normal operation, it does not print anything to
26492 stderr; if it does, we need to debug it, and throwing away stderr
26493 makes that excessively difficult.
a83d079b 26494
be94a509 264952009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
26496
26497 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
26498
63f745e8 264992009-09-16 Robert Millan <rmh.grub@aybabtu.com>
26500
26501 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
26502 AC_LANG_PROGRAM from autoconf.
26503 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
26504 prototypes (fixes warning).
26505
26506 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
26507 `--disable-werror' was used.
26508
bbb2a70f 265092009-09-16 Robert Millan <rmh.grub@aybabtu.com>
26510
26511 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
26512 uninitialized `lastaddr'.
26513
77c24f1d 265142009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
26515
0f0b8c87 26516 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 26517
07197f23 265182009-09-14 Colin Watson <cjwatson@ubuntu.com>
26519
26520 * commands/test.c (get_fileinfo): Return immediately if
26521 grub_fs_probe fails.
26522
dabf1798 265232009-09-14 José Martínez <xosemp@gmail.com>
26524
26525 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
26526
d52109a7 265272009-09-14 Colin Watson <cjwatson@ubuntu.com>
26528
26529 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
26530 output.
26531
56532179 265322009-09-13 Robert Millan <rmh.grub@aybabtu.com>
26533
26534 * configure.ac: Remove --enable-grub-pe2elf. Only build
26535 grub-pe2elf when needed by the build system itself.
26536 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
26537
8ef070f5 265382009-09-12 Robert Millan <rmh.grub@aybabtu.com>
26539
26540 * configure.ac: Bump version to 1.97~beta3.
26541 * docs/version.texi: Likewise.
26542
61229557 265432009-09-12 Robert Millan <rmh.grub@aybabtu.com>
26544
26545 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
26546 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
26547 from here ...
26548 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
26549 (grub_linux_setup_video): ... to here (with some adjustments).
26550
5c9f8d84 265512009-09-12 Robert Millan <rmh.grub@aybabtu.com>
26552
26553 Fix memory corruption issue (spotted by Colin Watson).
26554
26555 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
26556 causing returned size to be stored in an incorrect memory location.
26557 Fix use of uninitialized value when storing the returned size.
26558
e8f5d6e9 265592009-09-12 Yves Blusseau <blusseau@zetam.org>
26560
26561 Change clean rules to properly remove files
26562
26563 * genmk.rb: add new clean rules
26564 * Makefile.in (clean): add the new targets
26565 (mostlyclean): likewise
26566
cda2a409 265672009-09-11 Colin Watson <cjwatson@ubuntu.com>
26568
26569 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
26570 to grub_uint64_t.
26571 * fs/ntfs.c (init_file): Understand 64-bit sizes for
26572 non-resident files.
26573
86695375 265742009-09-11 Colin Watson <cjwatson@ubuntu.com>
26575
26576 * configure.ac: Don't look for help2man when cross-compiling. Fixes
26577 part of bug #27349.
26578
8aa1541a 265792009-09-10 Felix Zielcke <fzielcke@z-51.de>
26580
26581 * util/grub-mkconfig.in: Make the created config mode 400 and
26582 print a warning if it fails.
26583
48d9bb0a 265842009-09-10 Robert Millan <rmh.grub@aybabtu.com>
26585
26586 * util/grub.d/40_custom.in: Ask user to type custom entries below
26587 comment, rather than below 'exec tail' line.
26588
3b0521be 265892009-09-10 Colin Watson <cjwatson@ubuntu.com>
26590
26591 * util/grub.d/40_custom.in: Make sure that the explanatory text is
26592 visible in grub.cfg.
26593
50051d55 265942009-09-10 Colin Watson <cjwatson@ubuntu.com>
26595
26596 * util/grub.d/40_custom.in: Make it a little clearer how to use this
26597 file.
26598
c0d34387 265992009-09-10 Felix Zielcke <fzielcke@z-51.de>
26600
26601 * docs/grub.cfg: Add an example menu entry for memtest86+.
26602
80a608f3 266032009-09-09 Felix Zielcke <fzielcke@z-51.de>
26604
a2094832 26605 * config.guess: Update to latest version from config git.
80a608f3 26606 * config.sub: Likewise.
26607
99423078 266082009-09-08 Colin Watson <cjwatson@ubuntu.com>
26609
26610 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
26611 unknown-command case. Fixes bug #27320.
26612
44454e4c 266132009-09-08 Felix Zielcke <fzielcke@z-51.de>
26614
26615 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
26616 `help' if the command exists.
26617
e30d87ad 266182009-09-06 Robert Millan <rmh.grub@aybabtu.com>
26619
26620 * INSTALL: Require GCC 4.1.3 or later.
26621
9a86f1ec 266222009-09-06 Yves Blusseau <blusseau@zetam.org>
26623
26624 * Makefile.in (RMKFILES): add i386-qemu.rmk
26625 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
26626 $(srcdir)/stamp-h.in
26627
7f26d466 266282009-09-05 Robert Millan <rmh.grub@aybabtu.com>
26629
26630 * util/grub-probe.c (probe): Comment out buggy codepath, which
26631 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
26632 should be re-enabled after 1.97.
26633
3a613259 266342009-09-05 Felix Zielcke <fzielcke@z-51.de>
26635
26636 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
26637 find searches for.
26638
197f76c7 266392009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
26640
26641 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
26642 unnecessary calls to grub_error.
26643
70ba68ce 266442009-09-04 Colin Watson <cjwatson@ubuntu.com>
26645
26646 * NEWS: Mention `keystatus' and Unicode fonts.
26647
4ff0d7a4 266482009-09-04 Robert Millan <rmh.grub@aybabtu.com>
26649
26650 * configure.ac: Bump version to 1.97~beta2.
26651 * docs/version.texi: Likewise.
26652
77c55a87 266532009-09-03 Colin Watson <cjwatson@ubuntu.com>
26654
26655 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
26656 containing unwind information in some cases where it previously did
26657 not. Use -fno-dwarf2-cfi-asm if available to restore the old
26658 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
26659 discussion.
26660
f79572cd 266612009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
26662
26663 Embedding loadenv module into grub-emu
26664
26665 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
26666 commands/loadenv.c
26667 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
26668 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
26669 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
26670 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
26671 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
26672 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
26673
93a81088 266742009-09-03 Magnus Granberg <zorry@ume.nu>
26675
26676 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
26677 include -fPIE in the default specs.
26678 * configure.ac: Check if pie_possible is yes and add -fno-PIE
26679 to TARGET_CFLAGS.
26680
160034b2 266812009-09-03 Felix Zielcke <fzielcke@z-51.de>
26682
26683 * INSTALL: Note that GNU Bison 2.3 or later is required.
26684
087c07c4 266852009-09-03 Colin Watson <cjwatson@ubuntu.com>
26686
26687 * kern/i386/pc/startup.S: Fix typo.
26688
cbf978c0 266892009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
26690
26691 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
26692 according to GCS.
26693
266942009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 26695
26696 * docs/grub.texi (Naming convention): Describe one-based partition
26697 numbering.
26698 (Device syntax): Likewise.
26699 (File name syntax): Likewise.
26700 (Block list syntax): Likewise.
26701 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
26702 menu.lst.
26703 (File name syntax): Likewise.
26704 (Command-line and menu entry commands): Document acpi, blocklist,
26705 crc, export, insmod, keystatus, ls, set, and unset commands.
26706
f3e8cdfd 267072009-09-02 Colin Watson <cjwatson@ubuntu.com>
26708
26709 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
26710 to avoid implying that only one of --shift, --ctrl, or --alt may be
26711 used.
26712
c0bc232b 267132009-09-02 Colin Watson <cjwatson@ubuntu.com>
26714
26715 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
26716 rather than comparing against S_IFREG, which will almost never work.
26717
aa0f752d 267182009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
26719
26720 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
26721 (write_blocklists): Likewise.
26722
ecb3166a 267232009-09-01 Colin Watson <cjwatson@ubuntu.com>
26724
26725 * script/lua/grub_lua.h (fputs): Supply a format string as the first
26726 argument to grub_printf.
26727
c403a125 267282009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 26729
26730 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 26731 non GNU test.
31aba781 26732
b5e7312c 267332009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
26734
26735 * kern/file.c (grub_file_read): Spelling fix
26736
fe00f472 267372009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
26738
26739 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
26740 loading of headers in some cases.
26741
cc55302e 267422009-08-30 Robert Millan <rmh.grub@aybabtu.com>
26743
26744 * configure.ac: Bump version to 1.97~beta1.
26745 * docs/version.texi: Likewise.
26746
5c90cdd2 267472009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 26748
26749 * include/grub/i386/xnu.h: Add license header.
26750 include grub/err.h explicitly.
26751
c90edae4 267522009-08-29 Robert Millan <rmh.grub@aybabtu.com>
26753
26754 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
26755 to `ufs' in the vfs.root.mountfrom kernel parameter.
26756
d8888b5c 267572009-08-29 Robert Millan <rmh.grub@aybabtu.com>
26758
26759 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
26760
26761 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
26762 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
26763
26764 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
26765 `ARRAY_SIZE' macro.
26766
6f07b921 267672009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
26768
26769 * kern/file.c (grub_file_read): Check offset.
26770 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
26771 * fs/jfs.c (grub_jfs_read_file): Likewise.
26772 * fs/ntfs.c (grub_ntfs_read): Likewise.
26773 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
26774 * fs/minix.c (grub_minix_read_file): Correct offset check.
26775 * fs/ufs.c (grub_ufs_read_file): Likewise.
26776
b4f34077 267772009-08-28 Colin Watson <cjwatson@ubuntu.com>
26778
26779 * term/i386/pc/console.c (bios_data_area): Cast
26780 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
26781
e7c69859 267822009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
26783
26784 1-bit optimised blitters.
26785
26786 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
26787 prototype.
26788 (grub_video_fbblit_replace_24bit_1bit): Likewise.
26789 (grub_video_fbblit_replace_16bit_1bit): Likewise.
26790 (grub_video_fbblit_replace_8bit_1bit): Likewise.
26791 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
26792 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
26793 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
26794 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
26795 function.
26796 (grub_video_fbblit_replace_24bit_1bit): Likewise.
26797 (grub_video_fbblit_replace_16bit_1bit): Likewise.
26798 (grub_video_fbblit_replace_8bit_1bit): Likewise.
26799 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
26800 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
26801 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
26802 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
26803 when possible.
26804 * video/video.c (grub_video_get_blit_format): Return
26805 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
26806
a57da43f 268072009-08-28 Colin Watson <cjwatson@ubuntu.com>
26808
26809 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
26810 the first argument to grub_printf.
26811
4cbe67e5 268122009-08-28 Colin Watson <cjwatson@ubuntu.com>
268132009-08-28 Robert Millan <rmh.grub@aybabtu.com>
26814
26815 Add `getkeystatus' terminal method. Add a new `keystatus' command
26816 to query it.
26817
26818 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
26819 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
26820 modifier key bitmasks.
26821 (struct grub_term_input): Add `getkeystatus' member.
26822 (grub_getkeystatus): Add prototype.
26823 * kern/term.c (grub_getkeystatus): New function.
26824
26825 * include/grub/i386/pc/memory.h
26826 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
26827 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
26828 Data Area layout.
26829 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
26830 (grub_console_term_input): Set `getkeystatus' member.
26831 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
26832 constants.
26833 (grub_usb_keyboard_getreport): Likewise.
26834 (grub_usb_keyboard_checkkey): Likewise.
26835 (grub_usb_keyboard_getkeystatus): New function.
26836 (grub_usb_keyboard_term): Set `getkeystatus' member.
26837
26838 * commands/keystatus.c: New file.
26839 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
26840 (keystatus_mod_SOURCES): New variable.
26841 (keystatus_mod_CFLAGS): Likewise.
26842 (keystatus_mod_LDFLAGS): Likewise.
26843 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
26844 commands/keystatus.c.
26845 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26846 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26847 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26848 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26849 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26850 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 26851
6e2a9085 268522009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
26853
26854 Split befs.mod and afs.mod into *_be.mod and *.mod
26855
26856 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
26857 (grub_fstest_SOURCES): Likewise.
26858 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
26859 (afs_be_mod_SOURCES): New variable.
26860 (afs_be_mod_CFLAGS): Likewise.
26861 (afs_be_mod_LDFLAGS): Likewise.
26862 (befs_be_mod_SOURCES): Likewise.
26863 (befs_be_mod_CFLAGS): Likewise.
26864 (befs_be_mod_LDFLAGS): Likewise.
26865 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
26866 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26867 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26868 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
26869 (grub_emu_SOURCES): Likewise.
26870 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26871 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26872 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26873 * fs/afs_be.c: New file.
26874 * fs/befs_be.c: New file.
26875 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
26876 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
26877 (U16): Replaced with ...
26878 (grub_afs_to_cpu16): ...this. All users updated.
26879 (U32): Replaced with ...
26880 (grub_afs_to_cpu32): ...this. All users updated.
26881 (U64): Replaced with ...
26882 (grub_afs_to_cpu64): ...this. All users updated.
26883 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
26884 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 26885 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 26886 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
26887 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
26888 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
26889 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
26890 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
26891 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
26892 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
26893 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
26894
32a71655 268952009-08-26 Bean <bean123ch@gmail.com>
26896
26897 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
26898 64-bit number.
26899 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
26900 (grub_xfs_inode_block): Change return type to grub_uint64_t.
26901 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
26902
552bf6c5 269032009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26904
26905 NetBSD memory map support.
26906
26907 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
26908 (grub_netbsd_btinfo_mmap_header): New structure.
26909 (grub_netbsd_btinfo_mmap_entry): Likewise.
26910 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
26911
1ae2078c 269122009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26913
26914 Enable bsd.mod on coreboot.
26915
26916 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
26917 (bsd_mod_SOURCES): New variable.
26918 (bsd_mod_CFLAGS): Likewise.
26919 (bsd_mod_LDFLAGS): Likewise.
26920 (bsd_mod_ASFLAGS): Likewise.
26921 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
26922 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
26923
beefc598 269242009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26925
26926 Cleanup NetBSD root support.
26927
26928 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
26929 grub_bsd_get_device.
26930 Fix typo.
26931
3b76e68b 269322009-08-25 Felix Zielcke <fzielcke@z-51.de>
26933
26934 * util/grub.d/00_header.in: Move check for the video backend of
26935 gfxterm from here ...
26936 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
26937 a suitable video backend.
26938
aea664ea 269392009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26940
26941 Fix breakage in grub-setup.
26942
26943 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
26944 "msdos_partition_map".
26945
ff747d50 269462009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26947
26948 Fix breakage in normal/auth.c.
26949
26950 * normal/auth.c (grub_iswordseparator): New function.
26951
e7e1f93f 269522009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26953
26954 Authentication support.
26955
26956 * commands/password.c: New file.
26957 * conf/common.rmk (pkglib_MODULES): Add password.mod.
26958 (password_mod_SOURCES): New variable.
26959 (password_mod_CFLAGS): Likewise.
26960 (password_mod_LDFLAGS): Likewise.
26961 (normal_mod_SOURCES): Add normal/auth.c.
26962 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
26963 normal/auth.c.
26964 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26965 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26966 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26967 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26968 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26969 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26970 * include/grub/auth.h: New file.
26971 * include/grub/err.h (grub_err_t): New enum value
26972 GRUB_ERR_ACCESS_DENIED.
26973 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
26974 'users'.
26975 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
26976 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
26977 users updated.
26978 * normal/auth.c: New file.
26979 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
26980 (grub_cmdline_run): Don't allow to go to command line without
26981 authentication.
26982 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
26983 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
26984 menuentry without superuser rights.
26985 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
26986 user isn't a superuser.
26987
70f1161d 269882009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26989
26990 Save space by inlining misc.c functions.
26991
26992 * kern/misc.c (grub_iswordseparator): Made static.
26993 * kern/misc.c (grub_strcat): Moved from here ...
26994 * include/grub/misc.h (grub_strcat): ... here. Inlined.
26995 * kern/misc.c (grub_strncat): Moved from here ...
26996 * include/grub/misc.h (grub_strncat): ... here. Inlined.
26997 * kern/misc.c (grub_strcasecmp): Moved from here ...
26998 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
26999 * kern/misc.c (grub_strncasecmp): Moved from here ...
27000 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
27001 * kern/misc.c (grub_isalpha): Moved from here ...
27002 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
27003 * kern/misc.c (grub_isdigit): Moved from here ...
27004 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
27005 * kern/misc.c (grub_isgraph): Moved from here ...
27006 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
27007 * kern/misc.c (grub_tolower): Moved from here ...
27008 * include/grub/misc.h (grub_tolower): ... here. Inlined.
27009
48e40bff 270102009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27011
27012 * script/sh/function.c (grub_script_function_find): Cut error message
27013 not to flood terminal.
27014 * script/sh/lexer.c (grub_script_yylex): Remove command line length
27015 limit.
27016 * script/sh/script.c (grub_script_arg_add): Duplicate string.
27017
c385bfc3 270182009-08-24 Colin Watson <cjwatson@ubuntu.com>
27019
27020 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
27021 `report' grub_uint8_t *.
27022 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
27023 Use a 50-millisecond timeout rather than just repeating
27024 grub_usb_keyboard_getreport 50 times.
27025 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
27026
2d21e3e8 270272009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27028
27029 Rename *_partition_map to part_*
27030
27031 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
27032 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
27033 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
27034 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
27035 All users updated.
27036 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
27037 All users updated.
27038 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
27039 * util/grub-probe.c (probe_partmap): Don't transform partition name
27040 to get module name.
27041
dd103c4e 270422009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27043
27044 Fix OpenBSD and NetBSD support.
27045
27046 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
27047 memory address conflict.
27048 (OPENBSD_MMAP_ACPI): New definition.
27049 (OPENBSD_MMAP_NVS): Likewise.
27050 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
27051 and OPENBSD_MMAP_NVS.
27052 Add memory map terminator
27053 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 27054 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 27055
16c84d74 270562009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27057
27058 Let user specify NetBSD root device.
27059
27060 * loader/i386/bsd.c (netbsd_root): New variable.
27061 (netbsd_opts): New option 'root'.
27062 (NETBSD_ROOT_ARG): New macro.
27063 (grub_netbsd_boot): Use 'netbsd_root'.
27064 (grub_bsd_unload): Free 'netbsd_root'.
27065 (grub_cmd_netbsd): Fill 'netbsd_root'.
27066
adb29902 270672009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27068
27069 Support for 64-bit NetBSD.
27070
27071 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
27072 point when booting non-FreeBSD.
27073
f5ae9f74 270742009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27075
27076 Support --no-smp and --no-acpi for NetBSD.
27077
27078 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
27079 (NETBSD_AB_NOACPI): Likewise.
27080 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
27081 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
27082
de74f136 270832009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27084
27085 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
27086 errors.
27087 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
27088 errors. Call grub_error when needed.
27089
e9a925da 270902009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27091
27092 * commands/search.c (search_fs): Try searching without autoload first.
27093 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
27094 filesystem module explicitly for faster booting.
27095
5174302b 270962009-08-23 Colin Watson <cjwatson@ubuntu.com>
27097
27098 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
27099
c8c80635 271002009-08-23 Colin Watson <cjwatson@ubuntu.com>
27101
27102 * util/grub.d/30_os-prober.in: Disable os-prober if
27103 `GRUB_DISABLE_OS_PROBER' was set to true.
27104
71acf5e5 271052009-08-23 Robert Millan <rmh.grub@aybabtu.com>
27106
27107 * partmap/pc.c: Rename to ...
27108 * partmap/msdos.c: ... this. Update all users.
27109 (grub_pc_partition_map): Rename to ...
27110 (grub_msdos_partition_map): ... this. Update all users.
27111
27112 * parttool/pcpart.c: Rename to ...
27113 * parttool/msdospart.c: ... this. Update all users.
27114
27115 * include/grub/pc_partition.h: Rename to ...
27116 * include/grub/msdos_partition.h: ... this. Update all users.
27117 (grub_pc_partition_bsd_entry): Rename to ...
27118 (grub_msdos_partition_bsd_entry): ... this. Update all users.
27119 (grub_pc_partition_disk_label): Rename to ...
27120 (grub_msdos_partition_disk_label): ... this. Update all users.
27121 (grub_pc_partition_entry): Rename to ...
27122 (grub_msdos_partition_entry): ... this. Update all users.
27123 (grub_pc_partition_mbr): Rename to ...
27124 (grub_msdos_partition_mbr): ... this. Update all users.
27125 (grub_pc_partition): Rename to ...
27126 (grub_msdos_partition): ... this. Update all users.
27127 (grub_pc_partition_is_empty): Rename to ...
27128 (grub_msdos_partition_is_empty): ... this. Update all users.
27129 (grub_pc_partition_is_extended): Rename to ...
27130 (grub_msdos_partition_is_extended): ... this. Update all users.
27131 (grub_pc_partition_is_bsd): Rename to ...
27132 (grub_msdos_partition_is_bsd): ... this. Update all users.
27133
27134 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
27135 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
27136 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
27137 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
27138 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
27139 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
27140 (gpt_mod_LDFLAGS): Rename to ...
27141 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
27142 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
27143 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
27144 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
27145 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
27146 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
27147 (part_gpt_mod_LDFLAGS): ... this.
27148 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
27149 `pcpart.mod' to `msdospart.mod'.
27150 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
27151 to ...
27152 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
27153 (msdospart_mod_LDFLAGS): ... this.
27154
c11fded5 271552009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27156
27157 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
27158 (openbsd_opts): Likewise.
27159 (netbsd_opts): Likewise.
27160 (freebsd_flags): Added 0 terminator.
27161 (openbsd_flags): Likewise.
27162 (netbsd_flags): Likewise.
27163 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
27164 (grub_cmd_freebsd): Transformed into extended command.
27165 (grub_cmd_openbsd): Likewise.
27166 (grub_cmd_netbsd): Likewise.
27167 (cmd_freebsd): Changed type to grub_extcmd_t.
27168 (cmd_openbsd): Likewise.
27169 (cmd_netbsd): Likewise.
27170 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
27171 grub_cmd_openbsd as extended commands.
27172 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
27173 cmd_netbsd and cmd_openbsd
27174
11d1c769 271752009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
27176
27177 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
27178
7a9094e5 271792009-08-21 Pavel Roskin <proski@gnu.org>
27180
5496c37e 27181 * Makefile.in (install-local): When checking if a file is in the
27182 build directory, use "test -e" to detect symlinks.
27183
7a9094e5 27184 * Makefile.in (install-local): Remove all files in
27185 $(DESTDIR)$(pkglibdir) before installing new files there.
27186
e53cea11 271872009-08-18 Felix Zielcke <fzielcke@z-51.de>
27188
27189 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
27190 grub-mkelfimage.
27191
9aced544 271922009-08-18 Felix Zielcke <fzielcke@z-51.de>
27193
27194 * util/grub-mkconfig.in: Don't use gfxterm by default if not
27195 explicitly specified by the user.
27196
b7da6bab 271972009-08-18 Pavel Roskin <proski@gnu.org>
27198
27199 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
27200 grub_uint8_t pointer for data.
27201 * include/grub/fbutil.h (struct grub_video_fbblit_info):
27202 Likewise.
27203 * video/fb/fbutil.c: Remove unnecessary casts.
27204
19f1b335 272052009-08-17 Michal Suchanek <hramrach@centrum.cz>
27206
27207 VBE cleanup.
27208
27209 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
27210 (grub_vbe_set_video_mode): Save active mode info
27211 only after setting the mode.
27212 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
27213 second argument.
27214
2f467aa9 272152009-08-17 Michal Suchanek <hramrach@centrum.cz>
27216
27217 Rename variables for clarity.
27218
27219 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
27220 (active_vbe_mode_info): ... this. All users updated.
27221 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
27222 All users updated.
27223 (initial_mode): Rename to ...
27224 (initial_vbe_mode): ... this. All users updated.
27225 (mode_in_use): Rename to ..
27226 (vbe_mode_in_use): ... this. All users updated.
27227 (mode_list): Rename to ..
27228 (vbe_mode_list): ... this. All users updated.
27229 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
27230 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
27231 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
27232 'mode_list_size' to 'vbe_mode_list_size'.
27233 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
27234 'best_mode_info' to 'best_vbe_mode_info' and
27235 'best_mode' to 'best_vbe_mode'
27236
6025fcd7 272372009-08-17 Michal Suchanek <hramrach@centrum.cz>
27238
27239 Remove duplicate grub_video_fb_get_video_ptr.
27240
27241 * include/grub/fbutil.h (get_data_ptr): Rename to ...
27242 (grub_video_fb_get_video_ptr): ... this.
27243 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
27244 * video/fb/fbutil.c: Add comment about addressing.
27245 (get_data_ptr): Rename to ...
27246 (grub_video_fb_get_video_ptr): ... this. All users updated.
27247 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
27248
cc8c6faf 272492009-08-17 Robert Millan <rmh.grub@aybabtu.com>
27250
27251 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
27252 grub_dprintf() that was just added.
27253
08aa61f0 272542009-08-17 Robert Millan <rmh.grub@aybabtu.com>
27255
27256 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
27257 (DEFAULT_VIDEO_MODE): Remove macros.
27258 (grub_linux_boot): Remove assumption that Linux has FB support,
27259 and use "text" as default video mode.
27260
7cef4f75 272612009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
27262
27263 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
27264 grub_dprintf.
27265 * fs/fat.c (grub_fat_read_data): Likewise.
27266
e1f39873 272672009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27268
27269 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
27270 payload.
27271 (grub_module): Likewise.
27272
c166d79e 272732009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27274
27275 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
27276 mbi->cmdline but free playground.
27277
c60cee8e 272782009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27279
27280 Handle group offset on UFS1.
27281
27282 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
27283 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
27284
c0d8b5d4 272852009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27286
27287 Split ufs.mod into ufs1.mod and ufs2.mod.
27288
27289 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
27290 (grub_fstest_SOURCES): Likewise.
27291 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
27292 (ufs_mod_SOURCES): Remove.
27293 (ufs_mod_CFLAGS): Likewise.
27294 (ufs_mod_LDFLAGS): Likewise.
27295 (ufs1_mod_SOURCES): New variable.
27296 (ufs1_mod_CFLAGS): Likewise.
27297 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 27298 (ufs2_mod_SOURCES): New variable.
27299 (ufs2_mod_CFLAGS): Likewise.
27300 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 27301 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
27302 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
27303 Likewise.
27304 (grub_emu_SOURCES): Likewise.
27305 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27306 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27307 (grub_setup_SOURCES): Likewise.
27308 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27309 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
27310 (grub_setup_SOURCES): Likewise.
27311 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
27312 Likewise.
27313 * fs/ufs2.c: New file.
27314 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
27315
d3539132 273162009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27317
27318 Framebuffer split.
27319
27320 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
27321 subsystem at the end.
27322 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
27323 (video_fb_mod_SOURCES): New variable.
27324 (video_fb_mod_CFLAGS): Likewise.
27325 (video_fb_mod_LDFLAGS): Likewise.
27326 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
27327 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
27328 * video/i386/pc/vbeblit.c: Moved from here ...
27329 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
27330 * video/i386/pc/vbefill.c: Moved from here ...
27331 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
27332 * video/i386/pc/vbeutil.c: Moved from here ...
27333 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
27334 * include/grub/i386/pc/vbeblit.h: Moved from here ...
27335 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
27336 * include/grub/i386/pc/vbefill.h: Moved from here ...
27337 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
27338 * include/grub/i386/pc/vbeutil.h: Moved from here ...
27339 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
27340 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
27341 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
27342 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
27343 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
27344 (grub_video_adapter): Added 'get_info_and_fini'.
27345 (grub_video_get_info_and_fini): New prototype.
27346 (grub_video_set_mode): make modestring const char *.
27347 * loader/i386/linux.c (grub_linux_setup_video): Use
27348 grub_video_get_info_and_fini.
27349 (grub_linux_boot): Move modesetting just before booting.
27350 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
27351 grub_video_get_info_and_fini.
27352 * video/i386/pc/vbe.c: Moved framebuffer part ...
27353 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
27354 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
27355 grub_video_fbstd_colors and grub_video_fb_set_palette.
27356 (grub_video_vbe_init): Clear 'framebuffer' variable and use
27357 grub_video_fb_init.
27358 (grub_video_vbe_fini): Use grub_video_fb_fini.
27359 (grub_video_vbe_setup): Use framebuffer.render_target instead of
27360 render_target and use grub_video_fb_set_active_render_target and
27361 grub_video_fb_set_palette.
27362 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
27363 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
27364 (grub_video_vbe_adapter): Use framebuffer.
27365 * video/video.c (grub_video_get_info_and_fini): New function.
27366 (grub_video_set_mode): Make modestring const char *.
27367 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
27368 values are already initialised.
27369
d404ee56 273702009-08-14 Pavel Roskin <proski@gnu.org>
27371
27372 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
27373 ABS and APPLE_CC.
27374 * boot/i386/pc/diskboot.S: Likewise.
27375 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
27376 sectors allow compilation on MacOSX.
27377 * conf/i386-pc.rmk: Enable unconditional compilation of
27378 lnxboot.img.
27379
9a10df16 273802009-08-13 Colin Watson <cjwatson@ubuntu.com>
27381
27382 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
27383 * util/grub.d/00_header.in: Enter interruptible sleep if
27384 GRUB_HIDDEN_TIMEOUT is set.
27385
be3c9ca7 273862009-08-13 Yves Blusseau <blusseau@zetam.org>
27387
27388 * include/grub/symbol.h: Add the LOCAL macro.
27389 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
27390 starting with "L_".
27391
1f9e557e 273922009-08-13 Pavel Roskin <proski@gnu.org>
27393
9ca62843 27394 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
27395 any modern compilers we support.
27396
1f9e557e 27397 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
27398 Use local labels starting with "L_" so that Apple assembler
27399 knows they are local.
27400
81623db6 274012009-08-10 Robert Millan <rmh.grub@aybabtu.com>
27402
27403 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
27404 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
27405 (bsd_kernel_types): ... this enum.
27406
27407 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
27408 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
27409 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
27410
27411 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
27412 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
27413 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
27414 messages.
27415
f5d35e7a 274162009-08-08 Robert Millan <rmh.grub@aybabtu.com>
27417
27418 * util/grub-dumpdevtree: Moved from here ...
27419 * util/i386/efi/grub-dumpdevtree: ... to here.
27420 (hexify): New function. Converts a string to its hex version.
27421 Generate hex versions of "efi" and "device-properties" by calling
27422 hexify() on the ASCII strings rather than by hardcoding numbers.
27423
d1e1d527 274242009-08-08 Robert Millan <rmh.grub@aybabtu.com>
27425
27426 * fs/jfs.c: Update copyright year.
27427
1ebbe064 274282009-08-08 Felix Zielcke <fzielcke@z-51.de>
27429
27430 * util/grub.d/00_header.in: Fix a comment.
27431 * util/grub.d/10_linux.in: Likewise.
27432 * util/grub.d/10_windows.in: Likewise.
27433 * util/grub.d/10_hurd.in: Likewise.
27434
a78c8d24 274352009-08-08 Felix Zielcke <fzielcke@z-51.de>
27436
27437 * util/grub-mkconfig.in: Allow the user to specify the used font
27438 with GRUB_FONT.
27439
29a6b9e8 274402009-08-08 Pavel Roskin <proski@gnu.org>
27441
b5f16cc4 27442 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
27443 available, xfs.mod needs it now.
27444
2f5cb827 27445 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
27446 the "g" modifier in sed when the intention is to strip something
27447 once. This fixes comparison of kernels with multiple dashes.
27448
29a6b9e8 27449 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
27450 on it. Add missing space before closing bracket. Fix
27451 misleading formatting.
27452
892a3d98 274532009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27454
27455 * docs/grub.texi: Major overhaul. Remove all sections that are
27456 specific to GRUB Legacy, or mostly composed of Legacy-specific
27457 information.
27458
ed94253f 274592009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27460
27461 * docs/version.texi: New file. Provides version information for
27462 grub.texi.
27463
126d6628 274642009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27465
27466 * docs/grub.texi: Update CVS information to SVN.
27467 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
27468
998b5aa9 274692009-08-07 Felix Zielcke <fzielcke@z-51.de>
27470
27471 * util/grub-mkconfig.in: Remove a wrong `fi'.
27472
818e094a 274732009-08-07 Felix Zielcke <fzielcke@z-51.de>
27474
27475 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
27476 (grub_jfs_uuid): New function.
27477 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
27478
b969c52f 274792009-08-07 Felix Zielcke <fzielcke@z-51.de>
27480
27481 * util/grub-mkconfig_lib.in (font_path): Move the functionality
27482 of it to ...
27483 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
27484 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
27485
7a4894cc 274862009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27487
27488 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
27489 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
27490 Update all users.
27491
27492 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
27493 not just "vmlinu[zx]".
27494 Moved from here ...
27495 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
27496 all users.
27497
27498 * util/grub.d/10_linux.in (find_latest): Moved from here ...
27499 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
27500 all users.
27501
4e2171f8 275022009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27503
27504 * util/grub.d/10_freebsd.in: Use an absolute device path for
27505 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
27506
6dcfcb32 275072009-08-06 Felix Zielcke <fzielcke@z-51.de>
27508
27509 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
27510 handling of multiple abstraction modules.
27511
f56a8756 275122009-08-04 Robert Millan <rmh.grub@aybabtu.com>
27513
27514 Fix a bug resulting in black screen when loading Linux using a
27515 packed video mode.
27516
27517 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
27518 function.
27519
27520 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
27521 (grub_vbe_bios_getset_dac_palette_width): New function.
27522 (grub_vbe_bios_get_dac_palette_width)
27523 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
27524 grub_vbe_bios_getset_dac_palette_width()).
27525
27526 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
27527 check for return status.
27528 (grub_vbe_get_video_mode_info): When getting information for a packed
27529 mode (<= 8 bpp), obtain DAC palette width using
27530 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
27531 {red,green,blue}_mark_size.
27532
222671b2 275332009-08-04 Felix Zielcke <fzielcke@z-51.de>
27534
ecb1a6d9 27535 * commands/search.c (options): Fix help output to match actual code.
222671b2 27536
f84114f5 275372009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
27538
27539 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
27540 of homegrown code.
27541
bd288a20 275422009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 27543
27544 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
27545 on XFS or ReiserFS.
27546
8aab5e25 275472009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
27548
27549 Support Apple partition map with sector size different from 512 bytes.
27550
27551 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
27552 (apple_partition_map_iterate): Respect 'aheader.blocksize'
27553 and 'apart.partmap_size'.
27554
6ad6258a 275552009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
275562009-08-01 Robert Millan <rmh.grub@aybabtu.com>
27557
27558 Fix cpuid command.
27559
27560 * commands/i386/cpuid.c (options): New variable.
27561 (grub_cmd_cpuid): Return real error.
27562 (GRUB_MOD_INIT(cpuid)): Declare options.
27563
67459bc6 275642009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
27565
27566 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
27567 valid.
27568
fbc6ab54 275692009-07-31 Bean <bean123ch@gmail.com>
27570
27571 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
27572 log2_inode.
27573 (grub_fshelp_node): Move inode field to the end.
27574 (grub_xfs_data): Remove inode field.
27575 (grub_xfs_inode_block): Calculate inode size using sblock.
27576 (grub_xfs_inode_offset): Likewise.
27577 (grub_xfs_read_inode): Calculate inode size using sblock.
27578 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
27579 (grub_xfs_iterate_dir): Calculate inode size using sblock.
27580 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
27581 to match inode size.
27582 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
27583 not accessible when data is null.
27584 (grub_xfs_open): Likewise.
27585
f45d6cfc 275862009-07-31 Bean <bean123ch@gmail.com>
27587
27588 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
27589 Don't change pv->disk if it's already set.
27590
27591 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
27592 (grub_raid_register): ... here.
27593 (grub_raid_rescan): Removed.
27594
27595 * include/grub/raid.h (grub_raid_rescan): Removed.
27596
27597 * util/grub-fstest.c: Remove include file <grub/raid.h>.
27598 (fstest): Replace grub_raid_rescan with module fini function followed
27599 by init function.
27600
27601 * util/grub-probe.c: Add include file <grub/raid.h>.
27602 (probe_raid_level): New function.
27603 (probe): Detect abstraction by walking the disk device, support two
27604 level of abstraction (LVM on RAID) when detecting partition map.
27605
24443b5a 276062009-07-31 Pavel Roskin <proski@gnu.org>
27607
27608 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
27609 to grub_zalloc(), it was erroneous.
27610 Reported by Bean <bean123ch@gmail.com>
27611
a275d9e7 276122009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
27613
27614 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 27615 embedding zone, not only the first one.
a275d9e7 27616
56c5a47f 276172009-07-29 Joe Auricchio <jauricchio@gmail.com>
27618
27619 * term/gfxterm.c (clear_char): New function.
27620 (grub_virtual_screen_setup): Use clear_char.
27621 (scroll_up): Likewise.
27622 (grub_virtual_screen_cls): Likewise.
27623
67bb323a 276242009-07-29 Felix Zielcke <fzielcke@z-51.de>
27625
27626 * util/deviceiter.c (get_acceleraid_disk_name): New static
27627 function.
27628 (grub_util_iterate_devices): Handle Accelraid devices.
27629 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
27630
388a7c75 276312009-07-28 Robert Millan <rmh.grub@aybabtu.com>
27632
27633 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
27634 separator for the suggested gfxpayload string (';' collides with the
27635 parser and needs escaping).
27636
3bb7abcf 276372009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
27638
27639 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
27640 Clear direction flag before jumping to OS.
27641 (grub_multiboot2_real_boot): Likewise.
27642
2ddd36d7 276432009-07-28 Felix Zielcke <fzielcke@z-51.de>
27644
27645 * util/i386/pc/grub-install: Fix parsing of --disk-module
27646 option.
27647
c521b62b 276482009-07-28 Felix Zielcke <fzielcke@z-51.de>
27649
27650 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
27651 when embedding.
27652
880e0a0c 276532009-07-26 Felix Zielcke <fzielcke@z-51.de>
27654
27655 * util/grub-mkconfig.in (package_version): New variable.
27656 Use it do display the version.
27657
2366e356 276582009-07-25 Felix Zielcke <fzielcke@z-51.de>
27659
27660 * kern/file.c (grub_file_open): Revert to previous check with
27661 grub_errno.
27662
7ad8c80e 276632009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
27664
27665 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
27666 from help line. It's out of sync with code.
27667
72b9658b 276682009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
27669
27670 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
27671 entries on failed boot.
27672
77435277 276732009-07-25 Felix Zielcke <fzielcke@z-51.de>
27674
27675 * kern/file.c (grub_file_open): Fix an error check.
27676
fcaa8b21 276772009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
27678
35d16c74 27679 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
27680 partition map couldn't be identified.
fcaa8b21 27681
48904cd1 276822009-07-23 Pavel Roskin <proski@gnu.org>
27683
ef3c317f 27684 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
27685 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
27686 case of little endian words becomes just an optimization.
27687 Respect const modifier.
ad8ea1f4 27688 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 27689
48904cd1 27690 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
27691 to avoid loss of upper bits if align is unsigned and shorter
27692 than addr.
27693
260c9a89 276942009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
27695
27696 UUID support for UFS
27697
27698 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
27699 (grub_ufs_uuid): New function.
27700 (grub_ufs_fs): add .uuid
27701
f76ce889 277022009-07-21 Pavel Roskin <proski@gnu.org>
27703
27704 * kern/dl.c (grub_dl_check_header): Make static.
27705
6a6cbcaf 277062009-07-21 Felix Zielcke <fzielcke@z-51.de>
27707
27708 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
27709 add drivemap for Vista. It breaks Windows 7.
27710
cffcddb2 277112009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
27712
27713 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
27714 128 bytes
27715
1ef44b80 277162009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
27717
27718 Add BFS support
27719
27720 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
27721 (grub_fstest_SOURCES): Likewise.
27722 (pkglib_MODULES): Add befs.mod.
27723 (befs_mod_SOURCES): New variable.
27724 (befs_mod_CFLAGS): Likewise.
27725 (befs_mod_LDFLAGS): Likewise.
27726 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
27727 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27728 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27729 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27730 (grub_setup_SOURCES): Likewise.
27731 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27732 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27733 (grub_setup_SOURCES): Likewise.
27734 * fs/befs.c: New file.
27735 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
27736 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
27737 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
27738 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
27739 (B_KEY_INDEX_ALIGN): New declaration.
27740 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
27741 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
27742 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
27743 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
27744 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
27745 (grub_afs_mount) [MODE_BFS]: Likewise.
27746 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
27747 (grub_afs_fs): Use GRUB_AFS_FSNAME
27748 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
27749 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
27750 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
27751 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
27752
4f253044 277532009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
27754
27755 * util/getroot.c (find_root_device): Add support for MacOSX.
27756 * util/hostdisk.c: Likewise.
27757
57a55913 277582009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
27759
27760 * font/font.c (find_glyph): Check whether a font is present to avoid
27761 segmentation fault.
75421ca9 27762
277632009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 27764
27765 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
27766
e98cd0c2 277672009-07-20 Pavel Roskin <proski@gnu.org>
27768
27769 * configure.ac: Trim excessively wordy excuses.
27770
1d2d169a 277712009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
27772
27773 Add symlink, mtime and label support to AtheFS.
27774
27775 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
27776 (grub_afs_iterate_dir): Handle symlinks.
27777 (grub_afs_open): Use grub_afs_read_symlink.
27778 (grub_afs_dir): Likewise.
27779 Pass mtime.
27780 (grub_afs_label): New function.
27781 (grub_afs_fs): Add grub_afs_label.
27782 (grub_afs_read_symlink): New function.
27783
186f3189 277842009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
27785
27786 Fix AtheFS support.
27787
27788 * fs/afs.c: Fix comments style.
27789 (grub_afs_blockrun): Declare as packed.
27790 (grub_afs_datastream): Likewise.
27791 (grub_afs_bnode): Likewise.
27792 (grub_afs_btree): Likewise.
27793 (grub_afs_sblock): Likewise.
27794 Declare `name' as char.
27795 (grub_afs_inode): Declare as packed.
27796 Change void *vnode to grub_uint32_t unused.
27797 (grub_afs_iterate_dir): Check that key_size is positive.
27798 (grub_afs_mount): Don't read superblock twice.
75421ca9 27799 (grub_afs_dir): Don't free node in case of error,
186f3189 27800 grub_fshelp_find_file already handles this.
27801 (grub_afs_open): Likewise.
27802
5680109e 278032009-07-19 Pavel Roskin <proski@gnu.org>
27804
27805 * Makefile.in: Remove LIBLZO and enable_lzo.
27806 * conf/i386-pc.rmk: Remove lzo support.
27807 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
27808 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
27809 support.
27810 * kern/i386/pc/lzo1x.S: Remove.
27811 * kern/i386/pc/startup.S: Remove lzo support.
27812 * util/i386/pc/grub-mkimage.c: Likewise.
27813
ac70fa32 278142009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
27815
27816 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
27817 * fs/xfs.c (grub_xfs_dir): Likewise.
27818 * fs/afs.c (grub_afs_dir): Likewise.
27819 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
27820 (grub_iso9660_open): Likewise.
27821 * fs/jfs.c (grub_jfs_open): Likewise.
27822 * fs/ext2.c (grub_ext2_dir): Likewise.
27823 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
27824 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 27825
eab58da2 278262009-07-16 Pavel Roskin <proski@gnu.org>
27827
d2838156 27828 * configure.ac: Never add "-c" to CFLAGS.
27829
55c70904 27830 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
27831
43e6200c 27832 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
27833 grub_cv_cc_efiemu should be used.
27834
ce7a733d 27835 * configure.ac: Typo fixes.
27836
eab58da2 27837 * kern/mm.c (grub_zalloc): New function.
27838 (grub_debug_zalloc): Likewise.
27839 * include/grub/mm.h: Declare grub_zalloc() and
27840 grub_debug_zalloc().
27841 * util/misc.c (grub_zalloc): New function.
27842 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
27843 instead of grub_malloc(), remove unneeded initializations.
27844 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
27845 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
27846 * commands/parttool.c (grub_cmd_parttool): Likewise.
27847 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
27848 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
27849 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
27850 * disk/usbms.c (grub_usbms_finddevs): Likewise.
27851 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
27852 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
27853 (grub_cmd_efiemu_pnvram): Likewise.
27854 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
27855 * fs/iso9660.c (grub_iso9660_mount): Likewise.
27856 (grub_iso9660_iterate_dir): Likewise.
27857 * fs/jfs.c (grub_jfs_opendir): Likewise.
27858 * fs/ntfs.c (list_file): Likewise.
27859 (grub_ntfs_mount): Likewise.
27860 * kern/disk.c (grub_disk_open): Likewise.
27861 * kern/dl.c (grub_dl_load_core): Likewise.
27862 * kern/elf.c (grub_elf_file): Likewise.
27863 * kern/env.c (grub_env_context_open): Likewise.
27864 (grub_env_set): Likewise.
27865 (grub_env_set_data_slot): Likewise.
27866 * kern/file.c (grub_file_open): Likewise.
27867 * kern/fs.c (grub_fs_blocklist_open): Likewise.
27868 * loader/i386/multiboot.c (grub_module): Likewise.
27869 * loader/xnu.c (grub_xnu_create_key): Likewise.
27870 (grub_xnu_create_value): Likewise.
27871 * normal/main.c (grub_normal_add_menu_entry): Likewise.
27872 (read_config_file): Likewise.
27873 * normal/menu_entry.c (make_screen): Likewise.
27874 * partmap/sun.c (sun_partition_map_iterate): Likewise.
27875 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
27876 * script/sh/script.c (grub_script_parse): Likewise.
27877 * video/bitmap.c (grub_video_bitmap_create): Likewise.
27878 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
27879 * video/readers/png.c (grub_png_output_byte): Likewise.
27880 (grub_video_reader_png): Likewise.
27881
830afef7 278822009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 27883
27884 Enable all targets that can be built by default
27885
830afef7 27886 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 27887 grub-mkfont and grub-fstest if they can be built
27888
ee293aee 278892009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27890
27891 Fix hang and segmentation fault in grub-emu-usb
27892
27893 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
27894 * util/usb.c (grub_libusb_devices): likewise
27895 (grub_libusb_init): rename to ...
27896 (GRUB_MOD_INIT (libusb)):...this
27897 (grub_libusb_fini): rename to ..
27898 (GRUB_MOD_FINI (libusb)):...this
27899 * disk/usbms.c (grub_usbms_transfer): fix retry logic
27900 * include/grub/disk.h (grub_raid_init): removed, it's useless
27901 (grub_raid_fini): likewise
27902 (grub_lvm_init): likewise
27903 (grub_lvm_fini): likewise
27904 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
27905 by grub_init_all
27906
94414221 279072009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27908
27909 Fix libusb
27910
27911 * Makefile.in (LIBUSB): new macro
27912 * genmk.rb (Utility/print_tail): new method
27913 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
27914 (top level): call util.print_tail at the end.
27915
59ade63d 279162009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27917
27918 Make FreeBSD accept zpool.cache
27919
27920 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
27921 type is /boot/zfs/zpool.cache
27922
a58da8c7 279232009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27924
27925 Fix 64-bit efiemu
27926
27927 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
27928 correct wrong typedef
27929 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
27930
20591577 279312009-07-15 Pavel Roskin <proski@gnu.org>
27932
560ca572 27933 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
27934 * kern/disk.c (struct grub_disk_cache): Likewise.
27935
e8e8e4fd 27936 * commands/probe.c (options): Typo fix.
27937
fde24e10 27938 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
27939 Increase to 0x5a to accommodate FAT32. Adjust other offsets
27940 accordingly.
27941 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
27942
379c54c1 27943 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
27944 the end of "Error" to make the message more readable.
27945
7bd8f5bf 27946 * boot/i386/pc/boot.S (kernel_segment): Remove.
27947 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
27948 for destination.
27949
40b132c5 27950 * boot/i386/pc/boot.S (boot_version): Remove.
27951 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
27952 Remove.
27953
20591577 27954 * include/grub/i386/pc/boot.h: Sort all offsets.
27955 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
27956 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
27957 * boot/i386/pc/boot.S: Assert location of every offset listed in
27958 include/grub/i386/pc/boot.h.
27959
2df32b2c 279602009-07-13 Pavel Roskin <proski@gnu.org>
27961
44b5d879 27962 * include/grub/i386/coreboot/machine.h: Rename
27963 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
27964 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
27965 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
27966
17dc3751 27967 * kern/dl.c: Force native word size to suppress warnings when
27968 compiling grub-emu.
27969
2df32b2c 27970 * kern/device.c (grub_device_iterate): Change struct part_ent to
27971 hold the name, not a pointer to it. Use one grub_malloc() per
27972 partition, not two. Free partition_name if grub_malloc() fails.
27973 Set ents to NULL only before grub_partition_iterate() is called.
27974
75c59f59 279752009-07-11 Bean <bean123ch@gmail.com>
27976
27977 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
27978 childname.
27979
0ae1bf88 279802009-07-10 Bean <bean123ch@gmail.com>
279812009-07-10 Robert Millan <rmh.grub@aybabtu.com>
27982
27983 * kern/ieee1275/openfw.c (grub_children_iterate)
27984 (grub_devalias_iterate): Fix size evaluation for property or path
27985 strings, which was broken since r2132.
27986
8279cade 279872009-07-07 Pavel Roskin <proski@gnu.org>
27988
7d8a52d3 27989 * commands/search.c (search_file): Merge into ...
27990 (search_fs): ... this. Accept search type as argument.
27991 (grub_cmd_search): Pass search type to search_fs().
27992
25f9a05a 27993 * include/grub/util/console.h: New file.
27994 * util/console.c: Use it instead of grub/machine/console.h.
27995 * util/grub-emu.c: Likewise.
27996
8279cade 27997 * lib/arg.c (find_long_option): Remove.
27998 (find_long): Add `len' argument, make `s' const char *.
27999 (grub_arg_parse): Parse long options in place, not in a
28000 temporary buffer.
28001
4a11b60f 280022009-07-06 Pavel Roskin <proski@gnu.org>
28003
99f68041 28004 * commands/search.c (search_fs): Fix potential NULL pointer
28005 dereference.
28006
4a11b60f 28007 * commands/search.c (search_fs): Replace QUID macro with quid_fn
28008 function pointer.
28009
e110f4de 280102009-07-06 Daniel Mierswa <impulze@impulze.org>
28011
28012 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
28013 comparison.
28014
46eeb6a2 280152009-07-05 Pavel Roskin <proski@gnu.org>
28016
bab74958 28017 * include/grub/i386/linux.h (struct linux_kernel_params):
28018 Restore padding3, it's still needed.
28019
46eeb6a2 28020 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
28021 FreeBSD.
28022 * util/osdetect.lua: Likewise.
28023
b4a1dc79 280242009-07-05 Bean <bean123ch@gmail.com>
28025
28026 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
28027
28028 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
28029 (grub_lua_getenv): Likewise.
28030 (grub_lua_setenv): Likewise.
28031 (save_errno): New function.
28032 (push_result): Likewise.
28033 (grub_lua_enum_device): Likewise.
28034 (grub_lua_enum_file): Likewise.
28035 (grub_lua_file_open): Likewise.
28036 (grub_lua_file_close): Likewise.
28037 (grub_lua_file_seek): Likewise.
28038 (grub_lua_file_read): Likewise.
28039 (grub_lua_file_getline): Likewise.
28040 (grub_lua_file_getsize): Likewise.
28041 (grub_lua_file_getpos): Likewise.
28042 (grub_lua_file_eof): Likewise.
28043 (grub_lua_file_exist): Likewise.
28044 (grub_lua_add_menu): Likewise.
28045
28046 * script/lua/grub_lua.h (isupper): New inline function.
28047 (islower): Likewise.
28048 (ispunct): Likewise.
28049 (isxdigit): Likewise.
28050 (strcspn): Change to normal function.
28051 (strpbkr): New function declaration.
28052 (memchr): Likewise.
28053
28054 * script/lua/grub_main.c (scan_str): New function.
28055 (strcspn): Likewise.
28056 (strpbrk): Likewise.
28057 (memchr): Likewise.
28058
28059 * script/lua/linit.c (lualibs): Enable the string library.
28060
28061 * util/osdetect.lua: New file.
28062
2da92295 280632009-07-04 Robert Millan <rmh.grub@aybabtu.com>
28064
28065 * include/grub/i386/linux.h (struct linux_kernel_params): Add
28066 `capabilities' member.
28067
b2582ec9 280682009-07-02 Pavel Roskin <proski@gnu.org>
28069
28070 * genparttoollist.sh: Add missing newline at the end.
28071
32622956 280722009-07-01 Pavel Roskin <proski@gnu.org>
28073
87a7339e 28074 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
28075
d23af54e 28076 * util/hostdisk.c (open_device): Remove `const' from
28077 `sysctl_size', as sysctlbyname() can change it (in this case it
28078 doesn't actually happen).
28079
c94b18a9 28080 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
28081 using signed long int constants.
28082
c6cd3ef0 28083 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
28084 constant to avoid a warning on FreeBSD.
28085
0df63420 28086 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
28087 where it's needed.
28088
999577f1 28089 * Makefile.in: Install include/grub/machine symlink.
28090
6f41557f 28091 * Makefile.in: When installing symlinks, use "cp -fR", which
28092 works on FreeBSD and MacOSX.
28093 From Yves Blusseau <cl7m42e02@sneakemail.com>
28094
c8d22988 28095 * kern/dl.c (grub_dl_resolve_symbol): Make static.
28096 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
28097
1b96e952 28098 * util/misc.c: Move grub_reboot() and grub_halt() ...
28099 * util/grub-emu.c: ... here. Make main_env static.
28100 * include/grub/util/misc.h: Remove main_env.
28101
2ef0084d 28102 * kern/mm.c: Use correct format to print size_t.
28103
32622956 28104 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
28105 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
28106 * kern/powerpc/dl.c: Likewise.
28107 * kern/sparc64/dl.c: Likewise.
28108 * kern/x86_64/dl.c: Likewise.
28109
3f7f0cd0 281102009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28111
28112 Fix grub-emu build on sparc64-ieee1275.
28113
75421ca9 28114 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 28115 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
28116
211d06b5 281172009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28118
28119 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
28120 (grub_reboot, grub_halt): New functions.
28121
28122 * util/i386/pc/misc.c: Delete. Update all users.
28123 * util/sparc64/ieee1275/misc.c: Likewise.
28124 * util/powerpc/ieee1275/misc.c: Likewise.
28125
aaf53e3c 281262009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28127
28128 * conf/i386.rmk (setjmp_mod_SOURCES)
28129 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
28130 * conf/common.rmk (setjmp_mod_SOURCES)
28131 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
28132 to use $(target_cpu).
28133 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
28134 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
28135 * conf/powerpc-ieee1275.rmk: Likewise.
28136 * conf/sparc64-ieee1275.rmk: Likewise.
28137
28138 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
28139 $(target_cpu) for kern/$(target_cpu)/dl.c.
28140 * conf/i386-efi.rmk: Likewise.
28141 * conf/i386-ieee1275.rmk: Likewise.
28142 * conf/x86_64-efi.rmk: Likewise.
28143 * conf/i386-coreboot.rmk: Likewise.
28144 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
28145 $(target_cpu) for kern/$(target_cpu)/dl.c and for
28146 kern/$(target_cpu)/cache.S.
28147 * conf/sparc64-ieee1275.rmk: Likewise.
28148
a337130b 281492009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28150
28151 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
28152 type to `grub_uint8_t', and adjust `padding9' accordingly.
28153
c6fe4d53 281542009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28155
b09db61d 28156 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
28157
c6fe4d53 28158 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
28159 assembly in final jump, using register constraints.
28160
b09db61d 28161 (grub_linux_boot): For text mode, initialize `have_vga' using
28162 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
28163
28164 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
28165 right before the final jump.
28166
28167 Set `video_mode' to 0x3.
28168
28169 Document initialization of `video_page', `video_mode' and
28170 `video_ega_bx'.
28171
28333ad0 281722009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28173
28174 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
28175 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 28176 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 28177
02164e1b 281782009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28179
28180 Fix build on Debian / sparc.
28181
28182 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
28183
18b6c557 281842009-06-28 Pavel Roskin <proski@gnu.org>
28185
85f2aab6 28186 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
28187 fix a warning.
28188
18b6c557 28189 * util/grub.d/10_linux.in: Match SUSE style initrd names.
28190
ad760f81 281912009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28192
28193 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
28194 `err'.
28195
87a4623b 281962009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28197
28198 Revert r2338.
28199
28200 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
28201 file can't be opened. grub_file_open() is already supposed to set
75421ca9 28202 grub_errno / grub_errmsg appropriately.
87a4623b 28203 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
28204
8231fb77 282052009-06-27 Pavel Roskin <proski@gnu.org>
282062009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28207
28208 * include/grub/dl.h: Include grub/elf.h.
28209 (struct grub_dl): Add symtab field.
28210 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
28211 GRUB_MODULES_MACHINE_READONLY.
28212 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
28213 of the header for read-only modules.
28214 (grub_dl_unload): Free mod->symtab for read-only modules.
28215 * kern/i386/dl.c: Use mod->symtab.
28216 * kern/powerpc/dl.c: Likewise.
28217 * kern/sparc64/dl.c: Likewise.
28218 * kern/x86_64/dl.c: Likewise.
28219
28220 * conf/i386-qemu.rmk: New file.
28221 * kern/i386/qemu/startup.S: Likewise.
28222 * kern/i386/qemu/mmap.c: Likewise.
28223 * boot/i386/qemu/boot.S: Likewise.
28224 * include/grub/i386/qemu/time.h: Likewise.
28225 * include/grub/i386/qemu/serial.h: Likewise.
28226 * include/grub/i386/qemu/kernel.h: Likewise.
28227 * include/grub/i386/qemu/console.h: Likewise.
28228 * include/grub/i386/qemu/boot.h: Likewise.
28229 * include/grub/i386/qemu/init.h: Likewise.
28230 * include/grub/i386/qemu/machine.h: Likewise.
28231 * include/grub/i386/qemu/loader.h: Likewise.
28232 * include/grub/i386/qemu/memory.h: Likewise.
28233
28234 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
28235 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
28236 [qemu] (pkglib_IMAGES): Add `boot.img'.
28237 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
28238 [qemu] (boot_img_FORMAT): New variables.
28239 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
28240 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
28241 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
28242 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
28243 [qemu] (kernel_img_FORMAT): New variables.
28244
28245 * configure.ac: Recognise `i386-qemu'.
28246
28247 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
28248 (for no compression).
28249 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
28250 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
28251 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
28252 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
28253 ifdefs).
28254
97fe384e 282552009-06-27 Pavel Roskin <proski@gnu.org>
28256
28257 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
28258 read.
28259 * efiemu/prepare32.c: Likewise.
28260 * efiemu/prepare64.c: Likewise.
28261
c402ab17 282622009-06-26 Pavel Roskin <proski@gnu.org>
28263
28264 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
28265 * include/grub/elf.h: Define symbols without "32" or "64" based
28266 on GRUB_TARGET_WORDSIZE.
28267 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
28268 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
28269 ELF definitions.
28270 * efiemu/loadcore64.c: Likewise.
28271 * loader/i386/bsd32.c: Likewise.
28272 * loader/i386/bsd64.c: Likewise.
28273 * kern/dl.c: Remove own ELF definitions.
28274 * util/i386/efi/grub-mkimage.c: Likewise.
28275
9bbdfd4d 282762009-06-23 Robert Millan <rmh.grub@aybabtu.com>
28277
28278 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
28279 segment 0x0 unconditionally, because the reference generated by
28280 GAS is an absolute address.
28281
a42ce6e9 282822009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28283
28284 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
28285 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
28286
c952cf92 282872009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28288
28289 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
28290 indexes. Check for -f explicitly.
cc3752ad 28291 (search_file): Improve error message.
28292 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 28293
132a0a59 282942009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28295
28296 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
28297 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
28298
387a140c 282992009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28300
28301 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
28302 * conf/i386-ieee1275.rmk: Likewise.
28303 * conf/i386-coreboot.rmk: Likewise.
28304
28305 * kern/i386/pc/startup.S (grub_stop): Remove function.
28306 * kern/i386/ieee1275/startup.S: Likewise.
28307 * kern/i386/coreboot/startup.S: Likewise.
28308 * kern/i386/misc.S (grub_stop): New function.
28309
41da9665 283102009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28311
28312 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
28313 * kern/i386/realmode.S (real_to_prot): ... to here.
28314
bf337234 283152009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28316
28317 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
28318 with `kernel.img'.
28319 (kernel_elf_SOURCES): Rename to ...
28320 (kernel_img_SOURCES): ... this.
28321 (kernel_elf_HEADERS): Rename to ...
28322 (kernel_img_HEADERS): ... this. Update all users.
28323 (kernel_elf_ASFLAGS): Rename to ...
28324 (kernel_img_ASFLAGS): ... this.
28325 (kernel_elf_CFLAGS): Rename to ...
28326 (kernel_img_CFLAGS): ... this.
28327 (kernel_elf_LDFLAGS): Rename to ...
28328 (kernel_img_LDFLAGS): ... this.
28329 * conf/i386-coreboot.rmk: Likewise.
28330 * conf/powerpc-ieee1275.rmk: Likewise.
28331
28332 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
28333 with "kernel.img".
28334
f52196ff 283352009-06-21 Pavel Roskin <proski@gnu.org>
28336
c3cee413 28337 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
28338 to match nested functions.
28339 * loader/sparc64/ieee1275/linux.c: Likewise.
28340
f52196ff 28341 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
28342
58750afc 283432009-06-21 Robert Millan <rmh.grub@aybabtu.com>
28344
28345 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
28346 all i386 platforms.
28347
15355c7d 283482009-06-21 Robert Millan <rmh.grub@aybabtu.com>
28349
28350 Fix asm file handling on ELF, and remove workarounds.
28351
28352 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 28353 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 28354 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
28355 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
28356
3f3ec72b 283572009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
28358
28359 Load BSD ELF modules
28360
28361 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
28362 and loader/i386/bsd64.c
28363 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
28364 (FREEBSD_MODTYPE_ELF_MODULE): New definition
28365 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
28366 (grub_freebsd_load_elfmodule32): New declaration
28367 (grub_freebsd_load_elfmoduleobj64): Likewise
28368 (grub_freebsd_load_elf_meta32): Likewise
28369 (grub_freebsd_load_elf_meta64): Likewise
28370 (grub_freebsd_add_meta): Likewise
28371 (grub_freebsd_add_meta_module): Likewise
28372 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
28373 (grub_freebsd_add_meta_module): Likewise and move module-specific
28374 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
28375 (grub_cmd_freebsd): Add elf-kernel specific parts
28376 based on grub_freebsd_add_meta_module
28377 (grub_cmd_freebsd_module): Add type parsing moved from
28378 grub_freebsd_add_meta_module
28379 (grub_cmd_freebsd_module_elf): New function
28380 (cmd_freebsd_module_elf): New variable
28381 (GRUB_MOD_INIT): Register freebsd_module_elf
28382 * loader/i386/bsd32.c: New file
28383 * loader/i386/bsd64.c: Likewise
28384 * loader/i386/bsdXX.c: Likewise
28385 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
28386 (grub_elf64_load): Likewise
28387 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
28388 All users updated
28389 (grub_elf64_load_hook_t): Likewise
28390
0db15301 283912009-06-21 Colin Watson <cjwatson@ubuntu.com>
28392
28393 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
28394 variable.
28395 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
28396 don't write a menu entry for recovery mode.
28397
546796c1 283982009-06-20 Robert Millan <rmh.grub@aybabtu.com>
28399
28400 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
28401 after it's no longer needed.
28402
cd7310d5 284032009-06-20 Robert Millan <rmh.grub@aybabtu.com>
28404
28405 * include/grub/i386/loader.h (grub_linux_prot_size)
28406 (grub_linux_tmp_addr, grub_linux_real_addr)
28407 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
28408 GRUB_MACHINE_PCBIOS.
28409 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
28410 common grub_util_info() call to ...
28411 (generate_image): ... here.
28412 Fix use of uninitialized memory, comparison of signed with
28413 unsigned integers and memory leak.
28414 Remove bogus module address message.
28415
ab32d3b5 284162009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
28417
28418 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
28419 grub_raid_register
28420 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
28421
024ef597 284222009-06-19 Pavel Roskin <proski@gnu.org>
28423
28424 * configure.ac: Remove stray AC_MSG_CHECKING.
28425
3ac72b51 284262009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
28427
28428 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 28429
e14cd814 284302009-06-18 Pavel Roskin <proski@gnu.org>
28431
28432 * conf/common.rmk: Add fs_file.mod.
28433 * disk/fs_file.c: New file.
28434 * include/grub/disk.h (enum grub_disk_dev_id): Add
28435 GRUB_DISK_DEVICE_FILE_ID.
28436
26586d98 284372009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28438
28439 Fix build with Apple's toolchain. Part 2
28440
28441 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
28442 a fake start
28443
26de2bcd 284442009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28445
28446 Fix build with Apple's toolchain. Part 1
28447
28448 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
28449 for long calls
28450 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 28451 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 28452 Apple's toolchain
28453
09b3490b 284542009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28455
28456 Fix warnings
28457
28458 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
28459 (decomp_block): initialize ch
28460 use grub_memcpy instead of memcpy
28461
c22a006a 284622009-06-17 Pavel Roskin <proski@gnu.org>
28463
d3638678 28464 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
28465 version, use declarations needed to use vga_text as the startup
28466 console.
28467
c22a006a 28468 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
28469 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
28470 the kernel.
28471 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
28472 and grub_at_keyboard_fini(), it's done on module load and
28473 unload.
28474
05b129e0 284752009-06-17 Felix Zielcke <fzielcke@z-51.de>
28476
28477 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
28478 file can't be found.
28479 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
28480
cf24ed9e 284812009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
28482
28483 Fix newline handling
28484
28485 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 28486 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 28487 (grub_script_yylex): don't segfault on unterminated script
28488 newline terminates command and variable
28489
74aa8e4b 284902009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
28491
28492 avoid double grub_adjust_range call. Bug reported by David Simner
28493
28494 * kern/disk.c (grub_disk_write): change to raw disk access before
28495 calling disk_read
28496
1bd265f3 284972009-06-17 Colin Watson <cjwatson@ubuntu.com>
28498
28499 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
28500 spaces, for the benefit of help2man.
28501 * util/i386/efi/grub-mkimage.c (usage): Likewise.
28502
a2d08c06 285032009-06-16 Pavel Roskin <proski@gnu.org>
28504
28505 * kern/i386/halt.c: Include grub/machine/init.h.
28506 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
28507
b97bcb19 285082009-06-16 Felix Zielcke <fzielcke@z-51.de>
28509
28510 * util/grub.d/30_os-prober.in: Use ${root} in the generated
28511 drivemap menuentry.
28512
0644f96c 285132009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
28514
28515 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
28516 `echo' command.
28517
3ef17a2e 285182009-06-16 Pavel Roskin <proski@gnu.org>
28519
28520 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
28521 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
28522 save %dx, we only need %dl and we never change it.
28523 * boot/i386/pc/cdboot.S: Don't set the root drive.
28524 * boot/i386/pc/pxeboot.S: Likewise.
28525 * include/grub/i386/pc/boot.h: Remove
28526 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
28527 GRUB_BOOT_MACHINE_DRIVE_CHECK.
28528 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
28529 * kern/i386/pc/init.c (make_install_device): Remove references
28530 to grub_root_drive.
28531 * kern/i386/pc/startup.S: Likewise.
28532 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
28533
693fe637 285342009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
28535
28536 xnu_uuid command
28537
28538 * commands/xnu_uuid.c: new file
28539 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
28540 (xnu_uuid_mod_SOURCES): new variable
28541 (xnu_uuid_mod_CFLAGS): likewise
28542 (xnu_uuid_mod_LDFLAGS): likewise
28543 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
28544 * conf/i386-ieee1275.rmk: likewise
28545 * conf/i386-pc.rmk: likewise
28546 * conf/powerpc-ieee1275.rmk: likewise
28547 * conf/sparc64-ieee1275.rmk: likewise
28548 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
28549
c9da87d0 285502009-06-16 Pavel Roskin <proski@gnu.org>
28551
28552 * configure.ac: Avoid '==' in test command, it's not portable.
28553
9c6f4596 285542009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
28555
28556 Probe command
28557
28558 * commands/probe.c: new file
28559 * conf/common.rmk (pkglib_MODULES): add probe.mod
28560 (probe_mod_SOURCES): new variable
28561 (probe_mod_CFLAGS): likewise
28562 (probe_mod_LDFLAGS): likewise
28563 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
28564 * conf/i386-ieee1275.rmk: likewise
28565 * conf/i386-pc.rmk: likewise
28566 * conf/powerpc-ieee1275.rmk: likewise
28567 * conf/sparc64-ieee1275.rmk: likewise
28568
70b7f9fd 285692009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
28570
28571 Fix handling of string like \"hello\" and "a
28572 b"
28573
28574 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
28575 (grub_script_yylex): fix parsing of quoting, escaping and newline
28576
71c79a6b 285772009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
28578
dd74360c 28579 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 28580 handling
dd74360c 28581
0644f96c 285822009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 28583
28584 * util/grub-mkconfig.in: Fix parsing of --output option.
28585
e40893c3 285862009-06-12 Pavel Roskin <proski@gnu.org>
28587
28588 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
28589 genmk.rb don't need to be generated or installed.
28590
3a1acfe2 285912009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
28592
28593 * commands/i386/pc/drivemap_int13h.S: add more comments
28594
3a4575d4 285952009-06-11 Pavel Roskin <proski@gnu.org>
28596
0658e928 28597 * Makefile.in (uninstall): Uninstall manuals.
28598
ca0388f0 28599 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
28600 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
28601 and update-grub_lib in two places.
28602 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
28603
e3b27c39 28604 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
28605 a compiler warning.
28606
3a4575d4 28607 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
28608 `entry_lo' to fix variable shadowing.
28609
af1f4f55 286102009-06-11 Christian Franke <franke@computer.org>
28611
28612 * kern/misc.c (__enable_execute_stack): Add missing return type
28613 to prevent gcc warning.
28614
5225e649 286152009-06-11 Felix Zielcke <fzielcke@z-51.de>
28616
28617 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
28618
7d83bd47 286192009-06-11 Pavel Roskin <proski@gnu.org>
28620
c1cb63ba 28621 * Makefile.in: Don't rely on any scripts being executable.
28622 Always use $(SHELL) to run shell scripts.
28623
7d83bd47 28624 * configure.ac: Always define ___main if using -nostdlib. This
28625 fixes tests on Cygwin.
28626
948f48e7 286272009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
28628
28629 UDF fix
28630
7d83bd47 28631 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 28632 is in bytes and not in blocks
7d83bd47 28633
8ada9bc1 286342009-06-11 Pavel Roskin <proski@gnu.org>
28635
28636 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
28637 warning.
28638
25ad2323 286392009-06-11 Felix Zielcke <fzielcke@z-51.de>
28640
28641 * util/grub.d/30_os-prober.in: Fix a comment. Source
28642 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
28643 to set the root device. Place drivemap command in the generated
28644 chain entry.
28645
e65acb0c 286462009-06-11 Pavel Roskin <proski@gnu.org>
28647
28648 * configure.ac: Remove host_m32. Issues with 64-bit utilities
28649 have long been resolved.
28650
f285fe2d 286512009-06-11 Colin Watson <cjwatson@ubuntu.com>
28652
bd47b0b5 28653 * util/grub.d/10_linux.in: Capitalise "Linux".
28654
f285fe2d 28655 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
28656
a0c62e4e 286572009-06-11 Pavel Roskin <proski@gnu.org>
28658
b6783cb2 28659 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
28660 fix a gcc warning and ensure that the function won't ever exit.
28661
dde032e8 28662 * kern/i386/ieee1275/init.c: Add missing prototype for
28663 grub_stop_floppy().
28664
22cd079d 28665 * loader/ieee1275/multiboot2.c [__i386__]: Include
28666 grub/cpu/multiboot.h.
28667
a0c62e4e 28668 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
28669 casts to short - they are not portable and cause warnings. Fix
28670 use of uninitialized values in input_buf. Use ARRAY_SIZE.
28671
63963d17 286722009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
28673
28674 Drivemap fixes
28675
28676 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
28677 new function
28678 (grub_get_root_biosnumber_saved): new variable
28679 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
28680 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 28681 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 28682 %dx after the call if necessary
28683 * conf/common.rmk (pkglib_MODULES): remove boot.mod
28684 (boot_mod_SOURCES): remove
28685 (boot_mod_CFLAGS): remove
28686 (boot_mod_LDFLAGS): remove
28687 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
28688 (boot_mod_SOURCES): new variable
28689 (boot_mod_CFLAGS): likewise
28690 (boot_mod_LDFLAGS): likewise
28691 * conf/i386-efi.rmk: likewise
28692 * conf/i386-ieee1275.rmk: likewise
28693 * conf/i386-pc.rmk: likewise
28694 * conf/powerpc-ieee1275.rmk: likewise
28695 * conf/sparc64-ieee1275.rmk: likewise
28696 * conf/x86_64-efi.rmk: likewise
28697 * include/grub/i386/pc/biosnum.h: new file
28698 * lib/i386/pc/biosnum.c: likewise
28699 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
28700 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
28701 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 28702
33abf7ae 287032009-06-10 Pavel Roskin <proski@gnu.org>
28704
5ac35b35 28705 * io/gzio.c (test_header): Don't reuse one buffer for all data.
28706 Use separate variables. Read only the file size at the end, but
28707 not the checksum that we don't use.
28708
5c5215d5 28709 * kern/file.c (grub_file_read): Use void pointer for the buffer.
28710 Adjust all callers.
28711
27d5fef7 28712 * kern/ieee1275/openfw.c: Remove libc includes.
28713 * kern/ieee1275/cmain.c: Likewise.
28714 * include/grub/ieee1275/ieee1275.h: Likewise.
28715
33abf7ae 28716 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
28717 compiler warnings.
28718
19d50c2b 287192009-06-10 Felix Zielcke <fzielcke@z-51.de>
28720
28721 * Makefile.in: Remove all trailing whitespace.
28722 * conf/i386-pc.rmk: Likewise.
28723 * conf/powerpc-ieee1275.rmk: Likewise.
28724 * conf/sparc64-ieee1275.rmk: Likewise.
28725 * docs/grub.texi: Likewise.
28726 * docs/texinfo.tex: Likewise.
28727 * disk/fs_uuid.c: Likewise.
28728 * disk/lvm.c: Likewise.
28729 * disk/scsi.c: Likewise.
28730 * disk/ata.c: Likewise.
28731 * disk/ieee1275/ofdisk.c: Likewise.
28732 * disk/i386/pc/biosdisk.c: Likewise.
28733 * disk/host.c: Likewise.
28734 * disk/raid.c: Likewise.
28735 * disk/efi/efidisk.c: Likewise.
28736 * disk/usbms.c: Likewise.
28737 * disk/memdisk.c: Likewise.
28738 * disk/loopback.c: Likewise.
28739 * kern/powerpc/dl.c: Likewise.
28740 * kern/device.c: Likewise.
28741 * kern/dl.c: Likewise.
28742 * kern/sparc64/dl.c: Likewise.
28743 * kern/ieee1275/ieee1275.c: Likewise.
28744 * kern/term.c: Likewise.
28745 * kern/fs.c: Likewise.
28746 * kern/i386/dl.c: Likewise.
28747 * kern/i386/pc/startup.S: Likewise.
28748 * kern/i386/pc/init.c: Likewise.
28749 * kern/i386/pc/mmap.c: Likewise.
28750 * kern/i386/pc/lzo1x.S: Likewise.
28751 * kern/i386/ieee1275/init.c: Likewise.
28752 * kern/i386/realmode.S: Likewise.
28753 * kern/i386/tsc.c: Likewise.
28754 * kern/partition.c: Likewise.
28755 * kern/corecmd.c: Likewise.
28756 * kern/file.c: Likewise.
28757 * kern/efi/efi.c: Likewise.
28758 * kern/efi/init.c: Likewise.
28759 * kern/efi/mm.c: Likewise.
28760 * kern/main.c: Likewise.
28761 * kern/err.c: Likewise.
28762 * kern/env.c: Likewise.
28763 * kern/disk.c: Likewise.
28764 * kern/generic/millisleep.c: Likewise.
28765 * kern/generic/rtc_get_time_ms.c: Likewise.
28766 * kern/misc.c: Likewise.
28767 * kern/parser.c: Likewise.
28768 * genmk.rb: Likewise.
28769 * configure.ac: Likewise.
28770 * boot/i386/pc/diskboot.S: Likewise.
28771 * boot/i386/pc/pxeboot.S: Likewise.
28772 * boot/i386/pc/boot.S: Likewise.
28773 * boot/i386/pc/lnxboot.S: Likewise.
28774 * boot/i386/pc/cdboot.S: Likewise.
28775 * parttool/pcpart.c: Likewise.
28776 * video/readers/tga.c: Likewise.
28777 * video/video.c: Likewise.
28778 * video/bitmap.c: Likewise.
28779 * lib/envblk.c: Likewise.
28780 * lib/i386/setjmp.S: Likewise.
28781 * fs/xfs.c: Likewise.
28782 * fs/afs.c: Likewise.
28783 * fs/fat.c: Likewise.
28784 * fs/ntfs.c: Likewise.
28785 * fs/udf.c: Likewise.
28786 * fs/affs.c: Likewise.
28787 * fs/iso9660.c: Likewise.
28788 * fs/hfs.c: Likewise.
28789 * fs/fshelp.c: Likewise.
28790 * fs/ext2.c: Likewise.
28791 * fs/jfs.c: Likewise.
28792 * fs/reiserfs.c: Likewise.
28793 * fs/hfsplus.c: Likewise.
28794 * fs/minix.c: Likewise.
28795 * fs/cpio.c: Likewise.
28796 * fs/sfs.c: Likewise.
28797 * fs/ufs.c: Likewise.
28798 * efiemu/prepare.c: Likewise.
28799 * efiemu/loadcore_common.c: Likewise.
28800 * efiemu/runtime/efiemu.sh: Likewise.
28801 * efiemu/runtime/efiemu.S: Likewise.
28802 * efiemu/runtime/efiemu.c: Likewise.
28803 * efiemu/pnvram.c: Likewise.
28804 * efiemu/main.c: Likewise.
28805 * efiemu/i386/pc/cfgtables.c: Likewise.
28806 * efiemu/i386/loadcore64.c: Likewise.
28807 * efiemu/i386/loadcore32.c: Likewise.
28808 * efiemu/loadcore.c: Likewise.
28809 * efiemu/symbols.c: Likewise.
28810 * efiemu/mm.c: Likewise.
28811 * include/grub/autoefi.h: Likewise.
28812 * include/grub/datetime.h: Likewise.
28813 * include/grub/term.h: Likewise.
28814 * include/grub/hfs.h: Likewise.
28815 * include/grub/lvm.h: Likewise.
28816 * include/grub/i386/tsc.h: Likewise.
28817 * include/grub/i386/linux.h: Likewise.
28818 * include/grub/i386/xnu.h: Likewise.
28819 * include/grub/i386/efiemu.h: Likewise.
28820 * include/grub/i386/pc/biosdisk.h: Likewise.
28821 * include/grub/i386/pc/memory.h: Likewise.
28822 * include/grub/i386/pc/vbe.h: Likewise.
28823 * include/grub/parttool.h: Likewise.
28824 * include/grub/video.h: Likewise.
28825 * include/grub/memory.h: Likewise.
28826 * include/grub/fs.h: Likewise.
28827 * include/grub/partition.h: Likewise.
28828 * include/grub/xnu.h: Likewise.
28829 * include/grub/efi/api.h: Likewise.
28830 * include/grub/efi/pe32.h: Likewise.
28831 * include/grub/efi/memory.h: Likewise.
28832 * include/grub/multiboot.h: Likewise.
28833 * include/grub/usbdesc.h: Likewise.
28834 * include/grub/multiboot2.h: Likewise.
28835 * include/grub/acpi.h: Likewise.
28836 * include/grub/efiemu/efiemu.h: Likewise.
28837 * include/grub/disk.h: Likewise.
28838 * include/grub/ieee1275/ieee1275.h: Likewise.
28839 * include/grub/net.h: Likewise.
28840 * include/grub/machoload.h: Likewise.
28841 * include/grub/macho.h: Likewise.
28842 * include/multiboot.h: Likewise.
28843 * genmoddep.awk: Likewise.
28844 * normal/main.c: Likewise.
28845 * normal/menu_entry.c: Likewise.
28846 * normal/menu_viewer.c: Likewise.
28847 * normal/completion.c: Likewise.
28848 * normal/cmdline.c: Likewise.
28849 * normal/misc.c: Likewise.
28850 * normal/datetime.c: Likewise.
28851 * bus/usb/usbtrans.c: Likewise.
28852 * bus/usb/ohci.c: Likewise.
28853 * bus/usb/uhci.c: Likewise.
28854 * bus/usb/usb.c: Likewise.
28855 * mmap/efi/mmap.c: Likewise.
28856 * mmap/i386/pc/mmap_helper.S: Likewise.
28857 * mmap/i386/pc/mmap.c: Likewise.
28858 * mmap/i386/mmap.c: Likewise.
28859 * mmap/i386/uppermem.c: Likewise.
28860 * mmap/mmap.c: Likewise.
28861 * commands/acpi.c: Likewise.
28862 * commands/echo.c: Likewise.
28863 * commands/blocklist.c: Likewise.
28864 * commands/loadenv.c: Likewise.
28865 * commands/usbtest.c: Likewise.
28866 * commands/boot.c: Likewise.
28867 * commands/parttool.c: Likewise.
28868 * commands/search.c: Likewise.
28869 * commands/cat.c: Likewise.
28870 * commands/i386/pc/play.c: Likewise.
28871 * commands/i386/pc/drivemap.c: Likewise.
28872 * commands/i386/pc/vbeinfo.c: Likewise.
28873 * commands/i386/pc/acpi.c: Likewise.
28874 * commands/i386/pc/vbetest.c: Likewise.
28875 * commands/ls.c: Likewise.
28876 * commands/cmp.c: Likewise.
28877 * commands/test.c: Likewise.
28878 * commands/efi/acpi.c: Likewise.
28879 * commands/gptsync.c: Likewise.
28880 * commands/help.c: Likewise.
28881 * partmap/amiga.c: Likewise.
28882 * partmap/apple.c: Likewise.
28883 * partmap/acorn.c: Likewise.
28884 * partmap/pc.c: Likewise.
28885 * partmap/sun.c: Likewise.
28886 * partmap/gpt.c: Likewise.
28887 * script/sh/lexer.c: Likewise.
28888 * script/sh/function.c: Likewise.
28889 * font/font.c: Likewise.
28890 * font/font_cmd.c: Likewise.
28891 * loader/powerpc/ieee1275/linux.c: Likewise.
28892 * loader/efi/chainloader.c: Likewise.
28893 * loader/multiboot_loader.c: Likewise.
28894 * loader/macho.c: Likewise.
28895 * loader/i386/multiboot.c: Likewise.
28896 * loader/i386/linux.c: Likewise.
28897 * loader/i386/pc/linux.c: Likewise.
28898 * loader/i386/pc/multiboot2.c: Likewise.
28899 * loader/i386/pc/chainloader.c: Likewise.
28900 * loader/i386/pc/xnu.c: Likewise.
28901 * loader/i386/bsd_trampoline.S: Likewise.
28902 * loader/i386/efi/linux.c: Likewise.
28903 * loader/i386/multiboot_elfxx.c: Likewise.
28904 * loader/i386/bsd_helper.S: Likewise.
28905 * loader/i386/bsd.c: Likewise.
28906 * loader/i386/linux_trampoline.S: Likewise.
28907 * loader/i386/xnu_helper.S: Likewise.
28908 * loader/i386/xnu.c: Likewise.
28909 * loader/i386/bsd_pagetable.c: Likewise.
28910 * loader/i386/multiboot_helper.S: Likewise.
28911 * loader/xnu.c: Likewise.
28912 * loader/xnu_resume.c: Likewise.
28913 * io/gzio.c: Likewise.
28914 * term/efi/console.c: Likewise.
28915 * term/terminfo.c: Likewise.
28916 * term/ieee1275/ofconsole.c: Likewise.
28917 * term/i386/pc/serial.c: Likewise.
28918 * term/i386/pc/vesafb.c: Likewise.
28919 * term/i386/pc/vga.c: Likewise.
28920 * term/usb_keyboard.c: Likewise.
28921 * term/gfxterm.c: Likewise.
28922 * aclocal.m4: Likewise.
28923 * util/lvm.c: Likewise.
28924 * util/grub.d/30_os-prober.in: Likewise.
28925 * util/grub.d/10_hurd.in: Likewise.
28926 * util/console.c: Likewise.
28927 * util/grub-macho2img.c: Likewise.
28928 * util/grub-probe.c: Likewise.
28929 * util/hostfs.c: Likewise.
28930 * util/i386/pc/grub-mkimage.c: Likewise.
28931 * util/i386/pc/grub-setup.c: Likewise.
28932 * util/i386/efi/grub-mkimage.c: Likewise.
28933 * util/grub-mkconfig.in: Likewise.
28934 * util/raid.c: Likewise.
28935 * util/resolve.c: Likewise.
28936 * util/grub-mkdevicemap.c: Likewise.
28937 * util/grub-emu.c: Likewise.
28938 * util/getroot.c: Likewise.
28939 * util/hostdisk.c: Likewise.
28940 * util/usb.c: Likewise.
28941 * util/grub-editenv.c: Likewise.
28942 * util/misc.c: Likewise.
28943
d2d49665 289442009-06-10 Felix Zielcke <fzielcke@z-51.de>
28945
28946 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
28947 `genparttoollist.sh'.
28948 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
28949 Add `*.sh' to the list find searches for and change `mdate.sh'
28950 to `mdate-sh'.
28951
fe052e37 289522009-06-10 Pavel Roskin <proski@gnu.org>
28953
2763ac18 28954 * include/grub/multiboot2.h: Provide compatibility defines for
28955 multiboot2.h.
28956 * include/multiboot2.h: Include stdint.h only if needed, using
28957 angle brackets.
28958 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
28959 grub/multiboot2.h.
28960 * loader/ieee1275/multiboot2.c: Likewise.
28961 * loader/multiboot2.c: Likewise.
28962 * loader/multiboot_loader.c: Likewise.
28963
437e6adc 28964 * configure.ac: Use -nostdlib when probing for the target. It
28965 should not be required to have libc for the target.
28966
06a6836c 28967 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
28968 they fail without libc headers for the target.
28969 * include/grub/powerpc/libgcc.h: Use weak attribute for all
28970 exports.
28971 * include/grub/sparc64/libgcc.h: Likewise. Don't use
28972 preprocessor conditionals.
28973
fe052e37 28974 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
28975 build system doesn't need to be aware of the tar.c internals.
28976
afd22553 289772009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 28978
afd22553 28979 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 28980
6b787c4f 289812009-06-09 Robert Millan <rmh.grub@aybabtu.com>
28982
28983 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
28984 disk limit to 26 for IDE, Virtio, Xen and SCSI.
28985
289862009-06-09 Felix Zielcke <fzielcke@z-51.de>
28987
28988 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 28989 aren't available if ata.mod gets used.
6b787c4f 28990
473d1e45 289912009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 28992
473d1e45 28993 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 28994 initialising controller.
473d1e45 28995 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 28996
255a27d4 289972009-06-08 Felix Zielcke <fzielcke@z-51.de>
28998
28999 * util/i386/pc/grub-install.in: Add a parameter --disk-module
29000 to choose between ata and biosdisk module on i386-pc.
29001
473d1e45 290022009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 29003
d55842d8 29004 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
29005 Subclass and Programming Interface fields in terms of the 3 byte
29006 Class Code register.
29007 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
29008
fa5db0b1 29009 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
29010 interface is OHCI. Add grub_dprintf for symmetry with
29011 bus/usb/uhci.c.
29012 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
29013 interface is UHCI. Add interf variable for programming
29014 interface. Print interface with class/subclass.
29015
c0947beb 29016 * bus/usb/ohci.c: Set interf with correct field.
29017
69da8877 29018 * bus/usb/uhci.c: Remove unneeded doubled lines.
29019 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
29020 Remove whitespace inside comment.
29021
9e172e30 290222009-06-08 Robert Millan <rmh.grub@aybabtu.com>
29023
29024 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
29025 as fallback an equivalent option without depth.
29026
de65ee2b 290272009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
29028
29029 Not fail if unable to retrieve C/H/S on LBA disks
29030
473d1e45 29031 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 29032 if unable to retrieve C/H/S on LBA disks
29033
b57ea2c9 290342009-06-08 Pavel Roskin <proski@gnu.org>
29035
29036 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
29037 about aliasing.
29038
af361263 290392009-06-08 Felix Zielcke <fzielcke@z-51.de>
29040
29041 * Makefile.in (uninstall): Remove all $lib_DATA files.
29042
4c9ec6b3 290432009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
29044
29045 Bugfix: install on partitionless device
29046
29047 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
29048 is a whole disk
29049
e76fc924 290502009-06-08 Felix Zielcke <fzielcke@z-51.de>
29051
29052 * Makefile.in (uninstall): Remove all $include_DATA files.
29053
ba5a0d05 290542009-06-08 Felix Zielcke <fzielcke@z-51.de>
29055
29056 * commands/true.c: New file. Implement the true and false commands.
29057 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
29058 (true_mod_SOURCES): New variable.
29059 (true_mod_CFLAGS): Likewise.
29060 (true_mod_LDFLAGS): Likewise.
29061
c8048e32 290622009-06-05 Colin D Bennett <colin@gibibit.com>
29063
29064 Optimized font character lookup using binary search instead of linear
29065 search. Fonts now are required to have the character index ordered by
29066 code point.
29067
29068 * font/font.c (load_font_index): Verify that fonts have ordered
29069 character indices.
29070 (find_glyph): Use binary search instead of linear search to find a
29071 character in a font.
29072
408305be 290732009-06-05 Michael Scherer <misc@mandriva.org>
29074
29075 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
29076 uses case sensitive btree.
29077 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
29078 only for case insensitive filesystems.
29079
8ee1e0d9 290802009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
29081
29082 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
29083 * conf/common.rmk (search_mod_CFLAGS): likewise
29084
a9966eb1 290852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29086
473d1e45 29087 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 29088 compensate a compiler bug
29089
9e7100fb 290902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29091
473d1e45 29092 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 29093 instead of '\b'
473d1e45 29094
ede21d71 290952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29096
29097 Definitions for creating asm symbols with Apple's CC
29098
29099 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
29100 [APPLE_CC] (VARIABLE): likewise
29101
9dbf7653 291022009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29103
29104 Disable lnxboot.img when compiled
29105 with Apple's CC
29106
29107 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
29108 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
29109 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
29110 [! APPLE_CC] (CODE_LENG): skip
29111 [! APPLE_CC] (setup_sects): likewise
29112 [! APPLE_CC]: skip filling
473d1e45 29113
e93cdc3d 291142009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29115
29116 Address in trampolines based on 32-bit registers when compiled
29117 with Apple's CC
29118
473d1e45 29119 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 29120 for addresses
29121 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
29122
6c688477 291232009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29124
29125 Avoid aliases when compiling with Apple's CC for PCBIOS machine
29126
29127 * kern/misc.c [APPLE_CC] (memcpy): new function
29128 [APPLE_CC] (memmove): likewise
29129 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 29130 (memcpy): define alias conditionally on !APPLE_CC
6c688477 29131 (memset): likewise
29132 (abort): likewise
29133 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
29134 APPLE_CC are defined
29135 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
29136 (grub_assert_fail): make prototype conditional
29137
e37ffc5c 291382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29139
29140 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
29141
473d1e45 29142 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
29143 grub-macho2img
e37ffc5c 29144 (CLEANFILES): add grub-macho2img
29145 (grub_macho2img_SOURCES): new variable
29146 * kern/i386/pc/startup.S (bss_start): new variable
29147 (bss_end): likewise
29148 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
29149 * util/grub-macho2img.c: new file
29150
cf00df31 291512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29152
29153 Use objconv when compiling with Apple's CC
29154
29155 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
29156 (efiemu64.o): likewise
29157 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
29158 when compiling with Apple's CC
29159 (efiemu64_s.o): likewise
29160 * configure.ac: check for objconv when compiling with Apple's CC
29161 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 29162
d119a20c 291632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29164
29165 Define segment as well as section when compiling with
29166 Apple's CC
29167
29168 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
29169 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
29170 (efiemu_convert_pointer): likewise
29171 (efiemu_set_virtual_address_map): likewise
29172 (efiemu_convert_pointer): likewise
29173 (efiemu_getcrc32): likewise
29174 (init_crc32_table): likewise
29175 (reflect): likewise
29176 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
29177 (GRUB_MOD_DEP): likewise
473d1e45 29178
c8600122 291792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29180
29181 Allow a compilation without -mcmodel=large
29182
29183 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
29184 when compiled without -mcmodel=large
473d1e45 29185 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 29186 without -mcmodel=large
473d1e45 29187 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 29188 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 29189
e8df1d4e 291902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29191
29192 Remove nested functions in efiemu core
29193
29194 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 29195
cc6c3ac1 291962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29197
29198 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
29199
29200 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
29201 temporary storage
473d1e45 29202 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
29203 using Apple's CC
cc6c3ac1 29204 (grub_cpu_is_tsc_supported): likewise
29205 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 29206
3e325901 292072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29208
29209 Absolute addressing through constant with Apple's cc
29210
29211 * kern/i386/pc/startup.S: Define necessary constants
29212 and address through it when using ABS with Apple's CC
29213 * boot/i386/pc/diskboot.S: likewise
29214 * boot/i386/pc/boot.S: likewise
29215 * boot/i386/pc/lnxboot.S: likewise
29216 * boot/i386/pc/cdboot.S: likewise
29217 * mmap/i386/pc/mmap_helper.S: likewise
29218 * commands/i386/pc/drivemap_int13h.S: likewise
29219
2b167a72 292202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29221
29222 Check if compiler is apple cc
29223
29224 * Makefile.in (ASFLAGS): new variable
29225 (TARGET_ASFLAGS): likewise
29226 (TARGET_MODULE_FORMAT): likewise
29227 (TARGET_APPLE_CC): likewise
29228 (OBJCONV): likewise
29229 (TARGET_IMG_CFLAGS): likewise
29230 (TARGET_CPPFLAGS): add includedir
29231 * configure.ac: call grub_apple_cc and grub_apple_target_cc
29232 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
29233 Check for linker script only if compiler isn't Apple's CC
29234 (TARGET_MODULE_FORMAT): set
29235 (TARGET_APPLE_CC): likewise
29236 (TARGET_ASFLAGS): likewise
29237 (ASFLAGS): likewise
29238 Check for objcopy only if compiler isn't Apple's CC
29239 Check for BSS symbol only if compiler isn't Apple's CC
29240 * genmk.rb: adapt nm options if we use Apple's utils
29241 * aclocal.m4 (grub_apple_cc): new test
29242 (grub_apple_target_cc): likewise
473d1e45 29243
fb14123e 292442009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29245
29246 Simplify sed expressions and improve awk
29247
29248 * Makefile.in (install-local): simplify sed expression
29249 * gencmdlist.sh: likewise
29250 * genmoddep.awk: avoid adding module as a dependency of itself
29251
5b889789 292522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29253
29254 Add missing start symbols
29255
29256 * boot/i386/pc/boot.S: add start
fb14123e 29257 * boot/i386/pc/pxeboot.S: likewise
473d1e45 29258
fd2bf2e3 292592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29260
29261 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 29262
29263 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 29264 (relocate_addresses): consider both r_addend and value at offset
29265 (make_mods_section): zerofill modinfo and header
29266 (convert_elf): write prefix here
473d1e45 29267
5389763d 292682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29269
29270 Use .asciz instead of .string
29271
29272 * i386/pc/diskboot.S: use .asciz instead of .string
29273 * i386/pc/boot.S: likewise
29274 * include/grub/dl.h (GRUB_MOD_DEP): likewise
29275 (GRUB_MOD_NAME): likewise
473d1e45 29276
3eb5ed4e 292772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29278
29279 gfxpayload support
29280
29281 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
29282 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
29283 (grub_video_setup): remove
29284 (grub_video_set_mode): new prototype
29285 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
29286 (vid_mode): remove
29287 (linux_vesafb_res): compile only on PCBIOS
29288 (grub_linux_boot): support gfxpayload
29289 * loader/i386/pc/xnu.c (video_hook): new function
29290 (grub_xnu_set_video): support gfxpayload
29291 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
29292 (DEFAULT_VIDEO_HEIGHT): likewise
29293 (DEFAULT_VIDEO_FLAGS): likewise
29294 (DEFAULT_VIDEO_MODE): new definition
29295 (video_hook): new function
29296 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 29297 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 29298 loading xnu
29299 * video/video.c (grub_video_setup): removed
473d1e45 29300 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 29301 grub_video_setup
29302
4b0e1143 293032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29304
29305 Avoid calling biosdisk in drivemap
29306
29307 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
29308 (revparse_biosdisk): likewise
29309 (list_mappings): derive name from id directly
29310 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 29311
fda6cb98 293122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29313
29314 Script fixes
29315
29316 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
29317 (grub_lexer_param): add tokenonhold
29318 (grub_script_create_cmdline): remove cmdline. All callers updated
29319 (grub_script_function_create): make functionname
29320 grub_script_arg. All callers updated
29321 (grub_script_execute_argument_to_string): new prototype
29322 * kern/parser.c (state_transitions): reorder
29323 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 29324 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 29325 make global
29326 (grub_script_execute_cmdline): use new format
29327 * script/sh/function.c (grub_script_function_create): make functionname
29328 grub_script_arg. All callers updated
473d1e45 29329 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 29330 (grub_script_yylex): remove
29331 (grub_script_yylex2): renamed to ...
29332 (grub_script_yylex): ...renamed
29333 parse the expressions like a${b}c
29334 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
29335 (GRUB_PARSER_TOKEN_VAR): remove
29336 (GRUB_PARSER_TOKEN_NAME): likewise
29337 ("if"): declare as typeless
29338 ("while"): likewise
29339 ("function"): likewise
29340 ("else"): likewise
29341 ("then"): likewise
29342 ("fi"): likewise
29343 (text): remove
29344 (argument): likewise
29345 (script): accept empty scripts and make exit on error
29346 (arguments): use GRUB_PARSER_TOKEN_ARG
29347 (function): likewise
29348 (command): move error handling to script
29349 (menuentry): move grub_script_lexer_ref before
473d1e45 29350 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 29351 argument. All callers updated
29352
f4448a07 293532009-06-04 Robert Millan <rmh.grub@aybabtu.com>
29354
29355 Prevent GRUB from probing floppies during boot.
29356
29357 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
29358 * commands/search.c (options): Add --no-floppy.
29359 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
29360 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
29361 --no-floppy when searching for UUIDs.
29362
2bf5885a 293632009-06-04 Robert Millan <rmh.grub@aybabtu.com>
29364
29365 Simplify the code duplication in commands/search.c.
29366
29367 * commands/search.c (search_label, search_fs_uuid): Merge into ...
29368 (search_fs): ... this. Update all users.
29369
f6fd460a 293702009-06-03 Felix Zielcke <fzielcke@z-51.de>
29371
29372 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
29373
cbb3c83e 293742009-05-28 Pavel Roskin <proski@gnu.org>
29375
57788cfd 29376 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
29377 Remove the original symlink explicitly.
29378
cbb3c83e 29379 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
29380 just one slash. That's how grub_fshelp_find_file() does it.
29381
cd0d5e30 293822009-05-26 Pavel Roskin <proski@gnu.org>
29383
f0f8bbe2 29384 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
29385 to `str'.
29386
cd0d5e30 29387 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
29388 possibly unused.
29389
8c2cab51 293902009-05-25 Christian Franke <franke@computer.org>
29391
29392 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
29393 register.
29394 (grub_atapi_identify): Add wait after drive select.
29395 (grub_ata_identify): Do more strict status register check before
29396 calling grub_atapi_identify (). Suppress error message if status
29397 register is 0x00 after command failure. Add status register
29398 check after PIO read to avoid bogus identify due to stuck DRQ.
29399 Thanks to Pavel Roskin for testing.
29400 (grub_device_initialize): Remove unsafe status register check.
29401 Thanks to 'phcoder' for problem report and patch.
29402 Prevent sign extension in debug message.
29403
230c0ad6 294042009-05-23 Colin D Bennett <colin@gibibit.com>
29405
29406 Cleaned up `include/grub/normal.h'. Grouped prototypes by
29407 definition file, and functions defined in `normal/menu.c' have had
29408 their prototypes moved to `include/grub/menu.h' for consistency.
29409
29410 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
29411 from normal.h.
29412 (grub_menu_get_entry): Likewise.
29413 (grub_menu_get_timeout): Likewise.
29414 (grub_menu_set_timeout): Likewise.
29415 (grub_menu_execute_entry): Likewise.
29416 (grub_menu_execute_with_fallback): Likewise.
29417 (grub_menu_entry_run): Likewise.
29418
29419 * include/grub/normal.h: Re-ordered and grouped function
29420 prototypes by file that the function is defined in.
29421 (grub_menu_execute_callback): Removed; moved to menu.h.
29422 (grub_menu_get_entry): Likewise.
29423 (grub_menu_get_timeout): Likewise.
29424 (grub_menu_set_timeout): Likewise.
29425 (grub_menu_execute_entry): Likewise.
29426 (grub_menu_execute_with_fallback): Likewise.
29427 (grub_menu_entry_run): Likewise.
29428 (grub_menu_addentry): Renamed from this ...
29429 (grub_normal_add_menu_entry): ... to this.
29430
29431 * normal/main.c (grub_menu_addentry): Renamed from this ...
29432 (grub_normal_add_menu_entry): ... to this.
29433
29434 * script/sh/execute.c (grub_script_execute_menuentry): Update
29435 reference to renamed grub_menu_addentry function.
29436
861f03a5 294372009-05-23 Felix Zielcke <fzielcke@z-51.de>
29438
29439 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
29440
96b1619a 294412009-05-22 Pavel Roskin <proski@gnu.org>
29442
bf6a5fb2 29443 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
29444 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
29445 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
29446 compiling for the i386 targets, but not for the utilities.
29447
96b1619a 29448 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
29449 to grub_uint8_t.
29450 (grub_root_drive): Likewise.
29451 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
29452 remove alignment.
29453 (grub_root_drive): Change size to byte.
29454 (grub_start_addr): Remove.
29455 (grub_end_addr): Likewise.
29456 (grub_apm_bios_info): Likewise.
29457
b729776b 294582009-05-21 Felix Zielcke <fzielcke@z-51.de>
29459
29460 * normal/i386: Remove.
29461 * normal/powerpc: Likewise.
29462 * normal/sparc64: Likewise.
29463 * normal/x86_64: Likewise.
29464
0a15ce80 294652009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
29466
29467 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 29468 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 29469 * loader/i386/xnu_helper.S: Likewise
d6da58e6 29470
33db9015 294712009-05-18 Colin D Bennett <colin@gibibit.com>
29472
d6da58e6 29473 Display error messages when parsing a Lua statement fails.
29474 Previously, executing a syntactically invalid statement like
29475 ")foo" or "bar;" would silently fail.
33db9015 29476
29477 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 29478 (grub_lua_parse_line): Improved reporting of Lua parser and
29479 execution errors.
33db9015 29480
46422c89 294812009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
29482
29483 Remove -Werror which causes build to fail on some systems
29484
29485 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
29486 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
29487 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 29488
22f53a96 294892009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
29490
29491 trampoline for linux on 64-bit platform
29492
18f547ad 29493 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
29494 loader/i386/efi/linux_trampoline.S
29495 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 29496 declaration
d6da58e6 29497 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
29498 here
22f53a96 29499 * loader/i386/linux_trampoline.S: moved here
d6da58e6 29500 * loader/i386/efi/linux.c (allocate_pages): reserve space for
29501 trampoline
22f53a96 29502 (jumpvector): removed
29503 (grub_linux_trampoline_start): new declaration
29504 (grub_linux_trampoline_end): likewise
29505 (grub_linux_boot): use trampoline when on 64-bit platform
29506 * loader/i386/linux.c: likewise
29507
cb5a0f40 295082009-05-16 Pavel Roskin <proski@gnu.org>
29509
29510 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
29511 const to avoid a warning.
29512 (grub_lua_setenv): Likewise.
29513 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
29514 lmsg to fix a warning.
29515
334f2c28 295162009-05-16 Felix Zielcke <fzielcke@z-51.de>
29517
29518 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 29519 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29520 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
29521 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29522 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
29523 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29524 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
29525 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 29526
59e5d3ec 295272009-05-16 Felix Zielcke <fzielcke@z-51.de>
29528
29529 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
29530
9d87a1ba 295312009-05-16 Bean <bean123ch@gmail.com>
29532
29533 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
29534 (lua_mod_SOURCES): New variable.
29535 (lua_mod_CFLAGS): Likewise.
29536 (lua_mod_LDFLAGS): Likewise.
29537
29538 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
29539 (setjmp_mod_SOURCES): New variable.
29540 (setjmp_mod_CFLAGS): Likewise.
29541 (setjmp_LDFLAGS): Likewise.
29542
29543 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
29544 (setjmp_mod_SOURCES): New variable.
29545 (setjmp_mod_CFLAGS): Likewise.
29546 (setjmp_LDFLAGS): Likewise.
29547
29548 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
29549 (setjmp_mod_SOURCES): New variable.
29550 (setjmp_mod_CFLAGS): Likewise.
29551 (setjmp_LDFLAGS): Likewise.
29552
29553 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
29554 (setjmp_mod_SOURCES): New variable.
29555 (setjmp_mod_CFLAGS): Likewise.
29556 (setjmp_LDFLAGS): Likewise.
29557
29558 * normal/i386/setjmp.S: Moved from here ...
29559 * lib/i386/setjmp.S: ... Moved here
29560 * normal/x86_64/setjmp.S: Moved from here ...
29561 * lib/x86_64/setjmp.S: ... Moved here
29562 * normal/powerpc/setjmp.S: Moved from here ...
29563 * lib/powerpc/setjmp.S: ... Moved here
29564 * normal/sparc64/setjmp.S: Moved from here ...
29565 * lib/sparc64/setjmp.S: ... Moved here
29566
29567 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
29568 returns_twice in mingw.
29569
29570 * script/lua/grub_lib.c: New file.
29571 * script/lua/grub_lib.h: Likewise.
29572 * script/lua/grub_lua.h: Likewise.
29573 * script/lua/grub_main.c: Likewise.
29574 * script/lua/lapi.c: Likewise.
29575 * script/lua/lapi.h: Likewise.
29576 * script/lua/lauxlib.c: Likewise.
29577 * script/lua/lauxlib.h: Likewise.
29578 * script/lua/lbaselib.c: Likewise.
29579 * script/lua/lcode.c: Likewise.
29580 * script/lua/lcode.h: Likewise.
29581 * script/lua/ldblib.c: Likewise.
29582 * script/lua/ldebug.c: Likewise.
29583 * script/lua/ldebug.h: Likewise.
29584 * script/lua/ldo.c: Likewise.
29585 * script/lua/ldo.h: Likewise.
29586 * script/lua/ldump.c: Likewise.
29587 * script/lua/lfunc.c: Likewise.
29588 * script/lua/lfunc.h: Likewise.
29589 * script/lua/lgc.c: Likewise.
29590 * script/lua/lgc.h: Likewise.
29591 * script/lua/linit.c: Likewise.
29592 * script/lua/liolib.c: Likewise.
29593 * script/lua/llex.c: Likewise.
29594 * script/lua/llex.h: Likewise.
29595 * script/lua/llimits.h: Likewise.
29596 * script/lua/lmathlib.c: Likewise.
29597 * script/lua/lmem.c: Likewise.
29598 * script/lua/lmem.h: Likewise.
29599 * script/lua/loadlib.c: Likewise.
29600 * script/lua/lobject.c: Likewise.
29601 * script/lua/lobject.h: Likewise.
29602 * script/lua/lopcodes.c: Likewise.
29603 * script/lua/lopcodes.h: Likewise.
29604 * script/lua/loslib.c: Likewise.
29605 * script/lua/lparser.c: Likewise.
29606 * script/lua/lparser.h: Likewise.
29607 * script/lua/lstate.c: Likewise.
29608 * script/lua/lstate.h: Likewise.
29609 * script/lua/lstring.c: Likewise.
29610 * script/lua/lstring.h: Likewise.
29611 * script/lua/lstrlib.c: Likewise.
29612 * script/lua/ltable.c: Likewise.
29613 * script/lua/ltable.h: Likewise.
29614 * script/lua/ltablib.c: Likewise.
29615 * script/lua/ltm.c: Likewise.
29616 * script/lua/ltm.h: Likewise.
29617 * script/lua/lua.h: Likewise.
29618 * script/lua/luaconf.h: Likewise.
29619 * script/lua/lualib.h: Likewise.
29620 * script/lua/lundump.c: Likewise.
29621 * script/lua/lundump.h: Likewise.
29622 * script/lua/lvm.c: Likewise.
29623 * script/lua/lvm.h: Likewise.
29624 * script/lua/lzio.c: Likewise.
29625 * script/lua/lzio.h: Likewise.
29626
5e898c9d 296272009-05-16 Bean <bean123ch@gmail.com>
29628
29629 * include/grub/kernel.h (grub_module_header_types): Add type
29630 OBJ_TYPE_CONFIG.
29631
29632 * kern/main.c (grub_load_config): New function.
29633 (grub_main): Call grub_load_config to read boot config.
29634
29635 * grub-mkimage (generate_image): New parameter config_path.
29636 (options): New option --config.
29637 (main): Parse --config option, and pass it to generate_image.
29638
cf353a47 296392009-05-14 Christian Franke <franke@computer.org>
29640
29641 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
29642 This fixes build on Cygwin.
29643
3834887f 296442009-05-14 Pavel Roskin <proski@gnu.org>
29645
29646 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
29647 jump. This saves two bytes, so the typical case of 2 swapped
29648 drives would fit 32 bytes.
29649
8090fc01 296502009-05-13 Pavel Roskin <proski@gnu.org>
29651
ac963883 29652 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
29653 grub_uint32_t to avoid a warning.
29654
8090fc01 29655 * loader/i386/linux.c (allocate_pages): When assigning
29656 real_mode_mem, cast through grub_size_t to fix a warning. The
29657 code already makes sure that the value would fit a pointer.
29658 (grub_linux_setup_video): Cast render_target->data to
29659 grub_size_t to fix a warning.
29660
18f547ad 296612009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 29662
29663 * commands/i386/pc/drivemap.c: New file - implement drivemap
29664 command.
29665 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
29666 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
29667
6f6a8b28 296682009-05-13 Pavel Roskin <proski@gnu.org>
29669
29670 * util/i386/pc/grub-setup.c (setup): Remove unused variable
29671 embedding_area_exists.
29672
15fbf4c4 296732009-05-13 Robert Millan <rmh.grub@aybabtu.com>
29674
29675 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
29676 it easier to understand / work with.
59978c8a 29677 Improve warning messages for cases where there's no embedding area,
29678 or when it is too small (or core.img too large).
15fbf4c4 29679
238e871f 296802009-05-13 Pavel Roskin <proski@gnu.org>
29681
0ab3a9a4 29682 * loader/i386/pc/multiboot2.c: Add necessary includes for
29683 grub_multiboot2_real_boot().
29684
a2c8c5f8 29685 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
29686 PX record is always little-endian. We only need the lower 2
29687 bytes of the mode.
29688
faec96af 29689 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
29690 facilitate code reuse.
29691 (grub_cpio_mount): Use "struct head", not a char buffer. This
29692 fixes a warning reported by gcc 4.4.
29693
238e871f 29694 * kernel/disk.c (grub_disk_read): Use void pointer for the
29695 buffer.
29696 (grub_disk_write): Use const void pointer for the buffer.
29697 Adjust all callers. Remove unnecessary casts.
29698
901d2f0c 296992009-05-10 Robert Millan <rmh.grub@aybabtu.com>
29700
29701 * util/i386/pc/grub-install.in: Update copyright year.
29702
18f547ad 297032009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 29704
29705 gptsync
29706
29707 * commands/gptsync.c: new file
29708 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
29709 (gptsync_mod_SOURCES): new variable
29710 (gptsync_mod_CFLAGS): likewise
29711 (gptsync_mod_LDFLAGS): likewise
18f547ad 29712 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 29713 new definition
29714 (GRUB_PC_PARTITION_TYPE_HFS): likewise
29715 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
29716 * conf/i386-ieee1275.rmk: likewise
29717 * conf/i386-pc.rmk: likewise
29718 * conf/powerpc-ieee1275.rmk: likewise
29719
b4ba690a 297202009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
29721
29722 Fixed grub-emu
29723
29724 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
29725 (grub_dl_ref): likewise
29726
317e1a44 297272009-05-08 Robert Millan <rmh.grub@aybabtu.com>
29728
29729 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
29730 split in two functions (one for msdos and one for gpt).
29731
041b8094 297322009-05-08 Pavel Roskin <proski@gnu.org>
29733
752473c2 29734 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
29735 not modified.
29736
041b8094 29737 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
29738 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
29739 Initialize them with -1. Add sanity check for bad1. Eliminate
29740 nerr variable.
29741
172800ce 297422009-05-08 David S. Miller <davem@davemloft.net>
29743
29744 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
29745
29aa5e81 297462009-05-06 Robert Millan <rmh.grub@aybabtu.com>
29747
29748 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 29749 existence.
29aa5e81 29750
96613b62 297512009-05-05 Felix Zielcke <fzielcke@z-51.de>
29752
29753 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 29754 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 29755
eef73c8a 297562009-05-05 David S. Miller <davem@davemloft.net>
29757
29758 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
29759
119494b5 297602009-05-05 Pavel Roskin <proski@gnu.org>
29761
29762 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
29763 of grub_dl_ref() and grub_dl_unref().
29764 * commands/parttool.c: Remove preprocessor conditionals around
29765 grub_dl_ref() and grub_dl_unref().
29766 * fs/affs.c: Likewise.
29767 * fs/afs.c: Likewise.
29768 * fs/cpio.c: Likewise.
29769 * fs/ext2.c: Likewise.
29770 * fs/fat.c: Likewise.
29771 * fs/hfs.c: Likewise.
29772 * fs/hfsplus.c: Likewise.
29773 * fs/iso9660.c: Likewise.
29774 * fs/jfs.c: Likewise.
29775 * fs/minix.c: Likewise.
29776 * fs/ntfs.c: Likewise.
29777 * fs/reiserfs.c: Likewise.
29778 * fs/sfs.c: Likewise.
29779 * fs/udf.c: Likewise.
29780 * fs/ufs.c: Likewise.
29781 * fs/xfs.c: Likewise.
29782 * include/grub/dl.h: Likewise.
29783 * loader/xnu.c: Likewise.
29784
de5fd76e 297852009-05-04 Pavel Roskin <proski@gnu.org>
29786
29787 * commands/acpi.c: Remove unused variable my_mod.
29788 * partmap/amiga.c: Likewise.
29789 * partmap/apple.c: Likewise.
29790 * partmap/gpt.c: Likewise.
29791 * partmap/pc.c: Likewise.
29792 * partmap/sun.c: Likewise.
29793 * term/gfxterm.c: Likewise.
29794 * term/i386/pc/vesafb.c: Likewise.
29795 * term/i386/pc/vga.c: Likewise.
29796
983598ad 297972009-05-04 David S. Miller <davem@davemloft.net>
29798
29799 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
29800 pointer args to grub_ieee1275_get_property().
29801
8aadec43 29802 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
29803
9554b15e 29804 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
29805 devices, and do not traverse down under controller nodes.
29806
67e23c90 29807 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
29808 (grub_ofdisk_open): Use it to un-escape "," characters.
29809 * kern/disk.c (find_part_sep): New.
29810 (grub_disk_open): Use it to find the first non-escaped ','
29811 character in the disk name.
29812 * util/ieee1275/devicemap.c (escape_of_path): New.
29813 (grub_util_emit_devicemap_entry): Use it.
29814 * util/sparc64/ieee1275/grub-install.in: Update script to
29815 strip partition specifiers properly by not triggering on
29816 '\' escaped ',' characters.
29817
74bfdd2f 298182009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29819
29820 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
29821 to 0x300.
29822 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
29823 resolutions.
29824 (linux_vesafb_modes): Add a lot of additional modes to the list (based
29825 on documentation from Wikipedia).
29826
4241d2b1 298272009-05-04 Pavel Roskin <proski@gnu.org>
29828
29829 * disk/ata.c: Spelling fixes.
29830 * disk/raid.c: Likewise.
29831 * disk/usbms.c: Likewise.
29832 * disk/dmraid_nvidia.c: Likewise.
29833 * kern/ieee1275/openfw.c: Likewise.
29834 * kern/ieee1275/init.c: Likewise.
29835 * kern/ieee1275/cmain.c: Likewise.
29836 * boot/i386/pc/cdboot.S: Likewise.
29837 * video/readers/png.c: Likewise.
29838 * video/i386/pc/vbe.c: Likewise.
29839 * fs/udf.c: Likewise.
29840 * fs/hfs.c: Likewise.
29841 * fs/reiserfs.c: Likewise.
29842 * efiemu/runtime/efiemu.c: Likewise.
29843 * efiemu/main.c: Likewise.
29844 * efiemu/mm.c: Likewise.
29845 * include/grub/elf.h: Likewise.
29846 * include/grub/xnu.h: Likewise.
29847 * include/grub/usbdesc.h: Likewise.
29848 * include/grub/usb.h: Likewise.
29849 * include/grub/script_sh.h: Likewise.
29850 * include/grub/lib/LzmaEnc.h: Likewise.
29851 * include/grub/efiemu/efiemu.h: Likewise.
29852 * include/grub/command.h: Likewise.
29853 * normal/menu.c: Likewise.
29854 * normal/main.c: Likewise.
29855 * normal/datetime.c: Likewise.
29856 * bus/usb/uhci.c: Likewise.
29857 * mmap/i386/uppermem.c: Likewise.
29858 * mmap/mmap.c: Likewise.
29859 * commands/acpi.c: Likewise.
29860 * commands/test.c: Likewise.
29861 * partmap/apple.c: Likewise.
29862 * font/font.c: Likewise.
29863 * loader/sparc64/ieee1275/linux.c: Likewise.
29864 * loader/macho.c: Likewise.
29865 * loader/i386/bsd_trampoline.S: Likewise.
29866 * loader/i386/bsd.c: Likewise.
29867 * loader/xnu.c: Likewise.
29868 * term/i386/pc/vesafb.c: Likewise.
29869 * term/usb_keyboard.c: Likewise.
29870 * util/resolve.c: Likewise.
29871 * util/getroot.c: Likewise.
29872
0cfc0083 298732009-05-04 Felix Zielcke <fzielcke@z-51.de>
29874
29875 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
29876
7c1d00cd 298772009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29878
29879 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
29880 build error.
29881
b01f0548 298822009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29883
29884 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
29885 parameter only available on BIOS.
29886
ecc3eb22 298872009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
29888
29889 Removed wrong semicolon in declaration
29890
29891 * grub/misc.h (grub_dprintf): remove semicolon
29892
112972a9 298932009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29894
29895 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
29896 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
29897 is done by grub_cmd_linux() now).
29898 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
29899 restore video to text mode.
29900 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
29901 indicates lack of "vga=" parameter. "vga=0" is mapped to
29902 `GRUB_LINUX_VID_MODE_NORMAL'.
29903
afd5c115 299042009-05-04 Felix Zielcke <fzielcke@z-51.de>
29905
29906 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
29907 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
29908 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 29909 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 29910 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
29911 `grub_script.tab.c'.
29912
29913 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29914 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29915 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29916 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29917 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29918
faa517ce 29919 * Makefile.in: Remove duplicated 2008 in Copyright line.
29920
ae0c0bdc 299212009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29922
473d1e45 29923 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 29924 unconditionally.
29925 * include/grub/util/misc.h (grub_util_warn): New declaration.
29926
29927 * util/i386/pc/grub-install.in: Understand --force and pass it down
29928 to grub-setup.
29929
29930 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
29931 down to setup().
29932 (setup): Improve error messages and add warnings when requested to
29933 install in odd layouts. Refuse to install using blocklists unless
29934 --force was set.
29935
18f547ad 299362009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 29937
29938 * disk/raid.c (grub_raid_scan_device): Improve debug message.
29939
6d260daa 299402009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
29941
29942 Updated copyright year
29943
29944 * fs/hfsplus.c: updated copyright year
18f547ad 29945
69f853f8 299462009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
29947
29948 HFS+ UUID
29949
18f547ad 29950 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 29951 in the space previously used by unused3
29952 (grub_hfsplus_uuid): new function
29953 (grub_hfsplus_fs): added uuid field
29954
4c402e73 299552009-05-03 Pavel Roskin <proski@gnu.org>
29956
29957 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
29958 suppress warnings. It's no longer needed.
29959 * disk/host.c: Likewise.
29960 * disk/ata_pthru.c: Likewise.
29961 * disk/loopback.c: Likewise.
29962 * hook/datehook.c: Likewise.
29963 * parttool/pcpart.c: Likewise.
29964 * fs/i386/pc/pxe.c: Likewise.
29965 * fs/ntfscomp.c: Likewise.
29966 * efiemu/main.c: Likewise.
29967 * mmap/mmap.c: Likewise.
29968 * commands/crc.c: Likewise.
29969 * commands/hexdump.c: Likewise.
29970 * commands/hdparm.c: Likewise.
29971 * commands/acpi.c: Likewise.
29972 * commands/echo.c: Likewise.
29973 * commands/minicmd.c: Likewise.
29974 * commands/blocklist.c: Likewise.
29975 * commands/memrw.c: Likewise.
29976 * commands/loadenv.c: Likewise.
29977 * commands/usbtest.c: Likewise.
29978 * commands/lsmmap.c: Likewise.
29979 * commands/boot.c: Likewise.
29980 * commands/parttool.c: Likewise.
29981 * commands/configfile.c: Likewise.
29982 * commands/search.c: Likewise.
29983 * commands/ieee1275/suspend.c: Likewise.
29984 * commands/cat.c: Likewise.
29985 * commands/i386/pc/pxecmd.c: Likewise.
29986 * commands/i386/pc/play.c: Likewise.
29987 * commands/i386/pc/halt.c: Likewise.
29988 * commands/i386/pc/vbeinfo.c: Likewise.
29989 * commands/i386/pc/vbetest.c: Likewise.
29990 * commands/lspci.c: Likewise.
29991 * commands/date.c: Likewise.
29992 * commands/handler.c: Likewise.
29993 * commands/ls.c: Likewise.
29994 * commands/test.c: Likewise.
29995 * commands/cmp.c: Likewise.
29996 * commands/efi/loadbios.c: Likewise.
29997 * commands/efi/fixvideo.c: Likewise.
29998 * commands/halt.c: Likewise.
29999 * commands/help.c: Likewise.
30000 * commands/reboot.c: Likewise.
30001 * hello/hello.c: Likewise.
30002 * script/sh/main.c: Likewise.
30003 * loader/xnu.c: Likewise.
30004 * term/terminfo.c: Likewise.
30005 * term/i386/pc/serial.c: Likewise.
30006 * term/usb_keyboard.c: Likewise.
30007
515b5079 300082009-05-03 David S. Miller <davem@davemloft.net>
30009
30010 * normal/menu.c: Include grub/parser.h
30011
dfc31a22 300122009-05-03 Pavel Roskin <proski@gnu.org>
30013
2fee74f1 30014 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
30015 not char*.
30016 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
30017 Suggested by Javier Martín <lordhabbit@gmail.com>
30018
dfc31a22 30019 * util/i386/pc/grub-mkrescue.in: Allow for the case when
30020 efiemu??.o doesn't exist.
30021 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
30022 copying.
30023
18f547ad 300242009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 30025
30026 FreeBSD 64-bit support
30027
18f547ad 30028 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 30029 and loader/i386/bsd_trampoline.S
30030 (bsd_mod_ASFLAGS): new variable
30031 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
30032 (FREEBSD_MODTYPE_KERNEL64): likewise
30033 (grub_bsd64_trampoline_start): likewise
30034 (grub_bsd64_trampoline_end): likewise
30035 (grub_bsd64_trampoline_selfjump): likewise
30036 (grub_bsd64_trampoline_gdt): likewise
30037 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
30038 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
30039 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
30040 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 30041 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 30042 of "attrib" member
30043 * loader/i386/bsd_pagetable.c: new file
30044 * loader/i386/bsd_trampoline.S: likewise
30045 * loader/i386/bsd.c (ALIGN_QWORD): new macro
30046 (ALIGN_VAR): likewise
30047 (entry_hi): new variable
30048 (kern_end_mdofs): likewise
30049 (is_64bit): likewise
30050 (grub_freebsd_add_meta): use ALIGN_VAR
30051 (grub_e820_mmap): new declaration
30052 (grub_freebsd_add_mmap): new function
30053 (grub_freebsd_add_meta_module): support 64 bit kernels
30054 (grub_freebsd_list_modules): use ALIGN_VAR
30055 (gdt_descriptor): new declaration
30056 (grub_freebsd_boot): support 64 bit kernels
30057 (grub_bsd_elf64_hook): new function
30058 (grub_bsd_load_elf): support elf64
30059
038c5720 300602009-05-03 Bean <bean123ch@gmail.com>
30061
30062 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
30063 after we get the result of if statement.
30064
fc45fb58 300652009-05-03 Bean <bean123ch@gmail.com>
30066
30067 * Makefile.in (enable_efiemu): New variable.
30068
30069 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
30070 set.
30071 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
30072 path.
30073 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
30074 path, add -mno-red-zone option.
30075 (efiemu64_s.o): Likewise.
30076 (efiemu64.o): Use macro $^ for source file.
30077
30078 * configure.ac (--enable-efiemu): New option.
30079
bbee0f2b 300802009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
30081
30082 xnu support
30083
30084 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
30085 (pkglib_MODULES): add xnu.mod
30086 (xnu_mod_SOURCES): new variable
30087 (xnu_mod_CFLAGS): likewise
30088 (xnu_mod_LDFLAGS): likewise
30089 (xnu_mod_ASFLAGS): likewise
30090 * conf/i386-pc.rmk: likewise
30091 * conf/x86_64-efi.rmk: likewise
7dd4a573 30092 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 30093 new declaration
30094 * include/grub/i386/macho.h: new file
30095 * include/grub/i386/xnu.h: likewise
30096 * include/grub/macho.h: likewise
30097 * include/grub/machoload.h: likewise
30098 * include/grub/x86_64/macho.h: likewise
30099 * include/grub/x86_64/xnu.h: likewise
30100 * include/grub/xnu.h: likewise
30101 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
30102 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
30103 * loader/i386/efi/xnu.c: new file
30104 * loader/i386/pc/xnu.c: likewise
30105 * loader/i386/xnu.c: likewise
30106 * loader/i386/xnu_helper.S: likewise
30107 * loader/macho.c: likewise
30108 * loader/xnu.c: likewise
30109 * loader/xnu_resume.c: likewise
30110 * util/grub-dumpdevtree: likewise
30111 * include/grub/i386/pit.h: include grub/err.h
30112 (grub_pit_wait): export
30113 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 30114
5caf964d 301152009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30116
30117 Efiemu
7dd4a573 30118
5caf964d 30119 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 30120 _linux_efi, linux_efi.
30121 new files in grub-emu
5caf964d 30122 new targets efiemu32.o and efiemu64.o
30123 * loader/linux_normal_efiemu.c: likewise
30124 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 30125 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 30126 files to copy
30127 * include/grub/autoefi.h: new file
7dd4a573 30128 * include/grub/i386/efiemu.h: likewise
5caf964d 30129 * include/grub/i386/pc/efiemu.h: likewise
30130 * include/grub/efi/api.h: add LL suffix when necessary
30131 new definitions relating to tables
30132 * include/grub/efiemu/efiemu.h: new file
30133 * include/grub/efiemu/runtime.h: likewise
30134 * efiemu/prepare.c: likewise
30135 * efiemu/loadcore_common.c: likewise
30136 * efiemu/loadcore64.c: likewise
30137 * efiemu/runtime/efiemu.sh: likewise
30138 * efiemu/runtime/efiemu.S: likewise
30139 * efiemu/runtime/efiemu.c: likewise
30140 * efiemu/runtime/config.h: likewise
30141 * efiemu/prepare32.c: likewise
30142 * efiemu/main.c: likewise
30143 * efiemu/modules/pnvram.c: likewise
30144 * efiemu/modules/i386: likewise
30145 * efiemu/modules/i386/pc: likewise
30146 * efiemu/modules/acpi.c: likewise
30147 * efiemu/i386/pc/cfgtables.c: likewise
30148 * efiemu/i386/loadcore64.c: likewise
30149 * efiemu/i386/loadcore32.c: likewise
30150 * efiemu/prepare64.c: likewise
30151 * efiemu/loadcore.c: likewise
30152 * efiemu/symbols.c: likewise
30153 * efiemu/mm.c: likewise
30154 * efiemu/loadcore32.c: likewise
7dd4a573 30155
301562009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 30157
30158 ACPI spoofing
30159
30160 * commands/acpi.c: new file
30161 * commands/i386/pc/acpi.c: likewise
30162 * commands/efi/acpi.c: likewise
30163 * include/grub/acpi.h: likewise
30164 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
30165 (acpi_mod_SOURCES): new variable
30166 (acpi_mod_CFLAGS): likewise
30167 (acpi_mod_LDFLAGS): likewise
30168 * conf/i386-efi.rmk: likewise
30169 * conf/x86_64-efi.rmk: likewise
30170
7dd4a573 301712009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 30172
30173 Missing part from mmap patch
30174
30175 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
30176 (grub_mmap_unregister)
30177 (grub_mmap_free_and_unregister): use grub_mmap_register
30178
7dd4a573 301792009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 30180
30181 Mmap services
30182
30183 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
30184 * loader/i386/linux.c (find_mmap_size): likewise
30185 (allocate_pages): likewise
30186 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
30187 (grub_fill_multiboot_mmap): likewise
30188 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
30189 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
30190 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
30191 (OPENBSD_MMAP_RESERVED): likewise
30192 * include/grub/i386/pc/memory.h: include grub/memory.h
30193 (grub_lower_mem): removed
30194 (grub_upper_mem): likewise
30195 (GRUB_MACHINE_MEMORY_ACPI): new definition
30196 (GRUB_MACHINE_MEMORY_NVS): likewise
30197 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
30198 (GRUB_MACHINE_MEMORY_HOLE): likewise
30199 (grub_machine_mmap_register): likewise
30200 (grub_machine_mmap_unregister): likewise
30201 (grub_machine_get_upper): likewise
30202 (grub_machine_get_lower): likewise
30203 (grub_machine_get_post64): likewise
30204 * include/grub/i386/efi/memory.h: new file
30205 * include/grub/x86_64/efi/memory.h: likewise
30206 * include/grub/efi/memory.h: likewise
30207 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
30208 (mmap_mod_SOURCES): new variable
30209 (mmap_mod_LDFLAGS): likewise
30210 (mmap_mod_ASFLAGS): likewise
30211 * conf/i386-coreboot.rmk: likewise
30212 * conf/i386-ieee1275.rmk: likewise
30213 * conf/i386-efi.rmk: likewise
30214 * conf/x86_64-efi.rmk: likewise
30215 * include/grub/types.h (UINT_TO_PTR): new macro
30216 (PTR_TO_UINT32): likewise
30217 (PTR_TO_UINT64): likewise
30218 * include/grub/memory.h: new file
30219 * mmap/i386/pc/mmap.c: likewise
30220 * mmap/i386/pc/mmap_helper.S: likewise
30221 * mmap/i386/uppermem.c: likewise
30222 * mmap/mmap.c: likewise
30223 * mmap/efi/mmap.c: likewise
7dd4a573 30224 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 30225 grub_upper_mem
30226 * kern/i386/pc/init.c (grub_lower_mem): removed variable
30227 (grub_upper_mem): likewise
30228 (grub_machine_init): don't use grub_upper_mem,
30229 make grub_lower_mem local
30230 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
30231 grub_mmap_iterate and grub_mmap_get_upper
30232 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
30233
d558e6b5 302342009-05-02 Bean <bean123ch@gmail.com>
30235
30236 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
30237 script/sh/parser.y.
30238 (pkglib_MODULES): Add normal.mod and sh.mod.
30239 (normal_SOURCES): New variable.
30240 (normal_mod_CFLAGS): Likewise.
30241 (normal_mod_LDFLAGS): Likewise.
30242 (sh_mod_SOURCES): Likewise.
30243 (sh_mod_CFLAGS): Likewise.
30244 (sh_mod_LDFLAGS): Likewise.
30245
30246 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
30247 script/sh/lexer.c_DEPENDENCIES.
30248 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
30249 kern/rescue_reader.c and kern/rescue_parser.c.
30250 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
30251 (grub_emu_SOURCES): Change source files.
30252 (pkglib_MODULES): Remove normal.mod.
30253 (normal_SOURCES): Removed.
30254 (normal_mod_CFLAGS): Likewise.
30255 (normal_mod_LDFLAGS): Likewise.
30256 * conf/i386-coreboot.rmk: Likewise.
30257 * conf/i386-efi.rmk: Likewise.
30258 * conf/i386-ieee1276.rmk: Likewise.
30259 * conf/powerpc-ieee1275.rmk: Likewise.
30260 * conf/sparc64-ieee1275.rmk: Likewise.
30261 * conf/x86_64-efi.rmk: Likewise.
30262
30263 * include/grub/command.h (grub_command_execute): New inline function.
30264
30265 * include/grub/menu.h (grub_menu_entry): Removed commands field.
30266
30267 * include/grub/normal.h: Remove <grub/setjmp.h>.
30268 (grub_fs_module_list): Moved to normal/autofs.c.
30269 (grub_exit_env): Removed.
30270 (grub_command_execute): Likewise.
30271 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
30272 parameter script.
30273 (read_command_list): New function declaration.
30274 (read_fs_list): Likewise.
30275
30276 * include/parser.h: Include <grub/reader.h>.
30277 (grub_parser_split_cmdline): Change type of getline parameter.
30278 (grub_parser): New structure.
30279 (grub_parser_class): New variable.
30280 (grub_parser_execute): New function declaration.
30281 (grub_register_rescue_parser): Likewise.
30282 (grub_parser_register): New inline function.
30283 (grub_parser_unregister): Likewise.
30284 (grub_parser_get_current): Likewise.
30285 (grub_parser_set_current): Likewise.
30286
30287 * include/grub/reader.h: New file.
30288 * kern/reader.c: Likewise.
30289 * kern/rescue_parser.c: Likewise.
30290 * kern/rescue_reader.c: Likewise.
30291 * normal/autofs.c: Likewise.
30292 * normal/dyncmd.c: Likewise.
30293
30294 * include/grub/rescue.h: Removed.
30295 * normal/command.h: Likewise.
30296
30297 * include/grub/script.h: Moved to ...
30298 * include/grub/script_sh.h: ... Moved here.
30299 * normal/execute.c: Moved to ...
30300 * script/sh/execute.c: ... Moved here.
30301 * normal/function.c: Moved to ...
30302 * script/sh/function.c: ... Moved here.
30303 * normal/lexer.c: Moved to ...
30304 * script/sh/lexer.c: ... Moved here.
30305 * normal/parser.y: Moved to ...
30306 * script/sh/parser.y: ... Moved here.
30307 * normal/script.c: Moved to ...
30308 * script/sh/script.c: ... Moved here.
30309
30310 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
30311 <grub/reader.h>.
30312 (grub_exit_env): Removed.
30313 (fs_module_list): Moved to normal/autofs.c.
30314 (grub_file_getline): Don't handle comment here.
30315 (free_menu): Skip removed field entry->commands.
30316 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
30317 script parameter.
30318 (read_config_file): Removed nested parameter, change getline function.
30319 (grub_enter_normal_mode): Removed.
30320 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
30321 (read_command_list): Likewise.
30322 (autoload_fs_module): Moved to normal/autofs.c.
30323 (read_fs_list): Likewise.
30324 (reader_nested): New variable.
30325 (grub_normal_execute): Run parser.sh to switch to sh parser.
30326 (grub_cmd_rescue): Removed.
30327 (cmd_normal): Removed.
30328 (grub_cmd_normal): Unregister itself at the beginning. Don't register
30329 rescue command.
30330 (grub_cmdline_run): New function.
30331 (grub_normal_reader_init): Likewise.
30332 (grub_normal_read_line): Likewise.
30333 (grub_env_write_pager): Likewise.
30334 (cmdline): New variable.
30335 (grub_normal_reader): Likewise.
30336 (GRUB_MOD_INIT): Register normal reader and set as current, register
30337 pager hook, register normal command with grub_register_command_prio,
30338 so that it won't show up in command.lst.
30339 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
30340 grub_fs_autoload_hook.
30341
30342 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
30343 (grub_menu_execute_entry): Replace grub_script_execute with
30344 grub_parser_execute, change parameter to grub_command_execute.
30345
30346 * normal/menu_text.c: Remove <grub/script.h>.
30347
30348 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
30349 and <grub/parser.h>.
30350 (run): Change editor_getline to use new parser interface. Change
30351 parameter to grub_command_execute.
30352
30353 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
30354 <grub/reader.h> and <grub/parser.h>.
30355 (grub_load_normal_mode): Execute normal command.
30356 (grub_main): Call grub_register_core_commands,
30357 grub_register_rescue_parser and grub_register_rescue_reader, use
30358 grub_reader_loop to enter input loop.
30359
7dd4a573 30360 * kern/parser.c (grub_parser_split_cmdline): Change type of
30361 getline parameter.
d558e6b5 30362 (grub_parser_class): New variable.
30363 (grub_parser_execute): New function.
30364
30365 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
30366 * loader/multiboot2.c: Likewise.
30367 * loader/sparc64/ieee1275/linux.c: Likewise.
30368
30369 * util/grub-emu.c (read_command_list): New dummy function.
30370
18db813d 303712009-05-02 Robert Millan <rmh.grub@aybabtu.com>
30372
30373 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
30374 count to 16 for CCISS and IDA.
30375
6c67de15 303762009-05-02 Robert Millan <rmh.grub@aybabtu.com>
30377
30378 * normal/menu_text.c (grub_wait_after_message): Print a newline
30379 after waiting for user input.
30380
30381 * loader/i386/linux.c: Include `<grub/normal.h>'.
30382 (grub_cmd_linux): Improve the error message about `ask' mode, by
30383 waiting for user input so it's not missed (we can do this, since
30384 user requested interaction).
30385
d9dc87b0 303862009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30387
30388 Added missing lst to grub-mkrescue
30389
30390 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
30391 and ${input_dir}/parttool.lst
30392
ac8a2baa 303932009-04-30 David S. Miller <davem@davemloft.net>
30394
ad22a610 30395 * util/hostdisk.c (device_is_wholedisk): New function.
30396 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
30397 zero only if device_is_wholedisk() returns true.
30398
6966215d 30399 * util/hostdisk.c (convert_system_partition_to_system_disk):
30400 Handle virtual disk devices named /dev/vdiskX as found on sparc
30401 and powerpc.
30402
ac8a2baa 30403 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
30404 lettered partition specifier is found, convert to numbered.
30405
979b4fb4 304062009-04-29 David S. Miller <davem@davemloft.net>
30407
e2bf39b2 30408 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
30409 * include/grub/sparc64/ieee1275/memory.h: Likewise.
30410
3c64e104 30411 * normal/command.c: Add missing newline at end of file.
30412
979b4fb4 30413 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
30414 warnings.
30415 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
30416 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
30417 grub_ofdisk_read): Likewise, and deal similarly with the fact that
30418 ihandles have a 32-bit type but need to be stored in a "void *".
30419
136d9f82 304202009-04-28 Pavel Roskin <proski@gnu.org>
30421
9459c306 30422 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
30423 not disk. Adjust all dependencies.
2e08a26a 30424 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 30425 grub_disk_close().
30426
136d9f82 30427 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
30428 parent's partition, don't copy it by reference, as it gets freed
30429 on close.
30430
7dd4a573 304312009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 30432
30433 Preboot hooks support
30434
30435 * commands/boot.c (struct grub_preboot_t): new declaration
30436 (preboots_head): new variable
30437 (preboots_tail): likewise
30438 (grub_loader_register_preboot_hook): new function
30439 (grub_loader_unregister_preboot_hook): likewise
30440 (grub_loader_set): launch preboot hooks
30441 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
30442 (grub_loader_register_preboot_hook): new declaration
30443 (grub_loader_unregister_preboot_hook): likewise
30444
5af922b5 304452009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
30446
30447 Warning fix
30448
7dd4a573 30449 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 30450 calling grub_dprintf
30451
a5562c30 304522009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
30453
30454 Bug and warning fixes
30455
7dd4a573 30456 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 30457 declaration
30458 * commands/test.c (test_parse): fixed bug with file tests and corrected
30459 declaration of find_file
30460
4006f85c 304612009-04-26 Pavel Roskin <proski@gnu.org>
30462
30463 * Makefile.in: Don't install empty manual pages if help2man is
30464 missing. Use help2man option for output, not shell redirection.
30465
5c77c3de 304662009-04-26 David S. Miller <davem@davemloft.net>
30467
30468 * util/grub-mkdevicemap.c (make_device_map): Add missing
30469 NESTED_FUNC_ATTR to process_device().
30470
033b10a8 304712009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
30472
30473 Test command
30474
30475 * commands/test.c: rewritten to use bash-like test
30476
e4343593 304772009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
30478
30479 Parttool autoloading and improvements
30480
7dd4a573 30481 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 30482 (parttool.lst): new target
30483 * genmk.rb: generate parttool-*
30484 (CLEANFILES): add #{parttool}
30485 (PARTTOOLFILES): new variable
30486 * genparttoollist.sh: new file
7dd4a573 30487 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 30488 (grub_pcpart_type): likewise
30489 * commands/parttool.c (helpmsg): new variable
30490 (grub_cmd_parttool): output help if not enough arguments are supplied
30491 autoload modules
30492 (GRUB_MOD_INIT(parttool)): use helpmsg
30493
0d312500 304942009-04-24 David S. Miller <davem@davemloft.net>
30495
7dd4a573 30496 Avoiding opening same device multiple times in device iterator.
0d312500 30497
30498 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 30499 and use it to build a list of partitions in iterate_disk() and
0d312500 30500 iterate_partition().
30501
ac20caff 30502 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
30503 on disk->data.
30504
0dcf7495 30505 * disk/ieee1275/nand.c (grub_nand_iterate): Return
30506 grub_devalias_iterate() result instead of unconditional 0.
30507 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
30508 Also, capture hook return value, either directly or via
30509 grub_children_iterate(), and propagate to caller.
30510 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
30511 grub_children_iterate): Return value is now 'int' instead of
30512 'grub_err_t'.
30513 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
30514 like a proper iterator, stopping when hooks return non-zero.
30515 (grub_devalias_iterate): Likewise.
30516
c8c08833 305172009-04-23 David S. Miller <davem@davemloft.net>
30518
30519 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
30520
f01005a8 305212009-04-22 David S. Miller <davem@davemloft.net>
30522
30523 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
30524 is larger than address_cells, use that value for address_cells too.
30525
4e8269da 30526 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
30527 IEEE1275_MAX_PATH_LEN): Define.
30528 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
30529 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
30530 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
30531 'devtype'. Explicitly NULL terminate devalias expansion.
30532
a1447506 30533 * util/sparc64/ieee1275/misc.c: New file.
30534 * util/sparc64/ieee1275/grub-setup.c: New file.
30535 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
30536 * util/sparc64/ieee1275/grub-mkimage.c: New file.
30537 * util/sparc64/ieee1275/grub-install.in: New file.
30538 * util/ieee1275/ofpath.c: New file.
30539 * util/ieee1275/devicemap.c: New file.
30540 * util/devicemap.c: New file.
30541 * util/deviceiter.c: New file.
30542 * kern/sparc64/ieee1275/init.c: New file.
30543 * include/grub/util/ofpath.h: New file.
30544 * include/grub/util/deviceiter.h: New file.
30545 * util/grub-mkdevicemap.c: Include deviceiter.h.
30546 Implement using grub_util_emit_devicemap_entry and
30547 grub_util_iterate_devices.
30548 * conf/i386-corebook.rmk: Build util/deviceiter.c and
30549 util/devicemap.c into grub-mkdevicemap
30550 * conf/i386-efi.rmk: Likewise.
30551 * conf/i386-ieee1275.rmk: Likewise.
30552 * conf/i386-pc.rmk: Likewise.
30553 * conf/powerpc-ieee1275.rmk: Likewise.
30554 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
30555 images and installation utilities. Build kernel as image
30556 instead of as elf binary. Use common rules as much as possible.
30557
7dd4a573 305582009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 30559
30560 Correct GPT definition
30561
7dd4a573 30562 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 30563 of "attrib" member
30564
c6c5219f 305652009-04-19 Felix Zielcke <fzielcke@z-51.de>
30566
30567 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
30568
0552ff9f 305692009-04-19 David S. Miller <davem@davemloft.net>
30570
30571 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
30572 (grub_rescue_cmd_linux): Rename to...
30573 (grub_cmd_linux): and fix prototype.
30574 (grub_rescue_cmd_initrd): Rename to...
30575 (grub_cmd_initrd): and fix prototype.
30576 (cmd_linux, cmd_initrd): New.
30577 (GRUB_MOD_INIT(linux)): Use grub_register_command().
30578 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
30579
d1a282fc 305802009-04-17 Pavel Roskin <proski@gnu.org>
30581
07c5039f 30582 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
30583 format.
30584 (grub_ohci_transfer): Likewise.
30585
b012002d 30586 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
30587
1bc09c35 30588 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
30589 return without a value. Fix inconsistent indentation.
30590
e0ff9126 30591 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
30592 match struct grub_fs.
30593
d1a282fc 30594 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
30595 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
30596 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
30597 * commands/lspci.c (grub_lspci_iter): Likewise.
30598
a96df3f2 305992009-04-16 Bean <bean123ch@gmail.com>
30600
30601 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
30602 value.
30603
41bb0fe9 306042009-04-15 Pavel Roskin <proski@gnu.org>
30605
30606 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
30607 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
30608 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
30609 definitions.
30610
596c6970 306112009-04-15 Felix Zielcke <fzielcke@z-51.de>
30612
30613 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 30614 that no multiple data or metadata areas are supported and `Unknown
596c6970 30615 metadata header'.
30616
7dd4a573 306172009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 30618
30619 Move loader out of the kernel
30620
30621 * kern/loader.c: moved to ...
30622 * commands/boot.c: ... moved here
30623 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
30624 * commands/boot.c (grub_cmd_boot): moved here. All users updated
30625 * include/grub/kernel.h (grub_machine_fini): export
30626 * include/grub/loader.h (grub_loader_is_loaded): update declaration
30627 (grub_loader_set): likewise
30628 (grub_loader_unset): likewise
30629 (grub_loader_boot): likewise
30630 * conf/common.rmk: new module boot.mod
30631 (pkglib_MODULES): add boot.mod
30632 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
30633 (grub_emu_SOURCES): likewise
30634 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
30635 (grub_emu_SOURCES): likewise
30636 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
30637 (grub_emu_SOURCES): likewise
30638 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
30639 (grub_emu_SOURCES): likewise
30640 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
30641 (grub_emu_SOURCES): likewise
7dd4a573 30642 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
30643 (grub_emu_SOURCES): likewise
0d5d5653 30644 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 30645 (grub_emu_SOURCES): likewise
0d5d5653 30646
7dd4a573 306472009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 30648
30649 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 30650
5999d619 30651 * kern/misc.c (grub_itoa): Removed function
30652 (grub_ltoa): likewise
30653 (grub_vsprintf): use grub_lltoa
30654
7dd4a573 306552009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 30656
30657 Restore grub-emu
30658
30659 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
30660 * conf/i386-coreboot.rmk: likewise
30661 * conf/i386-ieee1275.rmk: likewise
30662 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 30663
20318222 306642009-04-15 Felix Zielcke <fzielcke@z-51.de>
30665
30666 * INSTALL: Add that `./autogen.sh' needs to be run before
30667 `./configure.'.
30668
d05f0df3 306692009-04-14 Bean <bean123ch@gmail.com>
30670
30671 * Makefile.in (pkglib_DATA): Add handler.lst.
30672 (handler.lst): New rule.
30673
30674 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
30675 * conf/i386-coreboot.rmk: Likewise.
30676 * conf/i386-ieee1275.rmk: Likewise.
30677 * conf/i386-efi.rmk: Likewise.
30678 * conf/x86_64-efi.rmk: Likewise.
30679 * conf/powerpc-ieee1275.rmk: Likewise.
30680 * conf/sparc64-ieee1275.rmk: Likewise.
30681
30682 * genhandlerlist.sh: New file.
30683
30684 * genmk.rb: Add rules to generate handler.lst.
30685
30686 * include/grub/normal.h (grub_file_getline): New function definition.
30687 (read_handler_list): Likewise.
30688 (free_handler_list): Likewise.
30689
30690 * include/grub/term.h (grub_term_register_input): Add name parameter
30691 for auto generation of handler.lst.
30692 (grub_term_register_output): Likewise.
30693
30694 * normal/handler.c: New file.
30695
30696 * normal/main.c (get_line): Renamed to grub_file_getline.
30697 (read_config_file): Use the newly renamed grub_file_getline.
30698 (read_command_list): Likewise.
30699 (read_fs_list): Likewise.
30700 (grub_normal_execute): Call read_handler_list to parse handler.lst.
30701 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
30702
30703 * term/efi/console.c (grub_console_init): Add name parameter for auto
30704 generation of handler.lst.
30705 * term/gfxterm.c: Likewise.
30706 * term/i386/pc/at_keyboard.c: Likewise.
30707 * term/i386/pc/console.c: Likewise.
30708 * term/i386/pc/serial.c: Likewise.
30709 * term/i386/pc/vesafb.c: Likewise.
30710 * term/i386/pc/vga.c: Likewise.
30711 * term/i386/pc/vga_text.c: Likewise.
30712 * term/ieee1275/ofconsole.c: Likewise.
30713 * term/usb_keyboard.c: Likewise.
30714
33c846be 307152009-04-14 Bean <bean123ch@gmail.com>
30716
30717 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
30718 properly with null character.
30719
4484e01e 307202009-04-14 Felix Zielcke <fzielcke@z-51.de>
30721
30722 * configure: Remove.
30723 * config.h.in: Likewise.
f93d668e 30724 * stamp-h.in: Likewise.
4484e01e 30725 * DISTLIST: Likewise.
30726 * conf/common.mk: Likewise.
30727 * conf/i386-coreboot.mk: Likewise.
30728 * conf/i386-efi.mk: Likewise.
30729 * conf/i386-ieee1275.mk: Likewise.
30730 * conf/i386.mk: Likewise.
30731 * conf/i386-pc.mk: Likewise.
30732 * conf/powerpc-ieee1275.mk: Likewise.
30733 * conf/sparc64-ieee1275.mk: Likewise.
30734 * conf/x86_64-efi.mk: Likewise.
30735
30736 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
30737 develop on GRUB.
30738
7dd4a573 307392009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 30740 David S. Miller <davem@davemloft.net>
30741
30742 * util/hostdisk.c (make_device_name): Fix buffer length
30743 calculations.
30744
e25b5a8c 307452009-04-14 Felix Zielcke <fzielcke@z-51.de>
30746
30747 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
30748 <sys/param.h> and <sys/sysctl.h>.
30749 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
30750 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
30751 opening the device and reset them afterwards.
30752
1f1f580c 307532009-04-13 Pavel Roskin <proski@gnu.org>
30754
30755 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
30756 Reported by John Stanley <jpsinthemix@verizon.net>
30757
7ebc2d6b 307582009-04-13 Robert Millan <rmh@aybabtu.com>
30759
30760 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 30761 that name for menuentries when appropriate.
7ebc2d6b 30762
d8ba3667 307632009-04-13 Felix Zielcke <fzielcke@z-51.de>
30764
30765 * util/grub.d/10_freebsd.in: Add a missing `fi'.
30766
cba416eb 307672009-04-13 Robert Millan <rmh@aybabtu.com>
30768
30769 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
30770 to Linux, simply abort telling the user it's no longer supported.
30771
a547a745 307722009-04-13 Felix Zielcke <fzielcke@z-51.de>
30773
30774 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 30775 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 30776 `freebsd_loadenv' only when devices.hints exist.
30777
232a769c 307782009-04-13 Pavel Roskin <proski@gnu.org>
30779
30780 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
30781
c3012039 307822009-04-13 Felix Zielcke <fzielcke@z-51.de>
30783
30784 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
30785 partition number.
30786 (grub_drive): Likewise.
30787
234022fe 307882009-04-13 David S. Miller <davem@davemloft.net>
30789
30790 * kern/sparc64/ieee1275/ieee1275.c: New file.
30791 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
30792 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
30793 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
30794 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
30795 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
30796 grub_ieee1275_alloc_physmem): Declare new exported functions.
30797
d8e1836c 30798 * include/grub/sparc64/ieee1275/loader.h: New file.
30799 * include/grub/sparc64/ieee1275/memory.h: Likewise.
30800 * include/grub/sparc64/kernel.h: Likewise.
30801 * loader/sparc64/ieee1275/linux.c: Likewise.
30802
96bd81ec 30803 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
30804 (grub_fstest_SOURCES): Likewise.
30805
6a4737e5 30806 * util/hostdisk.c (make_device_name): Do not make any assumptions
30807 about the length of drive names.
30808
1d7a72fd 30809 * kern/dl.c (grub_dl_load_file): Close file immediately when
30810 we are done using it.
30811
56bc2471 308122009-04-12 David S. Miller <davem@davemloft.net>
30813
30814 * kern/misc.c (grub_ltoa): Fix cast when handling negative
30815 values. Noticed by Pavel Roskin.
30816
df38d0bb 30817 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
30818 target compiler.
7dd4a573 30819
e382e93a 30820 * genmk.rb: Add more flexible image type specification, also
30821 pass --strip-unneeded to objcopy.
30822 * conf/i386-pc.rmk: Use *_FORMAT.
30823 * conf/i386-pc.mk: Rebuilt.
30824
f5dbbca9 30825 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
30826 (OFDISK_HASH_SZ): Define.
30827 (ofdisk_hash): New hash table.
30828 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
30829 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
30830 instead of device phandle which is not unique.
30831
91c88b12 30832 * kern/sparc64/ieee1275/init.c: Delete, replace with...
30833 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
30834 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
30835 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
30836 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
30837 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
30838 GRUB_KERNEL_MACHINE_DATA_END): Define.
30839 (grub_kernel_image_size, grub_total_module_size): Declare.
30840
5b5d4aa5 308412009-04-12 Pavel Roskin <proski@gnu.org>
30842
7dd4a573 30843 * configure.ac: Change the logic when we check for target tools.
30844 Do it when the target is specified and it's different from the
30845 specified value of the host.
5b5d4aa5 30846
c91e1793 308472009-04-11 Felix Zielcke <fzielcke@z-51.de>
30848
30849 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
30850 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
30851 GNU/kFreeBSD. Check if a device is a character device. Use
30852 DIOCGMEDIASIZE to get the size.
30853 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
30854 support for GNU/kFreeBSD.
30855 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
30856 is a character device instead of a block device. Add support for
30857 FreeBSD device names.
30858
30859 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
30860 is a character device instead of a block device.
30861
30862 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
30863 is a character device instead of a block device.
30864
b1ac8644 308652009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
30866
30867 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
30868 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
30869 FreeBSD. Check if a device is a character device. Use
30870 DIOCGMEDIASIZE to get the size.
30871 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
30872 support for FreeBSD.
30873 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
30874 is a character device instead of a block device. Add support for
30875 FreeBSD device names.
30876
30877 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
30878 a character device instead of a block device.
30879 (grub_util_check_char_device): New function.
30880
30881 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
30882 a character device instead of a block device.
30883
30884 * include/grub/util/getroot.h (grub_util_check_char_device): New
30885 prototype.
30886
a3f7515a 308872009-04-11 David S. Miller <davem@davemloft.net>
30888
30889 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
30890 static libgcc.
30891 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
30892 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
30893 function, if present.
30894 (__bswapdi2): Likewise.
30895
0d44993d 30896 * include/grub/sparc64/ieee1275/boot.h: New file.
30897 * boot/sparc64/ieee1275/boot.S: Likewise.
30898 * boot/sparc64/ieee1275/diskboot.S: Likewise.
30899
ed3d2bc2 30900 * kern/misc.c (grub_ltoa): New function.
30901 (grub_vsprintf): Use it to format 'long' integers.
30902
d3bfb59c 309032009-04-10 David S. Miller <davem@davemloft.net>
30904
30905 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
30906 slots are of type grub_ieee1275_cell_t.
30907 (grub_nand_read): Likewise.
30908 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
30909 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
30910 macros are used to compare values in arg/ret block of the call.
30911 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
30912 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
30913 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
30914 grub_ieee1275_instance_to_path, grub_ieee1275_write,
30915 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
30916 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
30917 grub_ieee1275_close, grub_ieee1275_set_property,
30918 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
30919 grub_ieee1275_cell_t.
30920 * kern/ieee1275/openfw.c (grub_map): Likewise.
30921 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
30922 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
30923
450e2238 30924 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
30925 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
30926 (grub_devalias_iterate): Likewise.
30927
7dd4a573 309282009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 30929
30930 UFS improvements
30931
30932 * fs/ufs.c (INODE_NBLOCKS): new definition
30933 (struct grub_ufs_dirent): added fields for non-BSD dirents
30934 (grub_ufs_get_file_block): fixed double indirect handling
30935 (grub_ufs_lookup_symlink): use more robust way to determine whether
30936 symlink is inline
30937 (grub_ufs_find_file): support for non-BSD dirents
30938 (grub_ufs_dir): support for non-BSD dirents
30939
e7e6862a 309402009-04-10 Bean <bean123ch@gnail.com>
30941
30942 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
30943 attribute, otherwise the size would be wrong for i386 platform.
30944
30945 * include/grub/pci.h (grub_pci_read_word): New inline function.
30946 (grub_pci_read_byte): Likewise.
30947 (grub_pci_write): Likewise.
30948 (grub_pci_write_word): Likewise.
30949 (grub_pci_write_byte): Likewise.
30950
30951 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
30952
30953 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
30954 (find_framebuf): Scan pci to locate the frame buffer address.
30955
30956 * commands/efi/fixvideo.c: New file.
30957
30958 * commands/efi/loadbios.c: Likewise.
30959
30960 * commands/memrw.c: Likewise.
30961
30962 * util/grub-dumpbios.in: Likewise.
30963
30964 * conf/common.rmk (grub-dumpbios): New utility.
30965 (pkglib_MODULES): New module memrw.mod.
30966 (memrw_mod_SOURCE): New macro.
30967 (memrw_mod_CFLAGS): Likewise.
30968 (memrw_mod_LDFLAGS): Likewise.
30969
7dd4a573 30970 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 30971 fixvideo.mod.
30972 (loadbios_mod_SOURCE): New macro.
30973 (loadbios_mod_CFLAGS): Likewise.
30974 (loadbios_mod_LDFLAGS): Likewise.
30975 (fixvideo_mod_SOURCE): Likewise.
30976 (fixvideo_mod_CFLAGS): Likewise.
30977 (fixvideo_mod_LDFLAGS): Likewise.
30978
7dd4a573 30979 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 30980 fixvideo.mod.
30981 (loadbios_mod_SOURCE): New macro.
30982 (loadbios_mod_CFLAGS): Likewise.
30983 (loadbios_mod_LDFLAGS): Likewise.
30984 (fixvideo_mod_SOURCE): Likewise.
30985 (fixvideo_mod_CFLAGS): Likewise.
30986 (fixvideo_mod_LDFLAGS): Likewise.
30987
af63ada2 309882009-04-08 Felix Zielcke <fzielcke@z-51.de>
30989
30990 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
30991
c2cdde70 309922009-04-07 David S. Miller <davem@davemloft.net>
30993
30994 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
30995 support for R_SPARC_OLO10 relocations. Fix compile warning for
30996 R_SPARC_WDISP30 case.
ea3f72cf 30997 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 30998
761319cf 309992009-04-06 Pavel Roskin <proski@gnu.org>
31000
1007d1f5 31001 * include/grub/misc.h (ARRAY_SIZE): New macro.
31002 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
31003 New macro.
31004 * loader/i386/linux.c (allocate_pages): Use free_pages().
31005 (grub_linux_unload): Don't use free_pages().
31006 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
31007 wrong index. Treat all other modes as text modes.
31008 (grub_cmd_linux): Initialize vid_mode unconditionally to
31009 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
31010
761319cf 31011 * commands/help.c (print_command_help): Use cmd->prio, not
31012 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
31013
ea761d40 310142009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 31015
ea761d40 31016 Parttool
31017
31018 * parttool/pcpart.c: new file
31019 * commands/parttool.c: likewise
31020 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
31021 (parttool_mod_SOURCES): new variable
31022 (parttool_mod_CFLAGS): likewise
31023 (parttool_mod_LDFLAGS): likewise
31024 (pcpart_mod_SOURCES): likewise
31025 (pcpart_mod_CFLAGS): likewise
31026 (pcpart_mod_LDFLAGS): likewise
7dd4a573 31027 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 31028 and parttool/pcpart.c
31029 * conf/i386-efi.rmk: likewise
31030 * conf/i386-ieee1275.rmk: likewise
31031 * conf/i386-pc.rmk: likewise
31032 * conf/powerpc-ieee1275.rmk: likewise
31033 * conf/sparc64-ieee1275.rmk: likewise
31034 * conf/x86_64-ieee1275.rmk: likewise
31035
05aaebfb 310362009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
31037
31038 Support for mtime and further expandability of dir command
31039
31040 * include/grub/lib/datetime.h: moved to ...
7dd4a573 31041 * include/grub/datetime.h: ... moved here and added
05aaebfb 31042 declaration of grub_unixtime2datetime. All users updated
7dd4a573 31043 * include/grub/fs.h: new syntax for dir and mtime functions in
31044 struct grub_fs
05aaebfb 31045 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
31046 and GRUB_FSHELP_FLAGS_MASK
31047 * commands/ls.c (grub_ls_list_files): Write mtime in long format
31048 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
31049 (grub_ext2_mtime): new function
31050 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
31051 (grub_hfsplus_mtime): new function
31052 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
31053 (GRUB_UFS_ATTR_FILE): likewise
31054 (GRUB_UFS_ATTR_LNK): likewise
31055 (struct grub_ufs_sblock): new fields mtime
31056 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
31057 all users updated
31058 (grub_ufs_dir): mtime support
31059 (grub_ufs_mtime): new function
31060 * fs/affs.c (grub_affs_dir): use new dir syntax
31061 * fs/afs.c (grub_afs_dir): likewise
31062 * fs/cpio.c (grub_cpio_dir): likewise
31063 * fs/fat.c (grub_fat_find_dir): likewise
31064 * fs/hfs.c (grub_hfs_dir): likewise
31065 * fs/iso9660.c (grub_iso9660_dir): likewise
31066 * fs/jfs.c (grub_jfs_dir): likewise
31067 * fs/minix.c (grub_minix_dir): likewise
31068 * fs/ntfs.c (grub_ntfs_dir): likewise
31069 * fs/reiserfs.c (grub_reiserfs_dir): likewise
31070 * fs/sfs.c (grub_sfs_dir): likewise
31071 * fs/xfs.c (grub_xfs_dir): likewise
31072 * util/hostfs.c (grub_hostfs_dir): likewise
31073 * lib/datetime.c: moved to ...
31074 * normal/datetime.c: ... moved here
31075 (grub_unixtime2datetime): new function
31076 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 31077 * normal/completion.c (iterate_dir): use new dir syntax
31078 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 31079 last modification time of a volume
7dd4a573 31080 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 31081 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 31082 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 31083 (normal_mod_SOURCES): likewise
31084 (datetime_mod_SOURCES): Removed lib/datetime.c
31085 * conf/i386-efi.rmk: likewise
7dd4a573 31086 * conf/i386-ieee1275.rmk: likewise
05aaebfb 31087 * conf/i386-pc.rmk: likewise
31088 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 31089 * conf/sparc64-ieee1275.rmk: likewise
31090 * conf/x86_64-efi.rmk: likewise
05aaebfb 31091
8a7e1a14 310922009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
31093
31094 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 31095
31096 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 31097 on grub_fat_find_dir
31098 (grub_fat_find_dir): use grub_fat_iterate_dir
31099 (grub_fat_label): likewise
31100
04186a9c 311012009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
31102
7dd4a573 31103 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 31104 and command.h
31105 remove extraneous kernel_elf_HEADERS
31106
da4c0bb6 311072009-04-04 Bean <bean123ch@gnail.com>
31108
31109 * include/grub/util/misc.h: Add dummy function fsync for mingw.
31110
31111 * util/misc.c: Likewise.
31112
54ad9555 311132009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
31114
31115 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
31116 instead of grub_printf.
31117
7a6bf9f2 311182009-04-03 Robert Millan <rmh@aybabtu.com>
31119
31120 * loader/i386/linux.c (grub_linux_setup_video): Fill
31121 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
31122 values from `mode info' structure instead of hardcoded
31123 values.
31124
3fcc2083 311252009-04-01 Pavel Roskin <proski@gnu.org>
31126
31127 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
31128 unused now.
31129 * genmk.rb: Likewise.
31130 * configure.ac: Likewise.
31131
5ec9740b 311322009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
31133
31134 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
31135 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
31136
5270cec8 311372009-04-01 David S. Miller <davem@davemloft.net>
31138
31139 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 31140 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 31141 (grub_setjmp): Mark with 'returns_twice' attribute.
31142 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
31143 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
31144 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
31145
9c3dd854 311462009-04-01 Robert Millan <rmh@aybabtu.com>
31147
31148 Reapply fix from 2008-07-28 which was accidentally reverted; also
31149 perform the same fix to a similar check in same function.
31150
31151 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
31152 with the same number are found, just use issue a warning with
31153 grub_dprintf(), as this error has been reported to be non-fatal.
31154
0d818b7e 311552009-03-31 Pavel Roskin <proski@gnu.org>
31156
31157 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
31158 for cross-compilation.
31159
95646d92 311602009-03-30 Robert Millan <rmh@aybabtu.com>
31161
31162 Fix i386-ieee1275 build.
31163
31164 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
31165 Remove declaration.
31166
6a003ed1 311672009-03-30 Pavel Roskin <proski@gnu.org>
31168
31169 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
31170 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
31171 zero-terminated, rely only on the strlen value. Fix comparison
31172 of strings differing in length.
31173
92f33540 311742009-03-30 Robert Millan <rmh@aybabtu.com>
31175
31176 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
31177 checking for abi version. Improve error messages on BIOS to notify
31178 user about `linux16' command.
31179
a8c48fd5 311802009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
31181
f968172e 31182 Leak fixes
a8c48fd5 31183
f968172e 31184 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
31185 in case of collision
31186 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 31187
9c323f09 311882009-03-29 Robert Millan <rmh@aybabtu.com>
31189
31190 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
31191 set `vid_mode' accordingly.
31192 (grub_linux_boot): Process `vid_mode' and set video mode.
31193
ae68f423 311942009-03-29 Robert Millan <rmh@aybabtu.com>
31195
31196 * util/grub.d/10_linux.in (linux_entry): New function.
31197 Factorize generation of Linux boot entries.
31198
5709cfc4 311992009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
31200
31201 Make the format of Environment Block plain text. The boot loader
31202 part is not tested well yet.
7dd4a573 31203
5709cfc4 31204 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
31205 (buffer): Removed.
31206 (envblk): Likewise.
31207 (usage): Remove "info" and "clear". Add "unset". Update the
31208 description of "set", as this does not delete variables any
31209 longer.
31210 (create_envblk_file): Complete rewrite.
31211 (open_envblk_file): Likewise.
31212 (cmd_info): Removed.
31213 (cmd_list): Likewise.
31214 (cmd_set): Likewise.
31215 (cmd_clear): Likewise.
31216 (list_variables): New function.
31217 (write_envblk): Likewise.
31218 (set_variables): Likewise.
31219 (unset_variables): Likewise.
31220 (main): Complete rewrite.
31221
31222 * commands/loadenv.c (buffer): Removed.
31223 (envblk): Likewise.
31224 (open_envblk_file): New function.
31225 (read_envblk_file): Complete rewrite.
31226 (grub_cmd_load_env): Likewise.
31227 (grub_cmd_list_env): Likewise.
31228 (struct blocklist): New struct.
31229 (free_blocklists): New function.
31230 (check_blocklists): Likewise.
31231 (write_blocklists): Likewise.
31232 (grub_cmd_save_env): Complete rewrite.
31233
31234 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
31235 a plain text signature.
31236 (GRUB_ENVBLK_MAXLEN): Removed.
31237 (struct grub_envblk): Complete rewrite.
31238 (grub_envblk_find): Removed.
31239 (grub_envblk_insert): Likewise.
31240 (grub_envblk_open): New prototype.
31241 (grub_envblk_set): Likewise.
31242 (grub_envblk_delete): Put const to VALUE.
31243 (grub_envblk_iterate): Put const to NAME and VALUE.
31244 (grub_envblk_close): New prototype.
31245 (grub_envblk_buffer): New inline function.
31246 (grub_envblk_size): Likewise.
31247
31248 * lib/envblk.c: Include grub/mm.h.
31249 (grub_env_find): Removed.
31250 (grub_envblk_open): New function.
31251 (grub_envblk_close): Likewise.
31252 (escaped_value_len): Likewise.
31253 (find_next_line): Likewise.
31254 (grub_envblk_insert): Removed.
31255 (grub_envblk_set): New function.
31256 (grub_envblk_delete): Complete rewrite.
31257 (grub_envblk_iterate): Likewise.
31258
a9368fd3 312592009-03-28 Robert Millan <rmh@aybabtu.com>
31260
31261 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
31262 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
31263 variables. Use 16-bit loader.
31264 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
31265 loader.
31266 * kern/i386/loader.S (grub_linux_boot): Rename to ...
31267 (grub_linux16_boot): ... this. Update all users.
31268 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
31269 (grub_linux_boot): ... this. Update all users.
31270
31271 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
31272 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
31273 commands to `linux16' and `initrd16'.
31274 (GRUB_MOD_FINI(linux)): Rename to ...
31275 (GRUB_MOD_FINI(linux16)): ... this.
31276
e4dd5a7e 312772009-03-24 Pavel Roskin <proski@gnu.org>
31278
31279 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
31280 not just for compilation.
31281
c04d6e05 312822009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
31283
31284 Move multiboot helper out of kernel
31285
31286 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
31287 `loader/i386/multiboot_helper.S'.
31288 * conf/i386-coreboot.rmk: Likewise
31289 * conf/i386-ieee1275.rmk: Likewise
31290
31291 * kern/i386/loader.S: Move multiboot helpers from here...
31292 * loader/i386/multiboot_helper.S: ...moved here
31293 * include/grub/i386/loader.h: Move declarations of multiboot
31294 helpers from here...
31295 * include/grub/i386/multiboot.h: ...moved here
31296 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
31297
42a5b3fc 312982009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31299
31300 * kern/env.c (grub_env_context_open): Added an argument to specify
31301 whether a new context inherits exported variables from current
31302 one. This is useful when making a sandbox to interpret a config
31303 file.
31304 All callers updated.
31305
31306 * include/grub/env.h (grub_env_context_open): Updated the prototype.
31307
b28bbc4e 313082009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31309
31310 * kern/env.c (grub_env_context_close): Fix memory leaks.
31311
f04f02e4 313122009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31313
31314 * normal/main.c (grub_normal_execute): Added an argument
31315 BATCH to specify if an interactive interface should be provided
31316 after reading a config file.
31317 All callers updated.
31318 (read_command_list): Prevent being executed twice.
31319 (read_fs_list): Likewise.
31320
42a5b3fc 31321 * include/grub/normal.h (grub_normal_execute): Updated the
31322 prototype.
f04f02e4 31323
41473ac2 313242009-03-22 Pavel Roskin <proski@gno.org>
31325
fbc00b0c 31326 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
31327 _start.
31328 * kern/i386/pc/startup.S: Likewise.
31329 * kern/i386/efi/startup.S: Likewise.
31330 * kern/i386/ieee1275/startup.S: Likewise.
31331 * kern/i386/coreboot/startup.S: Likewise.
31332 * kern/x86_64/efi/startup.S: Likewise.
31333
41473ac2 31334 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
31335 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
31336 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
31337
2274cc8f 313382009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
31339
31340 Bugfixes in multiboot for bugs uncovered by solaris kernel.
31341
31342 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
31343 limit detection.
31344 Use vaddr of correct segment for entry_point.
31345
b1b797cb 313462009-03-21 Bean <bean123ch@gmail.com>
31347
31348 * commands/blocklist.c: Add include file <grub/command.h>, remove
31349 <grub/normal.h> and <grub/arg.h>.
31350 (grub_cmd_blocklist): Use the new command interface.
31351 (GRUB_MOD_INIT): Likewise.
31352 (GRUB_MOD_FINI): Likewise.
31353 * commands/boot.c: Likewise.
31354 * commands/cat.c: Likewise.
31355 * commands/cmp.c: Likewise.
31356 * commands/configfile.c: Likewise.
31357 * commands/crc.c: Likewise.
31358 * commands/echo.c: Likewise.
31359 * commands/halt.c: Likewise.
31360 * commands/handler.c: Likewise.
31361 * commands/hdparm.c: Likewise.
31362 * commands/help.c: Likewise.
31363 * commands/hexdump.c: Likewise.
31364 * commands/loadenv.c: Likewise.
31365 * commands/ls.c: Likewise.
31366 * commands/lsmmap.c: Likewise.
31367 * commands/lspci.c: Likewise.
31368 * commands/loadenv.c: Likewise.
31369 * commands/read.c: Likewise.
31370 * commands/reboot.c: Likewise.
31371 * commands/search.c: Likewise.
31372 * commands/sleep.c: Likewise.
31373 * commands/test.c: Likewise.
31374 * commands/usbtest.c: Likewise.
31375 * commands/videotest.c: Likewise.
31376 * commands/i386/cpuid.c: Likewise.
31377 * commands/i386/pc/halt.c: Likewise.
31378 * commands/i386/pc/play.c: Likewise.
31379 * commands/i386/pc/pxecmd.c: Likewise.
31380 * commands/i386/pc/vbeinfo.c: Likewise.
31381 * commands/i386/pc/vbetest.c: Likewise.
31382 * commands/ieee1275/suspend.c: Likewise.
31383 * disk/loopback.c: Likewise.
31384 * font/font_cmd.c: Likewise.
31385 * hello/hello.c: Likewise.
31386 * loader/efi/appleloader.c: Likewise.
31387 * loader/efi/chainloader.c: Likewise.
31388 * loader/i386/bsd.c: Likewise.
31389 * loader/i386/efi/linux.c: Likewise.
31390 * loader/i386/ieee1275/linux.c: Likewise.
31391 * loader/i386/linux.c: Likewise.
31392 * loader/i386/pc/chainloader.c: Likewise.
31393 * loader/i386/pc/linux.c: Likewise.
31394 * loader/powerpc/ieee1275/linux.c: Likewise.
31395 * loader/multiboot_loader.c: Likewise.
31396 * term/gfxterm.c: Likewise.
31397 * term/i386/pc/serial.c: Likewise.
31398 * term/terminfo.c: Likewise.
31399
31400 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
31401 * term/i386/pc/vga.c: Likewise.
31402 * video/readers/jpeg.c: Likewise.
31403 * video/readers/png.c: Likewise.
31404 * video/readers/tga.c: Likewise.
31405
31406 * util/grub-fstest (cmd_loopback): Removed.
31407 (cmd_blocklist): Likewise.
31408 (cmd_ls): Likewise.
31409 (grub_register_command): Likewise.
31410 (grub_unregister_command): Likewise.
31411 (execute_command): Use grub_command_find to locate command and execute
31412 it.
31413
31414 * include/grub/efi/chainloader.h: Removed.
31415 * loader/efi/chainloader_normal.c: Likewise.
31416 * loader/i386/bsd_normal.c: Likewise.
31417 * loader/i386/pc/chainloader_normal.c: Likewise.
31418 * loader/i386/pc/multiboot_normal.c: Likewise.
31419 * loader/linux_normal.c: Likewise.
31420 * loader/multiboot_loader_normal.c: Likewise.
31421 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
31422
31423 * gencmdlist.sh: Scan new registration command grub_register_extcmd
31424 and grub_register_command_p1.
31425
31426 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
31427 kern/command.c, lib/arg.c and commands/extcmd.c.
31428 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
31429 (minicmd_mod_SOURCES): New variable.
31430 (minicmd_mod_CFLAGS): Likewise.
31431 (minicmd_mod_LDFLAGS): Likewise.
31432 (extcmd_mod_SOURCES): Likewise.
31433 (extcmd_mod_CFLAGS): Likewise.
31434 (extcmd_mod_LDFLAGS): Likewise.
31435 (boot_mod_SOURCES): Removed.
31436 (boot_mod_CFLAGS): Likewise.
31437 (boot_mod_LDFLAGS): Likewise.
31438
31439 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
31440 kern/corecmd.c.
31441 (kernel_img_HEADERS): Add command.h.
31442 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
31443 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
31444 and lib/arg.c.
31445 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
31446 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
31447 remove the corresponding normal mode command.
31448 (normal_mod_SOURCES): Remove normal/arg.c.
31449 * conf/i386-coreboot.rmk: Likewise.
31450 * conf/i386-efi.rmk: Likewise.
31451 * conf/i386-ieee1275.rmk: Likewise.
31452 * conf/powerpc-ieee1275.rmk: Likewise.
31453 * conf/x86_64-efi.rmk: Likewise.
31454
31455 * include/grub/arg.h: Move from here ...
31456 * include/grub/lib/arg.h: ... to here.
31457
31458 * normal/arg.c: Move from here ...
31459 * lib/arg.c: ... to here.
31460
31461 * commands/extcmd.c: New file.
31462 * commands/minicmd.c: Likewise.
31463 * include/grub/command.h: Likewise.
31464 * include/grub/extcmd.h: Likewise.
31465 * kern/command.c: Likewise.
31466 * kern/corecmd.c: Likewise.
31467
31468 * kern/list.c (grub_list_iterate): Return int instead of void.
31469 (grub_list_insert): New function.
31470 (grub_prio_list_insert): Likewise.
31471
31472 * kern/rescue.c (grub_rescue_command): Removed.
31473 (grub_rescue_command_list): Likewise.
31474 (grub_rescue_register_command): Likewise.
31475 (grub_rescue_unregister_command): Likewise.
31476 (grub_rescue_cmd_boot): Move to minicmd.c
31477 (grub_rescue_cmd_help): Likewise.
31478 (grub_rescue_cmd_info): Likewise.
31479 (grub_rescue_cmd_boot): Likewise.
31480 (grub_rescue_cmd_testload): Likewise.
31481 (grub_rescue_cmd_dump): Likewise.
31482 (grub_rescue_cmd_rmmod): Likewise.
31483 (grub_rescue_cmd_lsmod): Likewise.
31484 (grub_rescue_cmd_exit): Likewise.
31485 (grub_rescue_print_devices): Moved to corecmd.c.
31486 (grub_rescue_print_files): Likewise.
31487 (grub_rescue_cmd_ls): Likewise.
31488 (grub_rescue_cmd_insmod): Likewise.
31489 (grub_rescue_cmd_set): Likewise.
31490 (grub_rescue_cmd_unset): Likewise.
7d074e3c 31491 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 31492 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 31493 commands, remove grub_rescue_register_command calls.
b1b797cb 31494
7d074e3c 31495 * normal/command.c (grub_register_command): Removed.
b1b797cb 31496 (grub_unregister_command): Likewise.
31497 (grub_command_find): Likewise.
31498 (grub_iterate_commands): Likewise.
31499 (rescue_command): Likewise.
31500 (export_command): Moved to corecmd.c.
31501 (set_command): Removed.
31502 (unset_command): Likewise.
31503 (insmod_command): Likewise.
31504 (rmmod_command): Likewise.
31505 (lsmod_command): Likewise.
31506 (grub_command_init): Likewise.
31507
31508 * normal/completion.c (iterate_command): Use cmd->prio to check for
31509 active command.
31510 (complete_arguments): Use grub_extcmd_t structure to find options.
31511 (grub_normal_do_completion): Change function grub_iterate_commands to
31512 grub_command_iterate.
31513
31514 * normal/execute.c (grub_script_execute_cmd): No need to parse
31515 argument here.
31516
31517 * normal/main.c (grub_dyncmd_dispatcher): New function.
31518 (read_command_list): Register unload commands as dyncmd.
31519 (grub_cmd_normal): Use new command interface, register rescue,
31520 unregister normal at entry, register normal, unregister rescue at exit.
31521
31522 * include/grub/list.h (grub_list_test_t): New type.
31523 (grub_list_iterate): Return int instead of void.
31524 (grub_list_insert): New function.
31525 (GRUB_AS_NAMED_LIST_P): New macro.
31526 (GRUB_AS_PRIO_LIST): Likewise.
31527 (GRUB_AS_PRIO_LIST_P): Likewise.
31528 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
31529 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
31530 (grub_prio_list): New structure.
31531 (grub_prio_list_insert): New function.
31532 (grub_prio_list_remove): New inline function.
31533
31534 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
31535 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
31536 (GRUB_COMMAND_FLAG_MENU): Likewise.
31537 (GRUB_COMMAND_FLAG_BOTH): Likewise.
31538 (GRUB_COMMAND_FLAG_TITLE): Likewise.
31539 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
31540 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
31541 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
31542 (grub_command): Likewise.
31543 (grub_register_command): Likewise.
31544 (grub_command_find): Likewise.
31545 (grub_iterate_commands): Likewise.
31546 (grub_command_init): Likewise.
31547 (grub_arg_parse): Likewise.
31548 (grub_arg_show_help): Likewise.
31549
31550 * include/grub/rescue.h (grub_rescue_register_command): Removed.
31551 (grub_rescue_unregister_command): Likewise.
31552
31553 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
31554 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
31555 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
31556
31557 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
31558 grub_rescue_cmd_initrd.
31559 * include/grub/i386/loader.h: Likewise.
31560 * include/grub/x86_64/loader.h: Likewise.
31561
31562 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
31563
1f4147aa 315642009-03-21 Bean <bean123ch@gmail.com>
31565
31566 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
31567 instead of stat in mingw environment.
31568
31569 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
31570
31571 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
31572
31573 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
31574 AC_CONFIG_LINKS.
31575
2156d5ba 315762009-03-21 Bean <bean123ch@gmail.com>
31577
31578 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
31579 out of range error.
31580
177b82ca 315812009-03-18 Michel Dänzer <michel@daenzer.net>
31582
31583 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
31584 checking inode flags for EXT4_EXTENTS_FLAG.
31585
14aad807 315862009-03-18 Robert Millan <rmh@aybabtu.com>
31587
31588 * loader/i386/linux.c: Include `<grub/video.h>' and
31589 `<grub/i386/pc/vbe.h>'..
31590 (grub_linux_setup_video): New function. Loosely based on the EFI one.
31591 (grub_linux32_boot): Attempt to configure video settings with
31592 grub_linux_setup_video().
31593 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
31594 to avoid grub_console_fini() which would step out of graphical mode
31595 unconditionally.
31596
8cf83a27 315972009-03-14 Robert Millan <rmh@aybabtu.com>
31598
31599 Fix build on powerpc.
31600 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
31601
40164e75 316022009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
31603
31604 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
31605 background image command.
31606
c58bc32a 316072009-03-12 Colin D Bennett <colin@gibibit.com>
31608
31609 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
31610 (grub_gfxterm_putchar): Extract pairs of identical calls to
31611 draw_cursor out of conditional blocks.
31612
5415144a 316132009-03-11 Pavel Roskin <proski@gnu.org>
31614
31615 * fs/hfs.c (grub_hfs_strncasecmp): New function.
31616 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
31617
6394042e 316182009-03-11 Robert Millan <rmh@aybabtu.com>
31619
31620 * loader/i386/multiboot_elfxx.c
31621 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
31622
b7b50e5f 316232009-03-11 Felix Zielcke <fzielcke@z-51.de>
31624
31625 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
31626 `kern/handler.c'.
31627
1ca7fc96 316282009-03-11 Robert Millan <rmh@aybabtu.com>
31629
31630 * loader/i386/multiboot.c (code_size): New variable.
31631 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 31632 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 31633 4-byte alignment to MBI and others by increasing
7d074e3c 31634 `boot_loader_name_length' appropriately.
1ca7fc96 31635
31636 * loader/i386/multiboot_elfxx.c
31637 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
31638
a83ea1d2 316392009-03-09 Felix Zielcke <fzielcke@z-51.de>
31640
31641 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
31642 `fs/ext2.c'.
31643
aa9f3bff 316442009-03-08 Robert Millan <rmh@aybabtu.com>
31645
31646 Make loader/i386/linux.c usable on i386-pc again.
31647
31648 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
31649 memory to heap.
31650 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
31651 `#error' stanza.
31652
d8b3b60e 316532009-03-07 Bean <bean123ch@gmail.com>
31654
31655 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
31656 allocation.
31657
b362c9e9 316582009-03-06 Robert Millan <rmh@aybabtu.com>
31659
31660 Fix display issue on terminals with screen size other than 80x25
31661 (e.g. gfxterm with resolution higher than 640x480).
31662
31663 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 31664 position relative to the center of the terminal instead of relying
b362c9e9 31665 on a hardcoded offset.
31666
9304eef1 316672009-03-04 Robert Millan <rmh@aybabtu.com>
31668
31669 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
31670 installed.
31671
31672 * Makefile.in (host_kernel): New variable.
31673 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
31674 scripts instead of just the windows one.
31675 * configure.ac: Initialize and AC_SUBST `host_kernel'.
31676
eabc95fb 316772009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 31678
31679 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
31680 `kern/handler.c'.
31681 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31682 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31683 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31684 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31685 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31686 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31687
ceb1223c 316882009-03-04 Felix Zielcke <fzielcke@z-51.de>
31689
31690 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
31691 or if there's no space for the disk label and print the partition number on a
31692 invalid magic.
31693
4910684a 316942009-03-04 Felix Zielcke <fzielcke@z-51.de>
31695
31696 * util/misc.c: Include <time.h>.
31697 (grub_millisleep): New function.
31698
7e9ca17a 316992009-03-04 Bean <bean123ch@gmail.com>
31700
31701 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
31702 another option -mno-red-zone.
31703
31704 * commands/handler.c: Change module description.
31705
31706 * kern/handler.c: Add missing space at the end of description line.
31707
31708 * kern/list.c: Likewise.
31709
f501677c 317102009-03-03 Robert Millan <rmh@aybabtu.com>
31711
31712 Move more components to the relocation area, and fix mbi pointer
31713 handling to use the destination rather than the origin (thanks to
31714 Vladimir Serbinenko for spotting).
31715
31716 * loader/i386/multiboot.c (mbi_dest): New variable.
31717 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
31718 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
31719 relocation area.
31720
9902d047 317212009-03-01 Bean <bean123ch@gmail.com>
31722
50fb7002 31723 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 31724 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
31725 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
31726 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
31727
31728 * loader/i386/efi/linux.c (acpi_guid): New variable.
31729 (acpi_guid): Likewise.
31730 (EBDA_SEG_ADDR): New constant.
31731 (LOW_MEM_ADDR): Likewise.
31732 (FAKE_EBDA_SEG): Likewise.
31733 (fake_bios_data): New function.
31734 (grub_linux_boot): Call fake_bios_data.
31735
71b9f361 317362009-03-01 Bean <bean123ch@gmail.com>
31737
31738 * commands/terminal.c: Removed.
31739
31740 * commands/handler.c: New file.
31741
31742 * include/grub/list.h: Likewise.
31743
31744 * include/grub/handler.h: Likewise.
31745
31746 * kern/list.c: Likewise.
31747
31748 * kern/handler.c: Likewise.
31749
31750 * kern/term.h: Include header file <grub/handler.h>.
31751 (grub_term_input): Move next field to the beginning.
31752 (grub_term_output): Likewise.
31753 (grub_term_input_class): New variable.
31754 (grub_term_output_class): Likewise.
31755 (grub_term_register_input): Changed to inline function.
31756 (grub_term_register_output): Likewise.
31757 (grub_term_unregister_input): Likewise.
31758 (grub_term_unregister_output): Likewise.
31759 (grub_term_set_current_input): Likewise.
31760 (grub_term_set_current_output): Likewise.
31761 (grub_term_get_current_input): Likewise.
31762 (grub_term_get_current_output): Likewise.
31763 (grub_term_iterate_input): Removed.
31764 (grub_term_iterate_output): Likewise.
31765
31766 * kern/term.c (grub_term_list_input): Removed.
31767 (grub_term_list_output): Likewise.
31768 (grub_term_input_class): New variable.
31769 (grub_term_output_class): Likewise.
50fb7002 31770 (grub_cur_term_input): Change variable as macro.
71b9f361 31771 (grub_cur_term_output): Likewise.
31772 (grub_term_register_input): Removed.
31773 (grub_term_register_output): Likewise.
31774 (grub_term_unregister_input): Likewise.
31775 (grub_term_unregister_output): Likewise.
31776 (grub_term_set_current_input): Likewise.
31777 (grub_term_set_current_output): Likewise.
31778 (grub_term_iterate_input): Likewise.
31779 (grub_term_iterate_output): Likewise.
31780 (grub_term_get_current_input): Likewise.
31781 (grub_term_get_current_output): Likewise.
31782
31783 * util/grub-editenv.c: Include header file <grub/handler.h>.
31784 (grub_term_get_current_input): Removed.
31785 (grub_term_get_current_output): Likewise.
31786 (grub_term_input_class): New variable.
50fb7002 31787 (grub_term_output_class): Likewise.
71b9f361 31788
31789 * util/grub-fstest.c (grub_term_get_current_input): Removed.
31790 (grub_term_get_current_output): Likewise.
31791 (grub_term_input_class): New variable.
50fb7002 31792 (grub_term_output_class): Likewise.
71b9f361 31793
31794 * util/grub-probe.c (grub_term_get_current_input): Removed.
31795 (grub_term_get_current_output): Likewise.
31796 (grub_term_input_class): New variable.
50fb7002 31797 (grub_term_output_class): Likewise.
71b9f361 31798
31799 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
31800 (grub_term_get_current_output): Likewise.
31801 (grub_term_input_class): New variable.
50fb7002 31802 (grub_term_output_class): Likewise.
71b9f361 31803
31804 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
31805 (terminal_mod_SOURCES): Likewise.
31806 (terminal_mod_CFLAGS): Likewise.
31807 (terminal_mod_LDFLAGS): Likewise.
31808
31809 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
31810 handler.c.
31811 (kernel_img_SOURCES): Add list.c and handler.c.
31812 (kernel_img_HEADERS): Add list.h and handler.h.
31813
31814 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
31815 handler.c.
31816 (kernel_mod_SOURCES): Add list.c and handler.c.
31817 (kernel_mod_HEADERS): Add list.h and handler.h.
31818
31819 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
31820 handler.c.
31821 (kernel_elf_SOURCES): Add list.c and handler.c.
31822 (kernel_elf_HEADERS): Add list.h and handler.h.
31823
31824 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
31825 handler.c.
31826 (kernel_elf_SOURCES): Add list.c and handler.c.
31827 (kernel_elf_HEADERS): Add list.h and handler.h.
31828
31829 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
31830 handler.c.
31831 (kernel_mod_SOURCES): Add list.c and handler.c.
31832 (kernel_mod_HEADERS): Add list.h and handler.h.
31833
31834 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
31835 handler.c.
31836 (kernel_elf_SOURCES): Add list.c and handler.c.
31837 (kernel_elf_HEADERS): Add list.h and handler.h.
31838
8a31787f 318392009-02-27 Robert Millan <rmh@aybabtu.com>
31840
31841 Factorize elf32 / elf64 code in Multiboot loader. This will
31842 prevent it from getting out of sync again.
31843
31844 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
31845 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
31846 grub_multiboot_load_elf64): Move from here ...
31847 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
31848 grub_multiboot_load_elf): ... to here (new file).
31849
51cd3dfc 318502009-02-27 Robert Millan <rmh@aybabtu.com>
31851
31852 * util/grub.d/10_linux.in: Rename "single-user mode" to
31853 "recovery mode".
31854
6e8c9c3a 318552009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
31856
31857 Don't leak in SCSI code.
31858 * disk/scsi.c (grub_scsi_close): free `scsi'.
31859
4b6bf4f9 318602009-02-27 Robert Millan <rmh@aybabtu.com>
31861
31862 * loader/i386/pc/multiboot.c: Move from here ...
31863 * loader/i386/multiboot.c: ... to here. Update all users.
31864
b9413424 318652009-02-27 Robert Millan <rmh@aybabtu.com>
31866
31867 Patch from Alexandre Bique <bique.alexandre@gmail.com>
31868 * util/i386/pc/grub-setup.c (setup): Fix directory path.
31869
50fb7002 318702009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 31871
31872 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
31873 b-tree.
31874
8cc50345 318752009-02-27 Robert Millan <rmh@aybabtu.com>
31876
31877 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
31878 `0x' qualifier as 0 when base is specified as parameter).
31879
6e09b8b7 318802009-02-24 Bean <bean123ch@gmail.com>
31881
31882 * configure.ac: Check for -mcmodel=large in x86_64 target.
31883
31884 * include/grub/efi/api.h (efi_call_10): New macro.
31885 (efi_wrap_10): New function.
31886
31887 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
31888 (GRUB_PE32_REL_BASED_HIGH): Likewise.
31889 (GRUB_PE32_REL_BASED_LOW): Likewise.
31890 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
31891 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
31892 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
31893 (GRUB_PE32_REL_BASED_SECTION): Likewise.
31894 (GRUB_PE32_REL_BASED_REL): Likewise.
31895 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
31896 (GRUB_PE32_REL_BASED_DIR64): Likewise.
31897 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
31898
31899 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
31900 issue.
31901
31902 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
31903 (efi_wrap_10): New function.
31904
31905 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
31906
31907 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
31908 MB/MBP model (NV chipset).
31909 (devdata_devs): Add devpath_5 to the list.
31910
31911 * load/i386/efi/linux.c (video_base): Remove variable.
31912 (RGB_MASK): New macro.
31913 (RGB_MAGIC): Likewise.
31914 (LINE_MIN): Likewise.
31915 (LINE_MAX): Likewise.
31916 (FBTEST_STEP): Likewise.
31917 (FBTEST_COUNT): Likewise.
31918 (fb_list): New variable.
31919 (grub_find_video_card): Remove function.
31920 (find_framebuf): New function.
31921 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
31922 line length.
31923
31924 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
31925 problem for x86_64.
31926
74b21bee 319272009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
31928
31929 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
31930
31931 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
31932 coding tool name.
31933
a455f472 319342009-02-22 Robert Millan <rmh@aybabtu.com>
31935
31936 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
31937 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
31938 in our relocation, instead of using it directly from heap. Also
31939 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
31940
6374daf3 319412009-02-21 Robert Millan <rmh@aybabtu.com>
31942
31943 Implement USB keyboard support (based on patch by Marco Gerards)
31944
31945 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
31946 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
31947 (usb_keyboard_mod_LDFLAGS): New variables.
31948
31949 * term/usb_keyboard.c: New file.
31950
8fa4ea70 319512009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
31952
31953 Corrected wrong declaration
31954
31955 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
31956
353976ac 319572009-02-14 Christian Franke <franke@computer.org>
31958
31959 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
31960 (grub_lspci_iter): Print class code and programming interface byte.
31961
6aa1169b 319622009-02-14 Christian Franke <franke@computer.org>
31963
31964 * gendistlist.sh: Ignore `.svn' directories.
31965
265372ca 319662009-02-14 Felix Zielcke <fzielcke@z-51.de>
31967
31968 * fs/fat.c: Add 2009 to Copyright line.
31969
9ff516f3 319702009-02-14 Christian Franke <franke@computer.org>
31971
31972 * commands/hdparm.c: New file. Provides `hdparm' command
31973 which sends ATA commands via grub_disk_ata_pass_through ().
31974
31975 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
31976
31977 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
31978 and <grub/cpu/io.h> to include/grub/ata.h.
31979 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
31980 (GRUB_CDROM_SECTOR_SIZE): Remove.
31981 (GRUB_ATA_*): Move to include/grub/ata.h.
31982 (GRUB_ATAPI_*): Likewise.
31983 (enum grub_ata_commands): Likewise.
31984 (enum grub_ata_timeout_milliseconds): Likewise.
31985 (struct grub_ata_device): Likewise.
31986 (grub_ata_regset): Likewise.
31987 (grub_ata_regget): Likewise.
31988 (grub_ata_regset2): Likewise.
31989 (grub_ata_regget2): Likewise.
31990 (grub_ata_check_ready): Likewise.
31991 (grub_ata_wait_not_busy): Remove static, exported in
31992 include/grub/ata.h.
31993 (grub_ata_wait_drq): Likewise.
31994 (grub_ata_pio_read): Likewise.
31995
31996 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
31997 function for hdparm.mod.
31998
31999 * include/grub/ata.h: New file, contains declarations from
32000 disk/ata.c.
32001 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
32002
32003 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
32004 (grub_disk_ata_pass_through): New exported variable.
32005
32006 * kern/disk.c (grub_disk_ata_pass_through): New variable.
32007
772e23da 320082009-02-13 Colin D Bennett <colin@gibibit.com>
32009
32010 Support multiple fallback entries, and provide an API to support
32011 executing default+fallback menu entries. Renamed the `terminal' menu
32012 viewer to `text'.
32013
32014 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
32015 variable declaration.
32016 (grub_menu_execute_callback): New structure declaration.
32017 (grub_menu_execute_callback_t): New typedef.
32018 (grub_menu_execute_with_fallback): New function declaration.
32019 (grub_menu_get_entry): Likewise.
32020 (grub_menu_get_timeout): Likewise.
32021 (grub_menu_set_timeout): Likewise.
32022
32023 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
32024
32025 * normal/menu.c (grub_wait_after_message): Moved to
32026 `normal/menu_text.c'.
32027 (draw_border): Likewise.
32028 (print_message): Likewise.
32029 (print_entry): Likewise.
32030 (print_entries): Likewise.
32031 (grub_menu_init_page): Likewise.
32032 (get_entry_number): Likewise.
32033 (print_timeout): Likewise.
32034 (run_menu): Likewise.
32035 (grub_menu_execute_entry): Likewise.
32036 (show_text_menu): Likewise.
32037 (get_and_remove_first_entry_number): New function.
32038 (grub_menu_execute_with_fallback): Likewise.
32039 (get_entry): Renamed to ...
32040 (grub_menu_get_entry): .. this and made it global.
32041 (get_timeout): Renamed to ...
32042 (grub_menu_get_timeout): ... this and made it global.
32043 (set_timeout): Renamed to ...
32044 (grub_menu_set_timeout): ... this and made it global.
32045 (grub_normal_terminal_menu_viewer): Renamed to ...
32046 (grub_normal_text_menu_viewer): ... this.
32047
32048 * normal/menu_text.c: New file. Extracted text-menu-specific code
32049 from normal/menu.c.
32050
32051 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
32052 (normal_mod_SOURCES): Likewise.
32053
32054 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32055 (normal_mod_SOURCES): Likewise.
32056
32057 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32058 (normal_mod_SOURCES): Likewise.
32059
32060 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
32061 (normal_mod_SOURCES): Likewise.
32062
32063 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32064 (normal_mod_SOURCES): Likewise.
32065
32066 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32067 (normal_mod_SOURCES): Likewise.
32068
32069 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32070 (normal_mod_SOURCES): Likewise.
32071
16ac430e 320722009-02-11 Robert Millan <rmh@aybabtu.com>
32073
32074 * util/grub.d/00_header.in: Update old reference to `font' command.
32075
06ff20fc 320762009-02-10 Felix Zielcke <fzielcke@z-51.de>
32077
32078 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
32079
32080 Based on patch from Javier Martín.
32081
96da9407 320822009-02-09 Felix Zielcke <fzielcke@z-51.de>
32083
32084 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 32085 to avoid false positives with FAT.
96da9407 32086 (grub_fstest_SOURCES): Likewise.
32087 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32088 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32089 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32090 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32091 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32092 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32093
6dca6fe4 320942009-02-09 Felix Zielcke <fzielcke@z-51.de>
32095
06ff20fc 32096 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 32097 bpb.version_specific.fat12_or_fat16.fstype and
32098 bpb.version_specific.fat32.fstype.
32099
2550c62f 321002009-02-08 Robert Millan <rmh@aybabtu.com>
32101
be110b30 32102 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 32103
56978920 321042009-02-08 Robert Millan <rmh@aybabtu.com>
32105
32106 * Makefile.in (host_os, host_cpu): New variables.
32107 (target_os): Remove. Update all users.
32108
d64399b5 321092009-02-08 Marco Gerards <marco@gnu.org>
32110
32111 * Makefile.in (enable_grub_emu_usb): New variable.
32112 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
32113 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
32114 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
32115 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
32116 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
32117 `usbtest.mod' and `usbms.mod'.
32118 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
32119 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
32120 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
32121 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
32122 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
32123 variables.
32124
32125 * disk/usbms.c: New file.
32126
32127 * include/grub/usb.h: Likewise.
32128
32129 * include/grub/usbtrans.h: Likewise.
32130
32131 * include/grub/usbdesc.h: Likewise.
32132
32133 * bus/usb/usbtrans.c: Likewise.
32134
32135 * bus/usb/ohci.c: Likewise.
32136
32137 * bus/usb/uhci.c: Likewise.
32138
32139 * bus/usb/usbhub.c: Likewise.
32140
32141 * bus/usb/usb.c: Likewise.
32142
32143 * commands/usbtest.c: Likewise.
32144
32145 * util/usb.c: Likewise.
50fb7002 32146
d64399b5 32147 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
32148
32149 * configure.ac: Test for libusb presence.
50fb7002 32150
d64399b5 32151 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
32152
2b40d6bb 321532009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
32154
32155 * kern/mm.c: Add more comments.
32156
73a4ce81 321572009-02-08 Robert Millan <rmh@aybabtu.com>
32158
32159 Patch from Javier Martín.
32160 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
32161 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
32162
f821ce59 321632009-02-08 Robert Millan <rmh@aybabtu.com>
32164
32165 * fs/cpio.c: Split tar functionality to ...
32166 * fs/tar.c: ... here (new file). Update all users.
32167
aebfc4b0 321682009-02-07 Robert Millan <rmh@aybabtu.com>
32169
32170 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
32171 backward-incompatible features.
32172
32173 Based on patch from Javier Martín, with some adjustments.
32174
50fb7002 321752009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 32176
32177 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
32178
0bb5115e 321792009-02-07 Robert Millan <rmh@aybabtu.com>
32180
32181 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
32182 position of `disk/lvm.c' to ensure grub_init_all() always picks it
32183 after the RAID stuff.
32184
38a0f8e7 321852009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
32186
50fb7002 32187 Fixes problem when running vbetest command as reported by
38a0f8e7 32188 Vladimir Serbinenko <phcoder@gmail.com>.
32189
32190 * (grub_vbe_set_video_mode): Fixed problem with text modes.
32191
3143cc1c 321922009-02-04 Felix Zielcke <fzielcke@z-51.de>
32193
32194 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
32195 /dev/md/NpN style mdraid devices.
32196
9cba6fce 321972009-02-03 Felix Zielcke <fzielcke@z-51.de>
32198
32199 * util/unifont2pff.rb: Remove.
32200
e507a2c1 322012009-02-03 Felix Zielcke <fzielcke@z-51.de>
32202
32203 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
32204 `#'.
32205
d2c2b4cd 322062009-02-03 Felix Zielcke <fzielcke@z-51.de>
32207
32208 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
32209 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32210 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32211 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32212 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32213 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32214 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32215
b4315fb0 322162009-02-02 Christian Franke <franke@computer.org>
32217
32218 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
32219
de3aa260 322202009-02-01 Felix Zielcke <fzielcke@z-51.de>
32221
7c3ff286 32222 * INSTALL: Note that we now require at least autoconf 2.59 and
32223 that LZO is optional.
de3aa260 32224
825a182b 322252009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
32226
32227 Base on patch on bug #24154 created by Tomas Tintera
32228 <trosos@seznam.cz>.
32229
32230 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
32231
a69ef770 322322009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
32233
7c3ff286 32234 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 32235 <bero@arklinux.org>.
32236
32237 * normal/parser.y (script_init): Add missing semicolon.
32238
6fa42fa6 322392009-01-31 Colin D Bennett <colin@gibibit.com>
32240
7c3ff286 32241 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 32242 (free_menu_entry_classes): Added.
32243 (grub_normal_menu_addentry): Added class property handling.
32244 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
32245 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
32246
32247 * normal/menu_viewer.c: New file.
32248
32249 * normal/menu.c (run_menu_entry): Renamed to ...
32250 (grub_menu_execute_entry): ... this and made it as global.
32251 (grub_menu_run): Renamed to ...
32252 (show_text_menu): ... this and made it local.
32253 (show_text_menu): Adapt to new function names.
32254 (grub_normal_terminal_menu_viewer): New global variable.
32255
32256 * include/grub/menu.h: New file.
32257
32258 * include/grub/menu_viewer.h: New file.
32259
32260 * include/grub/normal.h: Added include to grub/menu.h.
32261 (grub_menu_entry): Moved to include/grub/menu.h.
32262 (grub_menu_entry_t): Likewise.
32263 (grub_menu): Likewise.
32264 (grub_menu_t): Likewise.
32265 (grub_normal_terminal_menu_viewer): Added.
32266 (grub_menu_execute_entry): Likewise.
32267 (grub_menu_run): Removed.
32268
32269 * DISTLIST: Added include/grub/menu.h.
32270 Added include/grub/menu_viewer.h.
32271 Added normal/menu_viewer.c.
32272
322732009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
32274
32275 * normal/execute.c (grub_script_execute_menuentry): Changed to use
32276 arglist for menutitle arguments.
32277
32278 * normal/main.c (grub_normal_menu_addentry): Likewise.
32279
32280 * normal/parser.y (menuentry): Likewise.
32281
32282 * normal/script.c (grub_script_create_cmdmenu): Likewise.
32283
32284 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
32285 (grub_script_create_cmdmenu): Likewise.
32286
32287 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
32288
32289 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
32290 changes.
32291
32292 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
32293
32294 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
32295
32296 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
32297
32298 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32299
32300 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32301
32302 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32303
56192c23 323042009-01-30 Christian Franke <franke@computer.org>
32305
32306 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
32307 in option help text.
32308
d72521b3 323092009-01-27 Pavel Roskin <proski@gnu.org>
32310
32311 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
32312
994b5e84 323132009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
32314
32315 * commands/lsmmap.c: Add include to grub/machine/memory.h.
32316
32317 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
32318
32319 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
32320 unregister function.
32321
6a7eab2c 323222009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
32323
32324 * disk/scsi.c (grub_scsi_read): Fix sign problem.
32325
32326 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
32327
32328 * util/grub-mkfont.c (usage): Fix typo.
32329
32330 * util/elf/grub-mkimage.c (load_modules): Fix warning.
32331
1806b56e 323322009-01-26 Daniel Mierswa <impulze@impulze.org>
32333
3fb18f09 32334 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
32335
336e1fb9 32336 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
32337
1806b56e 32338 * kern/misc.c (grub_strcasecmp): New function.
32339 (grub_strcasecmp): Use grub_size_t instead of int for length.
32340 Fix return value.
32341 * include/grub/misc.h: Update function prototypes.
32342
580b2a0f 323432009-01-26 Robert Millan <rmh@aybabtu.com>
32344
32345 * configure.ac: Fix cross-compilation check.
ef257b36 32346
d31c24f1 323472009-01-22 Christian Franke <franke@computer.org>
32348
32349 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
32350 (precision) digit string. Allow `.format2' without `format1' (width).
32351 Limit input chars for `%s' output to `format2' if specified. This is
32352 compatible with standard printf ().
32353
3138b44c 323542009-01-22 Christian Franke <franke@computer.org>
32355
32356 * disk/ata.c (grub_ata_wait_status): Replace by ...
32357 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
32358 other status bits may be invalid while BSY is asserted.
32359 (grub_ata_check_ready): New function.
32360 (grub_ata_cmd): Removed.
32361 (grub_ata_wait_drq): New function.
32362 (grub_ata_strncpy): Remove inline.
32363 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
32364 and error check now done by grub_ata_wait_drq ().
32365 (grub_ata_pio_write): Likewise.
32366 (grub_atapi_identify): Set DEV before check for !BSY. Use
32367 grub_ata_wait_drq () to wait for data.
32368 (grub_ata_device_initialize): Add status register check to
32369 detect missing SATA slave devices. Add debug messages.
32370 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
32371 (grub_atapi_packet): Set DEV before check for !BSY. Replace
32372 transfer loop by grub_ata_pio_write ().
32373 (grub_ata_identify): Set DEV before check for !BSY. Use
32374 grub_ata_wait_drq () to wait for data.
ef257b36 32375 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 32376 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
32377 read/write in one loop. Fix invalid command on write. Fix incomplete
32378 command on (size % batch) == 0. Add missing error check after write of
32379 last block. Add debug messages.
32380 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
32381
59a64ef6 323822009-01-19 Christian Franke <franke@computer.org>
32383
32384 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
32385 (GRUB_ATAPI_IREASON_*): Likewise.
32386 (grub_ata_pio_write): Fix timeout error return.
32387 (grub_atapi_identify): Add grub_ata_wait () after cmd.
32388 (grub_atapi_wait_drq): New function.
32389 (grub_atapi_packet): New parameter `size'.
32390 Use grub_atapi_wait_drq () and direct write instead of
32391 grub_ata_pio_write ().
32392 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
32393 reads the number of bytes requested by the device for each DRQ
32394 assertion.
32395 (grub_atapi_write): Remove old implementation, return not
32396 implemented instead.
32397
1cfe20b3 323982009-01-19 Christian Franke <franke@computer.org>
32399
32400 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
32401 of 512 to calculate data size.
32402 (grub_scsi_read12): Likewise.
32403 (grub_scsi_write10): Likewise.
32404 (grub_scsi_write12): Likewise.
32405 (grub_scsi_read): Adjust size according to blocksize.
32406 Add checks for invalid blocksize and unaligned transfer.
32407
bee5fe5d 324082009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
32409
32410 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
32411
ef257b36 32412 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 32413 width glyphs.
32414
3e643f8c 324152009-01-19 Robert Millan <rmh@aybabtu.com>
32416
32417 * config.guess: Update to latest version from config git.
32418 * config.sub: Likewise.
32419
4fa80998 324202009-01-17 Felix Zielcke <fzielcke@z-51.de>
32421
32422 * Makefile.in: Change font compilation to use new grub-mkfont instead
32423 of java version.
32424
32425 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
32426 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
32427 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
32428 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
32429 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
32430 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
32431 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
32432 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
32433 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
32434
7086085b 324352009-01-16 Christian Franke <franke@computer.org>
32436
32437 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
32438 (enum grub_ata_timeout_milliseconds): New enum.
32439 (grub_ata_wait_status): Add parameter milliseconds.
32440 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
32441 recovery from timed-out commands.
32442 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
32443 return grub_errno instead of REG_ERROR.
32444 (grub_ata_pio_write): Add parameter milliseconds.
32445 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
32446 Pass milliseconds to grub_ata_wait_status () and
32447 grub_ata_pio_read ().
32448 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
32449 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
32450 grub_ata_wait_status (). Fix IDENTIFY timeout check.
32451 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
32452 It is not suitable for device detection, because DEV bit is ignored,
32453 the command may run too long, and not all devices set the signature
32454 properly.
32455 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
32456 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
32457 Fix device selection, DEV bit must be set first to address the registers
32458 of the correct device.
32459 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
32460 grub_ata_pio_read/write ().
32461 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
32462 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
32463
4a412913 324642009-01-13 Carles Pina i Estany <carles@pina.cat>
32465
32466 * util/grub-editenv.c (main): Use fseeko(), not fseek().
32467
7795c55e 324682009-01-13 Bean <bean123ch@gmail.com>
d913988c 32469
32470 * util/grub-mkfont.c (write_font): forget to remove some debug code.
32471
7795c55e 324722009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 32473
32474 * Makefile.in: (enable_grub_mkfont): New variable.
32475 (freetype_cflags): Likewise.
32476 (freetype_libs): Likewise.
32477
32478 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
32479 (grub_mkfont_SOURCES): New variable.
32480 (grub_mkfont_CFLAGS): Likewise.
32481 (grub_mkfont_LDFLAGS): Likewise.
32482
32483 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
32484 library if `--enable-grub-mkfont' is requested.
32485 (enable_grub_mkfont): New variable.
32486 (freetype_cflags): Likewise.
32487 (freetype_libs): Likewise.
32488
32489 * util/grub-mkfont.c: New file.
32490
093af1fe 324912009-01-12 Christian Franke <franke@computer.org>
32492
32493 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
32494 mode check. Fix setting of compat_use[].
32495
f36cc108 324962009-01-10 Robert Millan <rmh@aybabtu.com>
32497
32498 Update a few copyright years which we forgot to do in 2008 (only for
32499 files whose changes made in 2008 were copyright-significant)
32500
32501 * Makefile.in: Add 2008 to Copyright line.
32502 * disk/ieee1275/ofdisk.c: Likewise.
32503 * disk/efi/efidisk.c: Likewise.
32504 * kern/dl.c: Likewise.
32505 * kern/sparc64/ieee1275/init.c: Likewise.
32506 * kern/mm.c: Likewise.
32507 * kern/efi/mm.c: Likewise.
32508 * boot/i386/pc/boot.S: Likewise.
32509 * genfslist.sh: Likewise.
32510 * fs/iso9660.c: Likewise.
32511 * fs/hfs.c: Likewise.
32512 * fs/jfs.c: Likewise.
32513 * fs/minix.c: Likewise.
32514 * fs/ufs.c: Likewise.
32515 * gensymlist.sh.in: Likewise.
32516 * genkernsyms.sh.in: Likewise.
32517 * include/grub/misc.h: Likewise.
32518 * include/grub/types.h: Likewise.
32519 * include/grub/symbol.h: Likewise.
32520 * include/grub/elf.h: Likewise.
32521 * include/grub/kernel.h: Likewise.
32522 * include/grub/disk.h: Likewise.
32523 * include/grub/dl.h: Likewise.
32524 * include/grub/i386/linux.h: Likewise.
32525 * include/grub/i386/pc/biosdisk.h: Likewise.
32526 * include/grub/efi/api.h: Likewise.
32527 * include/grub/efi/pe32.h: Likewise.
32528 * include/grub/util/misc.h: Likewise.
32529 * normal/execute.c: Likewise.
32530 * normal/arg.c: Likewise.
32531 * normal/completion.c: Likewise.
32532 * normal/lexer.c: Likewise.
32533 * normal/parser.y: Likewise.
32534 * normal/misc.c: Likewise.
32535 * commands/i386/pc/vbeinfo.c: Likewise.
32536 * commands/hexdump.c: Likewise.
32537 * commands/terminal.c: Likewise.
32538 * commands/ls.c: Likewise.
32539 * commands/help.c: Likewise.
32540 * partmap/pc.c: Likewise.
32541 * loader/efi/chainloader.c: Likewise.
32542 * loader/multiboot_loader.c: Likewise.
32543 * loader/i386/pc/multiboot2.c: Likewise.
32544 * term/efi/console.c: Likewise.
32545 * term/i386/pc/serial.c: Likewise.
32546 * util/lvm.c: Likewise.
32547 * util/console.c: Likewise.
32548 * util/i386/efi/grub-mkimage.c: Likewise.
32549 * util/raid.c: Likewise.
32550
7f02114b 325512009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
32552
32553 * commands/videotest.c: Removed include to grub/machine/memory.h.
32554
32555 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
32556 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
32557 (video_mod_SOURCES): Removed.
32558 (video_mod_CFLAGS): Likewise.
32559 (video_mod_LDFLAGS): Likewise.
32560 (gfxterm_mod_SOURCES): Likewise.
32561 (gfxterm_mod_CFLAGS): Likewise.
32562 (gfxterm_mod_LDFLAGS): Likewise.
32563 (videotest_mod_SOURCES): Likewise.
32564 (videotest_mod_CFLAGS): Likewise.
32565 (videotest_mod_LDFLAGS): Likewise.
32566 (bitmap_mod_SOURCES): Likewise.
32567 (bitmap_mod_CFLAGS): Likewise.
32568 (bitmap_mod_LDFLAGS): Likewise.
32569 (tga_mod_SOURCES): Likewise.
32570 (tga_mod_CFLAGS): Likewise.
32571 (tga_mod_LDFLAGS): Likewise.
32572 (jpeg_mod_SOURCES): Likewise.
32573 (jpeg_mod_CFLAGS): Likewise.
32574 (jpeg_mod_LDFLAGS): Likewise.
32575 (png_mod_SOURCES): Likewise.
32576 (png_mod_CFLAGS): Likewise.
32577 (png_mod_LDFLAGS): Likewise.
32578
32579 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
32580 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
32581 (video_mod_SOURCES): Added.
32582 (video_mod_CFLAGS): Likewise.
32583 (video_mod_LDFLAGS): Likewise.
32584 (videotest_mod_SOURCES): Likewise.
32585 (videotest_mod_CFLAGS): Likewise.
32586 (videotest_mod_LDFLAGS): Likewise.
32587 (bitmap_mod_SOURCES): Likewise.
32588 (bitmap_mod_CFLAGS): Likewise.
32589 (bitmap_mod_LDFLAGS): Likewise.
32590 (tga_mod_SOURCES): Likewise.
32591 (tga_mod_CFLAGS): Likewise.
32592 (tga_mod_LDFLAGS): Likewise.
32593 (jpeg_mod_SOURCES): Likewise.
32594 (jpeg_mod_CFLAGS): Likewise.
32595 (jpeg_mod_LDFLAGS): Likewise.
32596 (png_mod_SOURCES): Likewise.
32597 (png_mod_CFLAGS): Likewise.
32598 (png_mod_LDFLAGS): Likewise.
32599 (gfxterm_mod_SOURCES): Likewise.
32600 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 32601 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 32602
32603 * term/gfxterm.c: Removed include to grub/machine/memory.h,
32604 grub/machine/console.h.
32605
644fff97 326062009-01-04 Jerone Young <jerone@gmail.com>
32607
32608 Make on screen instructions clearer
32609
32610 Based on patch created by Jidanni <jidanni@jidanni.org>
32611
32612 * normal/menu.c: print clearer instructions on the screen
32613
1e901a75 326142009-01-02 Colin D Bennett <colin@gibibit.com>
32615
32616 New font engine.
34c44600 32617
1e901a75 32618 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
32619 build system and fixed gfxterm.c to work with different sized fonts.
32620
32621 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 32622
1e901a75 32623 * configure: Re-generated.
34c44600 32624
1e901a75 32625 * DISTLIST: Removed font/manager.c.
32626 Added font/font.c.
32627 Added font/font_cmd.c.
34c44600 32628
1e901a75 32629 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
32630 compilation.
34c44600 32631
1e901a75 32632 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 32633
32634 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 32635
32636 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 32637
1e901a75 32638 * normal/menu.c: Likewise.
34c44600 32639
1e901a75 32640 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
32641 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 32642
1e901a75 32643 * include/grub/font.h: Replaced with new file.
34c44600 32644
1e901a75 32645 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
32646 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
32647 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
32648 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
32649 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 32650 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 32651 fg_red, fg_green, fg_blue, fg_alpha.
32652 (grub_video_adapter): Removed blit_glyph.
34c44600 32653 (grub_video_blit_glyph): Removed.
32654
1e901a75 32655 * font/manager.c: Removed file.
34c44600 32656
32657 * font/font.c: New file.
32658
1e901a75 32659 * font/font_cmd.c: Likewise.
34c44600 32660
1e901a75 32661 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 32662
1e901a75 32663 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
32664 (grub_video_vbe_map_rgba): Likewise.
32665 (grub_video_vbe_unmap_color_int): Likewise.
32666 (grub_video_vbe_blit_glyph): Removed.
32667 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 32668
1e901a75 32669 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
32670 (get_pixel): Likewise.
34c44600 32671 (set_pixel): Likewise.
32672
1e901a75 32673 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 32674
1e901a75 32675 * term/gfxterm.c: Adapted to new font engine.
34c44600 32676
1e901a75 32677 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 32678
1e901a75 32679 * term/i386/pc/vga.c: Likewise.
34c44600 32680
1e901a75 32681 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 32682
1e901a75 32683 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 32684
1e901a75 32685 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 32686
1e901a75 32687 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 32688
1e901a75 32689 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 32690
1e901a75 32691 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 32692
1e901a75 32693 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 32694
1e901a75 32695 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 32696
1e901a75 32697 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
32698
32699 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 32700
1e901a75 32701 * util/grub-mkconfig_lib.in: Changed font extension.
32702
278922e8 327032008-12-28 Felix Zielcke <fzielcke@z-51.de>
32704
32705 * util/getroot.c (grub_util_get_grub_dev): Add support for
32706 /dev/md/dNNpNN style partitionable mdraid devices.
32707
3ced05cf 327082008-12-12 Alex Smith <alex@alex-smith.me.uk>
32709
32710 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
32711 at a time limit of the PXE TFTP API correctly.
32712 (grub_pxefs_close): Likewise.
32713
7fd0ee30 327142008-11-29 Robert Millan <rmh@aybabtu.com>
32715
34c44600 32716 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 32717 grub_ata_device_initialize() calls.
32718
34c44600 327192008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 32720
32721 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
32722 iteration failed.
32723 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
32724
89313780 327252008-11-28 Robert Millan <rmh@aybabtu.com>
32726
32727 Fix build on powerpc-ieee1275. Based on patch created by
32728 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
32729 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
32730 `kern/ieee1275/mmap.c'.
32731 * include/grub/powerpc/ieee1275/memory.h: New file.
32732
15257703 32733 Provide grub-install on coreboot.
32734 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
32735 (grub_install_SOURCES): New variable.
32736 * util/i386/pc/grub-install.in: Add a few condition checks to make it
32737 usable on coreboot.
32738
9fc5388a 327392008-11-25 Felix Zielcke <fzielcke@z-51.de>
32740
32741 * util/grub-fstest.c (grub_term_get_current_input): Change return type
32742 to `grub_term_input_t'.
32743 (grub_term_get_current_output): Change return type to
32744 `grub_term_output_t'.
32745
bc3a2f31 327462008-11-22 Robert Millan <rmh@aybabtu.com>
32747
34c44600 32748 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 32749 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
32750 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
32751 grub_vga_text_cls().
32752
80fc88f2 32753 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 32754 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 32755
cbf36fd3 32756 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
32757 to 0x200000 (avoids trouble with some OFW implementations, and matches
32758 with the one in Yaboot).
32759 Reported by Manoel Abranches
32760
73e8e268 327612008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 32762
32763 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
32764 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
32765
73e8e268 32766 * util/grub-mkconfig_lib.in (grub_warn): New function.
32767 (convert_system_path_to_grub_path): Use grub_warn() when issuing
32768 warnings, to obtain consistent formatting.
32769 * util/grub.d/00_header.in: Likewise.
32770 * util/update-grub_lib.in: Likewise.
32771
e94045a1 32772 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 32773 Move comment text to `#error' stanza.
e94045a1 32774
79d29fd7 32775 Harmonize ieee1275's grub_available_iterate() with the generic
32776 grub_machine_mmap_iterate() interface (fixes a recently-introduced
32777 build problem on i386-ieee1275):
32778 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
32779 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
32780 parameter `type'. Update all users of this function.
32781 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
32782 `kern/ieee1275/mmap.c'.
32783 * kern/ieee1275/init.c
32784 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
32785 with ...
32786 (grub_machine_mmap_iterate): ... this.
32787 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
32788 return type to `grub_err_t'. Update all implementations of this
32789 function prototype.
32790 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
32791 Likewise.
32792
60d6b16e 32793 Add `lsmmap' command (lists firmware-provided memory map):
32794 * commands/lsmmap.c: New file.
32795 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
32796 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
32797 variables.
32798 * conf/powerpc-ieee1275.rmk: Likewise.
32799 * conf/i386-coreboot.rmk: Likewise.
32800 * conf/i386-ieee1275.rmk: Likewise.
32801
ebaaf49b 328022008-11-19 Robert Millan <rmh@aybabtu.com>
32803
32804 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 32805 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
32806 constraints to initrd allocation (based on code from
32807 loader/i386/pc/linux.c). Without them, initrd was allocated too high
32808 for Linux to find it.
ebaaf49b 32809
dfab719f 328102008-11-14 Robert Millan <rmh@aybabtu.com>
32811
32812 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
32813 order to cope with duplicate slashes.
32814
10fc3eb9 328152008-11-14 Robert Millan <rmh@aybabtu.com>
32816
32817 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
32818 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
32819 don't want to mess with lower memory, because it is used in the Linux
32820 loader.
32821
32822 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 32823 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 32824 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
32825 is in our heap (probably as a result of it being corrupted during
2f2a3442 32826 decompression). Add #error instance with comment to explain why this
32827 loader isn't currently usable on PC/BIOS.
10fc3eb9 32828
e2e07847 328292008-11-14 Robert Millan <rmh@aybabtu.com>
32830
32831 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 32832 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 32833
fe8e8d69 328342008-11-12 Robert Millan <rmh@aybabtu.com>
32835
32836 Make loader/i386/linux.c buildable on i386-pc (although disabled).
32837
32838 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
32839 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
32840 from here ...
32841 * include/grub/i386/pc/memory.h: ... to here.
32842
976b07d0 328432008-11-12 Robert Millan <rmh@aybabtu.com>
32844
32845 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
32846 split).
32847
32848 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
32849 (grub_console_cur_color, grub_console_real_putchar)
32850 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
32851 (grub_console_setcolorstate, grub_console_setcolor)
32852 (grub_console_getcolor): Move from here ...
32853 * include/grub/i386/vga_common.h: ... to here (new file).
32854
32855 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
32856 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
32857 `<grub/i386/io.h>'.
32858 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
32859 `<grub/i386/vga_common.h>'.
32860
76679cd3 328612008-11-12 Robert Millan <rmh@aybabtu.com>
32862
32863 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
32864 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
32865 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
32866 variables.
32867 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
32868 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
32869
32870 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
32871 grub_console_init() with call to grub_vga_text_init().
32872 (grub_machine_fini): Replace call to
32873 grub_console_fini() with call to grub_vga_text_fini() and
32874 grub_at_keyboard_fini().
32875
32876 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
32877 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
32878 (grub_console_setcolorstate, grub_console_setcolor)
32879 (grub_console_getcolor): New function prototypes.
32880
32881 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
32882 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
32883 (grub_vga_text_setcursor): Static-ize.
32884 (grub_vga_text_term): New structure.
32885 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
32886
32887 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
32888 (grub_console_cur_color, grub_console_standard_color)
32889 (grub_console_normal_color, grub_console_highlight_color)
32890 (map_char, grub_console_putchar, grub_console_getcharwidth)
32891 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
32892 (grub_console_getcolor): Move from here ...
32893 * term/i386/vga_common.c: ... to here (same function names).
32894
95b841d3 328952008-11-12 Robert Millan <rmh@aybabtu.com>
32896
32897 Use newly-added Multiboot support in coreboot.
32898
32899 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
32900 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
32901
32902 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
32903 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
32904 (codestart): Store the MBI in `startup_multiboot_info' when we're
32905 being loaded using Multiboot.
32906
32907 * kern/i386/coreboot/init.c (grub_machine_init): Move
32908 grub_at_keyboard_init() call to beginning of function (useful for
32909 debugging). Call grub_machine_mmap_init() before attempting to use
32910 grub_machine_mmap_iterate().
32911 (grub_lower_mem, grub_upper_mem): Move from here ...
32912 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
32913 here (new file).
32914
32915 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
32916 function prototype.
32917
761ca975 329182008-11-12 Robert Millan <rmh@aybabtu.com>
32919
32920 Fix a regression introduced by the at_keyboard.mod split. Because
32921 some terminals are default on some platforms and non-default on
32922 others, the first terminal being registered determines which is
32923 going to be default.
32924
32925 * kern/term.c (grub_term_register_input): If this is the first
32926 terminal being registered, set it as the current one.
32927 (grub_term_register_output): Likewise.
32928
32929 * term/efi/console.c (grub_console_init): Do not call
32930 grub_term_set_current_output() or grub_term_set_current_input().
32931 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
32932 * term/i386/pc/console.c (grub_console_init): Likewise.
32933 (grub_console_fini): Do not call grub_term_set_current_input()
32934 (but leave grub_term_set_current_output() to restore text mode).
32935
6c529df7 329362008-11-10 Robert Millan <rmh@aybabtu.com>
32937
32938 * util/grub.d/00_header.in: Add backward compatibility check for
32939 versions of terminal.mod that don't understand `terminal_input' or
32940 `terminal_output'.
32941
132e4113 329422008-11-09 Robert Millan <rmh@aybabtu.com>
32943
32944 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
32945 `terminal_input' / `terminal_output', not `terminal'.
32946
ac293d50 329472008-11-08 Robert Millan <rmh@aybabtu.com>
32948
32949 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 32950 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 32951
0025933a 329522008-11-08 Robert Millan <rmh@aybabtu.com>
32953
32954 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 32955 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 32956 members. Update all users.
32957 * util/console.c (grub_ncurses_term): Split in ...
32958 (grub_ncurses_term_input): ... this, and ...
32959 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 32960 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 32961
37c86336 329622008-11-08 Robert Millan <rmh@aybabtu.com>
32963
32964 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
32965 (PKGDATA): Add $(pkgdata_SRCDIR).
32966 (pkglib_BUILDDIR): New variable.
32967 (pkgdata_SRCDIR): New variable.
32968 (build_env.mk): New target.
32969 (include_DATA): New variable.
32970 (install-local): Install $(include_DATA) files in $(includedir).
32971
b6c15a2d 329722008-11-07 Pavel Roskin <proski@gnu.org>
32973
d99d46f1 32974 * gendistlist.sh: Use C locale for sorting to ensure consistent
32975 output on all systems.
32976
b6c15a2d 32977 * util/grub.d/00_header.in: Remove incorrect space before
32978 "serial".
32979
c32ee8c9 329802008-11-07 Robert Millan <rmh@aybabtu.com>
32981
32982 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
32983 per specification.
32984 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
32985 * loader/multiboot_loader.c (find_multi_boot2_header): New function
32986 (based on find_multi_boot1_header).
32987 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
32988 using find_multi_boot2_header(), and abort if neither Multiboot or
32989 Multiboot headers were found.
32990
651c29b7 329912008-11-07 Robert Millan <rmh@aybabtu.com>
32992
32993 Modularize at_keyboard.mod:
32994
32995 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
32996 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
32997 (at_keyboard_mod_LDFLAGS): New variables.
32998
32999 Actual terminal split:
33000
33001 * include/grub/term.h (struct grub_term): Split in ...
33002 (struct grub_term_input): ... this, and ...
33003 (struct grub_term_output): ... this. Update all users.
33004 (grub_term_set_current): Split in ...
33005 (grub_term_set_current_input): ... this, and ...
33006 (grub_term_set_current_output): ... this.
33007 (grub_term_get_current): Split in ...
33008 (grub_term_get_current_input): ... this, and ...
33009 (grub_term_get_current_output): ... this.
33010 (grub_term_register): Split in ...
33011 (grub_term_register_input): ... this, and ...
33012 (grub_term_register_output): ... this.
33013 (grub_term_unregister): Split in ...
33014 (grub_term_unregister_input): ... this, and ...
33015 (grub_term_unregister_output): ... this.
33016 (grub_term_iterate): Split in ...
33017 (grub_term_iterate_input): ... this, and ...
33018 (grub_term_iterate_output): ... this.
33019
33020 * kern/term.c (grub_term_list): Split in ...
33021 (grub_term_list_input): ... this, and ...
33022 (grub_term_list_output): ... this. Update all users.
33023 (grub_cur_term): Split in ...
33024 (grub_cur_term_input): ... this, and ...
33025 (grub_cur_term_output): ... this. Update all users.
33026 (grub_term_set_current): Split in ...
33027 (grub_term_set_current_input): ... this, and ...
33028 (grub_term_set_current_output): ... this.
33029 (grub_term_get_current): Split in ...
33030 (grub_term_get_current_input): ... this, and ...
33031 (grub_term_get_current_output): ... this.
33032 (grub_term_register): Split in ...
33033 (grub_term_register_input): ... this, and ...
33034 (grub_term_register_output): ... this.
33035 (grub_term_unregister): Split in ...
33036 (grub_term_unregister_input): ... this, and ...
33037 (grub_term_unregister_output): ... this.
33038 (grub_term_iterate): Split in ...
33039 (grub_term_iterate_input): ... this, and ...
33040 (grub_term_iterate_output): ... this.
33041
33042 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
33043 a check for input and one for output (and only attempt to get keys
33044 from user when input works).
33045
33046 * util/grub-probe.c (grub_term_get_current): Split in ...
33047 (grub_term_get_current_input): ... this, and ...
33048 (grub_term_get_current_output): ... this.
33049 * util/grub-fstest.c: Likewise.
33050 * util/i386/pc/grub-setup.c: Likewise.
33051 * util/grub-editenv.c: Likewise.
33052
33053 Portability adjustments:
33054
33055 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
33056 `term/i386/pc/at_keyboard.c'.
33057 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
33058 grub_keyboard_controller_init() (now handled by terminal .init).
33059 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
33060 grub_at_keyboard_init().
33061 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
33062 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
33063 at_keyboard.mod via input terminal interface).
33064 * include/grub/i386/coreboot/console.h: Convert into a stub for
33065 `<grub/i386/pc/console.h>'.
33066
33067 Migrate full terminals to new API:
33068
33069 * term/efi/console.c (grub_console_term): Split into ...
33070 (grub_console_term_input): ... this, and ...
33071 (grub_console_term_output): ... this. Update all users.
33072 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
33073 (grub_ofconsole_init): Split into ...
33074 (grub_ofconsole_init_input): ... this, and ...
33075 (grub_ofconsole_init_output): ... this.
33076 (grub_ofconsole_term): Split into ...
33077 (grub_ofconsole_term_input): ... this, and ...
33078 (grub_ofconsole_term_output): ... this. Update all users.
33079 * term/i386/pc/serial.c (grub_serial_term): Split into ...
33080 (grub_serial_term_input): ... this, and ...
33081 (grub_serial_term_output): ... this. Update all users.
33082 * term/i386/pc/console.c (grub_console_term): Split into ...
33083 (grub_console_term_input): ... this, and ...
33084 (grub_console_term_output): ... this. Update all users.
33085 (grub_console_term_input): Only enable it on PC/BIOS platform.
33086 (grub_console_init): Remove grub_keyboard_controller_init() call.
33087
33088 Migrate input terminals to new API:
33089
33090 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
33091 `i386' and `i386/pc' to enable build on x86_64 (this driver is
33092 i386-specific anyway).
33093 (grub_console_checkkey): Rename to ...
33094 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
33095 users.
33096 (grub_keyboard_controller_orig): New variable.
33097 (grub_console_getkey): Rename to ...
33098 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
33099 users.
33100 (grub_keyboard_controller_init): Static-ize. Save original
33101 controller value so that it can be restored ...
33102 (grub_keyboard_controller_fini): ... here (new function).
33103 (grub_at_keyboard_term): New structure.
33104 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
33105 functions.
33106
33107 Migrate output terminals to new API:
33108
33109 * term/i386/pc/vga.c (grub_vga_term): Change type to
33110 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33111 members. Update all users.
33112 * term/gfxterm.c (grub_video_term): Change type to
33113 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33114 members. Update all users.
33115 * include/grub/i386/pc/console.h (grub_console_checkkey)
33116 (grub_console_getkey): Do not export (no longer needed by gfxterm,
33117 etc).
33118
33119 Migrate `terminal' command and userland tools to new API:
33120
33121 * commands/terminal.c (grub_cmd_terminal): Split into ...
33122 (grub_cmd_terminal_input): ... this, and ...
33123 (grub_cmd_terminal_output): ... this.
33124 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
33125 `terminal_input' and `terminal_output'.
33126 * util/grub.d/00_header.in: Adjust `terminal' calls to new
33127 `terminal_input' / `terminal_output' API.
33128 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
33129 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
33130 provided ${GRUB_TERMINAL}, convert it).
33131
96e5d876 331322008-11-04 Robert Millan <rmh@aybabtu.com>
33133
33134 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
33135 for FreeBSD.
33136 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
33137
556f3775 331382008-11-03 Bean <bean123ch@gmail.com>
33139
33140 * kern/elf.c (grub_elf32_load): Revert to previous code.
33141 (grub_elf64_load): Likewise.
33142
33143 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
33144
926b9823 331452008-11-01 Robert Millan <rmh@aybabtu.com>
33146
33147 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
33148 (TARGET_CPPFLAGS): Likewise.
33149 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
33150
1432e958 331512008-11-01 Carles Pina i Estany <carles@pina.cat>
33152
33153 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
33154
dba3f844 331552008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 33156
33157 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
33158 addition of objects until the code is not going to be able to fail.
33159
dba3f844 331602008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 33161
33162 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
33163 (add a missing NULL check, and correct them by moving the pointer
33164 operations after the actual check).
33165
7ab28c21 331662008-10-29 Robert Millan <rmh@aybabtu.com>
33167
33168 * util/i386/pc/grub-install.in: Handle empty string as output from
33169 make_system_path_relative_to_its_root().
33170
1b7748eb 331712008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
33172
33173 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
33174 circular metadata worst case scenario. If the metadata is circular
33175 then copy the wrap in place.
33176 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
33177 project lib/format_text/layout.h
33178 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
33179
c9618ab2 331802008-10-03 Felix Zielcke <fzielcke@z-51.de>
33181
7a36edca 33182 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 33183
bf981c62 331842008-10-03 Felix Zielcke <fzielcke@z-51.de>
33185
33186 * util/update-grub_lib.in: Mention filename in warning message.
33187
6d994591 331882008-09-29 Felix Zielcke <fzielcke@z-51.de>
33189
33190 * NEWS: Update for rename of update-grub to grub-mkconfig.
33191
18ade780 331922008-09-29 Felix Zielcke <fzielcke@z-51.de>
33193
33194 * util/update-grub_lib.in: Copy to ...
33195 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 33196 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 33197 * util/update-grub.in: Rename to ...
33198 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
33199 option. Add `--output' option to allow users to specify the generated
33200 configuration file. Default to stdout.
33201 (update_grub_dir): Rename to ...
33202 (grub_mkconfig_dir): ... this.
33203 (grub_cfg): Default to an empty string.
33204 * conf/common.rmk (update-grub): Rename to ...
33205 (grub-mkconfig): ... this.
33206 (update-grub_lib): Copy to ...
33207 (grub-mkconfig_lib): ... this.
33208 (update-grub_SCRIPTS): Copy to ...
33209 (grub-mkconfig_SCRIPTS): ... this. Update all users.
33210 (update-grub_DATA): Rename to ...
33211 (grub-mkconfig_DATA): ... this.
33212
556ce6ac 332132008-09-28 Robert Millan <rmh@aybabtu.com>
33214
33215 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
33216 to `modified'. Add the real `created' field.
33217 (grub_iso9660_uuid): Use `modified' rather than `created' for
33218 constructing the UUID.
33219
332202008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 33221
33222 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
33223 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
33224
92274e85 332252008-09-28 Bean <bean123ch@gmail.com>
33226
33227 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
33228 Thanks to Christian Franke for finding this bug.
33229
add6f17a 332302008-09-25 Robert Millan <rmh@aybabtu.com>
33231
33232 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
33233 instances of grub_util_get_disk_name() (see previous commit).
33234
d2a367b8 332352008-09-25 Robert Millan <rmh@aybabtu.com>
33236
33237 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
33238 `util/i386/get_disk_name.c'.
33239 * conf/i386-efi.rmk: Likewise.
33240 * conf/x86_64-efi.rmk: Likewise.
33241 * conf/i386-coreboot.rmk: Likewise.
33242 * conf/i386-ieee1275.rmk: Likewise.
33243 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
33244 `util/ieee1275/get_disk_name.c'.
33245 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
33246 * util/ieee1275/get_disk_name.c: Remove file.
33247 * util/i386/get_disk_name.c: Remove file.
33248 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
33249 "hd%d" for device.map entries, rather than using
33250 grub_util_get_disk_name().
33251
81a06771 332522008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 33253
33254 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
33255 warning.
33256 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
33257
5a004279 332582008-09-24 Carles Pina i Estany <carles@pina.cat>
33259
33260 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
33261 Changed to 0x5100.
33262 (GRUB_TERM_PPAGE): Changed to 0x4900.
33263
397093d3 332642008-09-24 Robert Millan <rmh@aybabtu.com>
33265
33266 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
33267 macros (they were i386-pc specific).
33268 * include/grub/sparc64/ieee1275/console.h: Likewise.
33269 * include/grub/efi/console.h: Likewise.
33270
a91b6c7c 332712008-09-22 Bean <bean123ch@gmail.com>
33272
33273 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
33274 resident and in attribute list.
33275
33276 * include/grub/ntfs.h (BMP_LEN): Removed.
33277
c40fd116 332782008-09-22 Bean <bean123ch@gmail.com>
33279
81a06771 33280 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 33281 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
33282
33283 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
33284 error occurs, as grub_disk_open will call grub_disk_close, which will
33285 call p->close (scsi).
33286
81a06771 332872008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 33288
33289 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
33290 (AC_PREREQ): Bumped to 2.59.
33291 (AC_TRY_COMPILE): Replace obsolete macro with ...
33292 (AC_COMPILE_IFELSE): ... this.
33293 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
33294 (AC_LINK_IFELSE): ... this.
33295
5dc43410 332962008-09-21 Felix Zielcke <fzielcke@z-51.de>
33297
33298 * autogen.sh: Add a call to `gendistlist.sh'.
33299
9035dce4 333002008-09-19 Christian Franke <franke@computer.org>
33301
33302 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
33303 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
33304 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
33305 Export __enable_execute_stack() to modules.
33306 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
33307 New function.
33308
7fd75377 333092008-09-09 Felix Zielcke <fzielcke@z-51.de>
33310
040030b3 33311 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
33312 Sort the list.
33313
333142008-09-09 Felix Zielcke <fzielcke@z-51.de>
33315
33316 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 33317 #include <grub/util/hostdisk.h>.
33318
89d5ffcf 333192008-09-08 Robert Millan <rmh@aybabtu.com>
33320
33321 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
33322 segments when their filesz is zero (grub_file_read() interprets
81a06771 33323 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 33324 Use `lowest_segment' rather than 0 for calculating the current
33325 segment load address.
33326
40da438f 333272008-09-08 Robert Millan <rmh@aybabtu.com>
33328
33329 * util/hostdisk.c (open_device): Replace a grub_util_info() call
33330 with grub_dprintf("hostdisk", ...), as it was so verbose that it
33331 clobbered useful information.
33332
ddbf5556 333332008-09-08 Robert Millan <rmh@aybabtu.com>
33334
33335 * include/grub/util/biosdisk.h: Move to ...
33336 * include/grub/util/hostdisk.h: ... here. Update all users.
33337 * util/biosdisk.c: Move to ...
33338 * util/hostdisk.c: ... here. Update all users.
33339
783d0f48 333402008-09-07 Robert Millan <rmh@aybabtu.com>
33341
33342 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
33343 variables.
33344 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
33345 and length can be stored directly in the `mbi->mmap_addr' and
33346 `mbi->mmap_length' struct fields.
33347
548e2ea5 333482008-09-07 Robert Millan <rmh@aybabtu.com>
33349
33350 * conf/i386.rmk: New file. Provides declaration for building
33351 `cpuid.mod'.
33352 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
33353 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
33354 variables.
33355 Include `conf/i386.mk'.
33356 * conf/i386-efi.rmk: Likewise.
33357 * conf/x86_64-efi.rmk: Likewise.
33358 * conf/i386-coreboot.rmk: Likewise.
33359 * conf/i386-ieee1275.rmk: Likewise.
33360
0ea85a37 333612008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
33362
33363 Based on patch created by Colin D Bennett <colin@gibibit.com>.
33364 Adds optimization support for BGR based modes.
33365
33366 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
33367 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
33368 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
33369 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
33370 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
33371 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
33372 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
33373 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
33374 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
33375 (grub_video_i386_vbeblit_index_index): Likewise.
33376 (grub_video_i386_vbeblit_replace_directN): Added.
33377 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
33378 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
33379 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
33380 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
33381 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
33382 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 33383 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 33384 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
33385 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
33386 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
33387 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
33388 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
33389 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
33390
33391 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
33392 (grub_video_i386_vbefill_R8G8B8): Likewise.
33393 (grub_video_i386_vbefill_index): Likewise.
33394 (grub_video_i386_vbefill_direct32): Added.
33395 (grub_video_i386_vbefill_direct24): Likewise.
33396 (grub_video_i386_vbefill_direct16): Likewise.
33397 (grub_video_i386_vbefill_direct8): Likewise.
33398
81a06771 33399 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 33400 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
33401 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
33402 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
33403 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
33404 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 33405
0ea85a37 33406 * video/video.c (grub_video_get_blit_format): Updated to use new
33407 blit formats. Added handling for 16 bit color modes.
81a06771 33408
33409 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 33410 fillers.
33411 (common_blitter): Updated to use new blitters.
33412
33413 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
33414 Removed.
33415 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
33416 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
33417 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
33418 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
33419 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
33420 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
33421 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
33422 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
33423 (grub_video_i386_vbeblit_index_index): Likewise.
33424 (grub_video_i386_vbeblit_replace_directN): Added.
33425 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
33426 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
33427 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
33428 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
33429 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
33430 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
33431 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
33432 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
33433 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
33434 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
33435 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
33436 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
33437 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 33438
0ea85a37 33439 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
33440 (grub_video_i386_vbefill_R8G8B8): Likewise.
33441 (grub_video_i386_vbefill_index): Likewise.
33442 (grub_video_i386_vbefill_direct32): Added.
33443 (grub_video_i386_vbefill_direct24): Likewise.
33444 (grub_video_i386_vbefill_direct16): Likewise.
33445 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 33446
0ea85a37 33447 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
33448 types.
81a06771 33449
0ea85a37 33450 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
33451 types.
81a06771 33452
0ea85a37 33453 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
33454 blitter types.
81a06771 33455
0ea85a37 33456 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
33457 types.
33458
e8a83df6 334592008-09-06 Felix Zielcke <fzielcke@z-51.de>
33460
33461 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
33462 RAID level 1.
33463
6bcd8ee5 334642008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 33465
6bcd8ee5 33466 * fs/iso9660.c (grub_iso9660_date): New structure.
33467 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
33468 (grub_iso9660_uuid): New function.
c375ae58 33469
59261157 334702008-09-05 Bean <bean123ch@gmail.com>
33471
33472 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
33473
33474 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
33475 insensitive bit for names in Win32 and Win32 & DOS namespace.
33476
33477 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
33478
33479 * include/grub/types.h (LONG_MAX): Likewise.
33480
58b6645a 334812008-09-04 Felix Zielcke <fzielcke@z-51.de>
33482
4ee55921 33483 * util/getroot.c: Include <config.h>.
33484 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
33485 add support for /dev/md/N devices and handle LVM double dash escaping.
33486
334872008-09-04 Felix Zielcke <fzielcke@z-51.de>
33488
33489 * config.guess: Update to latest version from config git.
33490 * config.sub: Likewise.
58b6645a 33491
9124f65d 334922008-09-03 Robert Millan <rmh@aybabtu.com>
33493
33494 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
33495 `disk->total_sectors'.
33496
81a06771 334972008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 33498
33499 * include/grub/normal.h: Fixed incorrect comment for
33500 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
33501
81a06771 335022008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 33503
33504 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
33505 values with defines.
33506
33507 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
33508 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
33509 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
33510 (GRUB_VBE_MODEATTR_COLOR): Likewise.
33511 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
33512 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
33513 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
33514 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
33515 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
33516 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
33517 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
33518 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
33519 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
33520 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
33521 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
33522 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
33523 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
33524 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
33525 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
33526
93d5cbf8 335272008-08-31 Robert Millan <rmh@aybabtu.com>
33528
33529 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
33530 declaration.
33531 (grub_multiboot): Fix a few warnings.
33532
21751d50 335332008-08-31 Robert Millan <rmh@aybabtu.com>
33534
33535 * loader/i386/pc/multiboot.c: Update comment not to say that
33536 boot_device support is unimplemented.
33537
e27a75c5 335382008-08-31 Robert Millan <rmh@aybabtu.com>
33539
33540 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
33541 or memory map support are unimplemented.
33542
81a06771 335432008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 33544
33545 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
33546
81a06771 335472008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 33548
33549 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
33550 total video memory in 'vbeinfo' output; show color format details for
33551 each video mode.
33552
7c5d8d95 335532008-08-30 Pavel Roskin <proski@gnu.org>
33554
33555 * util/genmoddep.c: Remove for real this time.
33556 * DISTLIST: Remove util/genmoddep.c.
33557
4cebd25a 335582008-08-30 Robert Millan <rmh@aybabtu.com>
33559
33560 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
33561 as required by Multiboot spec (it was already 4-byte aligned, but
33562 only by chance).
33563
b497a269 335642008-08-29 Pavel Roskin <proski@gnu.org>
33565
e3925185 33566 * kern/powerpc/ieee1275/crt0.S: Rename to ...
33567 * kern/powerpc/ieee1275/startup.S: ... this.
33568 * conf/powerpc-ieee1275.rmk: Adjust for the above.
33569 * DISTLIST: Likewise.
33570
b497a269 33571 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
33572 grub/cpu/kernel.h. Add start label for consistency with other
33573 platforms. Add grub_prefix immediately after start. Add jump
33574 to the code after grub_prefix.
33575 * include/grub/powerpc/kernel.h: Provide valid values for
33576 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
33577
6e5a42fe 335782008-08-29 Bean <bean123ch@gmail.com>
33579
33580 * configure.ac: Change host_os to cygwin for mingw.
33581 (asprintf): New check for function.
33582
33583 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
33584 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
33585
33586 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 33587 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 33588 sync, sleep and grub_util_get_disk_size for mingw.
33589
33590 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
33591 to get size in mingw.
33592 (open_device): Use flag O_BINARY if it's defined.
33593 (find_root_device): Add dummy code for mingw.
33594
33595 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
33596 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
33597 (get_scsi_disk_name): Return 0 for mingw.
33598
33599 * util/hostfs.c: #include <grub/util/misc.h>.
33600 (grub_hostfs_open): Use "rb" flag to open file, use
33601 grub_util_get_disk_size to get disk size for mingw.
33602
33603 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
33604 (asprintf): New function if HAVE_ASPRINTF is not set.
33605 (sync): New function for mingw.
33606 (sleep): Likewise.
33607 (grub_util_get_disk_size): Likewise.
33608
ab3f2673 336092008-08-28 Pavel Roskin <proski@gnu.org>
33610
33611 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
33612 kern/time.c.
33613
1c282483 336142008-08-28 Robert Millan <rmh@aybabtu.com>
33615
33616 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
33617
678e849c 336182008-08-28 Robert Millan <rmh@aybabtu.com>
33619
33620 Change find_grub_drive() syntax so it doesn't prevent it from
33621 detecting NULL names as errors.
33622
33623 * util/biosdisk.c (find_grub_drive): Move free slot search code
33624 from here ...
33625 (find_free_slot): ... to here.
33626 (read_device_map): Use find_free_slot() to search for free slots.
33627
965c75ca 336282008-08-27 Marco Gerards <marco@gnu.org>
33629
33630 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
33631 (scsi_mod_SOURCES): New variable.
33632 (scsi_mod_CFLAGS): Likewise
33633 (scsi_mod_LDFLAGS): Likewise.
33634
33635 * disk/scsi.c: New file.
33636
33637 * include/grub/scsi.h: Likewise.
33638
33639 * include/grub/scsicmd.h: Likewise.
33640
33641 * disk/ata.c: Include <grub/scsi.h>.
33642 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
33643 instead.
33644 (grub_ata_iterate): Skip ATAPI devices.
33645 (grub_ata_open): Only handle ATAPI devices.
33646 (struct grub_atapi_read): Removed.
33647 (grub_atapi_readsector): Likewise.
33648 (grub_ata_read): No longer handle ATAPI devices.
33649 (grub_ata_write): Likewise.
33650 (grub_atapi_iterate): New function.
33651 (grub_atapi_read): Likewise.
33652 (grub_atapi_write): Likewise.
33653 (grub_atapi_open): Likewise.
33654 (grub_atapi_close): Likewise.
33655 (grub_atapi_dev): New variable.
33656 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
33657 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
33658
33659 * include/grub/disk.h (enum grub_disk_dev_id): Add
33660 `GRUB_DISK_DEVICE_SCSI_ID'.
33661
c07ae501 336622008-08-26 Robert Millan <rmh@aybabtu.com>
33663
33664 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
33665 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
33666 descriptive.
33667
5ed20adc 336682008-08-23 Bean <bean123ch@gmail.com>
33669
33670 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
33671 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
33672 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
33673 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
33674 dm_nv.mod.
33675 (raid5rec_mod_SOURCES): New macro.
33676 (raid5rec_mod_CFLAGS): Likewise.
33677 (raid5rec_mod_LDFLAGS): Likewise.
33678 (raid6rec_mod_SOURCES): Likewise.
33679 (raid6rec_mod_CFLAGS): Likewise.
33680 (raid6rec_mod_LDFLAGS): Likewise.
33681 (mdraid_mod_SOURCES): Likewise.
33682 (mdraid_mod_CFLAGS): Likewise.
33683 (mdraid_mod_LDFLAGS): Likewise.
33684 (dm_nv_mod_SOURCES): Likewise.
33685 (dm_nv_mod_CFLAGS): Likewise.
33686 (dm_nv_mod_LDFLAGS): Likewise.
33687
33688 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
33689 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
33690 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
33691
33692 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
33693 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
33694
33695 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33696
33697 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33698
33699 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33700
33701 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33702
33703 * disk/raid5_recover.c: New file.
33704
33705 * disk/raid6_recover.c: Likewise.
33706
33707 * disk/mdraid_linux.c: Likewise.
33708
33709 * disk/dmraid_nvidia.c: Likewise.
33710
33711 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
33712 ULONG_MAX.
33713
33714 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
33715 calculate the size of raid device.
33716 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
33717 different layout of raid5.
33718 (grub_raid_scan_device): Remove code specific to mdraid.
33719 (grub_raid_list): New variable.
33720 (free_array): New function.
33721 (grub_raid_register): Likewise.
33722 (grub_raid_unregister): Likewise.
33723 (grub_raid_rescan): Likewise.
33724 (GRUB_MOD_INIT): Don't iterate device here.
33725 (GRUB_MOD_FINI): Use free_array to release resource.
33726
33727 * include/grub/raid.h: Remove macro and structure specific to mdraid.
33728 (grub_raid5_recover_func_t): New function variable type.
33729 (grub_raid6_recover_func_t): Likewise.
33730 (grub_raid5_recover_func): New variable.
33731 (grub_raid6_recover_func): Likewise.
33732 (grub_raid_register): New function.
33733 (grub_raid_unregister): Likewise.
33734 (grub_raid_rescan): Likewise.
33735 (grub_raid_block_xor): Likewise.
33736
33737 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
33738 (CMD_CRC): New macro.
33739 (part): Removed.
33740 (read_file): Handle device as well as file.
33741 (cmd_crc): New function.
33742 (fstest): Handle multiple disks.
33743 (options): Remove part, raw and long, add root and diskcount.
33744 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 33745 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 33746 add handling for the new options, support multiple disks.
33747
33748 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
33749
29c18915 337502008-08-23 Bean <bean123ch@gmail.com>
33751
33752 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
33753
33754 * genfslist.sh: Ignore kernel.mod.
33755
33756 * genpartmaplist.sh: Likewise.
33757
8415f261 337582008-08-23 Robert Millan <rmh@aybabtu.com>
33759
33760 * util/getroot.c (find_root_device): Skip anything that starts with
33761 a dot, not just directories. This avoids things like /dev/.tmp.md0.
33762
d5a7dc5b 337632008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 33764
d5a7dc5b 33765 * util/update-grub.in (GRUB_GFXMODE): Export variable.
33766 * util/grub.d/00_header.in: Allow the administrator to change default
33767 gfxmode via ${GRUB_GFXMODE}.
33768
380cfbb4 337692008-08-21 Felix Zielcke <fzielcke@z-51.de>
33770
33771 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
33772
c9baafe7 337732008-08-21 Robert Millan <rmh@aybabtu.com>
33774
33775 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
33776 loader.
33777 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
33778 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
33779
e290bef2 337802008-08-20 Carles Pina i Estany <carles@pina.cat>
33781
33782 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
33783 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
33784
f9dbfc96 337852008-08-19 Robert Millan <rmh@aybabtu.com>
33786
33787 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
33788 (struct grub_virtual_screen): Remove `cursor_color'.
33789 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
33790 initialization.
33791 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
33792
dd6bd6ab 337932008-08-18 Robert Millan <rmh@aybabtu.com>
33794
33795 Unify (identical) linux_normal.c files.
33796 * loader/i386/efi/linux_normal.c: Move from here ...
33797 * loader/linux_normal.c: ... to here. Update all users.
33798 * loader/i386/pc/linux_normal.c: Delete. Update all users.
33799 * loader/i386/ieee1275/linux_normal.c: Likewise.
33800
7f42f83e 338012008-08-18 Robert Millan <rmh@aybabtu.com>
33802
33803 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
33804 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
33805 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
33806 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
33807 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
33808 New macros.
33809 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
33810 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
33811 (GRUB_LINUX_CL_END_OFFSET): ... to here.
33812 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
33813 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
33814 (GRUB_EFI_CL_END_OFFSET): Rename to ...
33815 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
33816 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
33817 Initialize `params->video_cursor_x' and `params->video_cursor_y'
33818 portably using grub_getxy().
33819 Replace `-EFI' with `-bzImage' in boot message.
33820
38487ddb 338212008-08-17 Robert Millan <rmh@aybabtu.com>
33822
33823 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
33824
deceb3ec 338252008-08-17 Robert Millan <rmh@aybabtu.com>
33826
33827 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
33828
33829 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
33830 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
33831 (grub_machine_mmap_iterate): New function declaration.
33832 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
33833 structure.
33834 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
33835 macros.
33836
33837 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
33838 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
33839 Move e820 parsing from here ...
33840 * kern/i386/pc/mmap.c: New file.
33841 (grub_machine_mmap_iterate): ... to here.
33842
33843 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
33844 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
33845 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
33846 (grub_available_iterate): Redeclare to return `void', and redeclare
33847 its hook to use grub_uint64_t as addr and size parameters, and rename
33848 to ...
33849 (grub_machine_mmap_iterate): ... this. Update all users.
33850
33851 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
33852 to make it more readable. Rename to ...
33853 (grub_machine_mmap_iterate): ... this.
33854
33855 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
33856 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
33857 (grub_multiboot): Allocate an extra region after the payload, and fill
33858 it with a Multiboot memory map. Adjust a.out loader to calculate size
33859 with the extra space.
33860 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
33861 with the extra space.
33862
f8aa0f43 338632008-08-17 Carles Pina i Estany <carles@pina.cat>
33864
9807deb9 33865 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 33866
605f5bb6 338672008-08-17 Felix Zielcke <fzielcke@z-51.de>
33868
33869 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
33870 mdate-sh to the list `find' searches for.
33871 * DISTLIST: Regenerated.
33872
210db6c6 338732008-08-16 Felix Zielcke <fzielcke@z-51.de>
33874
33875 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
33876 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 33877 genmoddep.awk, gensymlist.sh.in.
33878 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 33879 * DISTLIST: Regenerated.
48cdbfd4 33880 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 33881
1082b929 338822008-08-16 Robert Millan <rmh@aybabtu.com>
33883
33884 * disk/raid.c (grub_raid_init): Handle/report errors set by
33885 grub_device_iterate().
33886 * disk/lvm.c (grub_lvm_init): Likewise.
33887
42ce5170 338882008-08-15 Bean <bean123ch@gmail.com>
33889
33890 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33891 and datehook.mod.
33892 (datetime_mod_SOURCES): New macro.
33893 (datetime_mod_CFLAGS): Likewise.
33894 (datetime_mod_LDFLAGS): Likewise.
33895 (date_mod_SOURCES): Likewise.
33896 (date_mod_CFLAGS): Likewise.
33897 (date_mod_LDFLAGS): Likewise.
33898 (datehook_mod_SOURCES): Likewise.
33899 (datehook_mod_CFLAGS): Likewise.
33900 (datehook_mod_LDFLAGS): Likewise.
33901
33902 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33903 and datehook.mod.
33904 (datetime_mod_SOURCES): New macro.
33905 (datetime_mod_CFLAGS): Likewise.
33906 (datetime_mod_LDFLAGS): Likewise.
33907 (date_mod_SOURCES): Likewise.
33908 (date_mod_CFLAGS): Likewise.
33909 (date_mod_LDFLAGS): Likewise.
33910 (datehook_mod_SOURCES): Likewise.
33911 (datehook_mod_CFLAGS): Likewise.
33912 (datehook_mod_LDFLAGS): Likewise.
33913
33914 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33915 and datehook.mod.
33916 (datetime_mod_SOURCES): New macro.
33917 (datetime_mod_CFLAGS): Likewise.
33918 (datetime_mod_LDFLAGS): Likewise.
33919 (date_mod_SOURCES): Likewise.
33920 (date_mod_CFLAGS): Likewise.
33921 (date_mod_LDFLAGS): Likewise.
33922 (datehook_mod_SOURCES): Likewise.
33923 (datehook_mod_CFLAGS): Likewise.
33924 (datehook_mod_LDFLAGS): Likewise.
33925
33926 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33927 and datehook.mod.
33928 (datetime_mod_SOURCES): New macro.
33929 (datetime_mod_CFLAGS): Likewise.
33930 (datetime_mod_LDFLAGS): Likewise.
33931 (date_mod_SOURCES): Likewise.
33932 (date_mod_CFLAGS): Likewise.
33933 (date_mod_LDFLAGS): Likewise.
33934 (datehook_mod_SOURCES): Likewise.
33935 (datehook_mod_CFLAGS): Likewise.
33936 (datehook_mod_LDFLAGS): Likewise.
33937
33938 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33939 and datehook.mod.
33940 (datetime_mod_SOURCES): New macro.
33941 (datetime_mod_CFLAGS): Likewise.
33942 (datetime_mod_LDFLAGS): Likewise.
33943 (date_mod_SOURCES): Likewise.
33944 (date_mod_CFLAGS): Likewise.
33945 (date_mod_LDFLAGS): Likewise.
33946 (datehook_mod_SOURCES): Likewise.
33947 (datehook_mod_CFLAGS): Likewise.
33948 (datehook_mod_LDFLAGS): Likewise.
33949
33950 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
33951
33952 * commands/date.c: New file.
33953
33954 * hook/datehook.c: Likewise.
33955
33956 * include/grub/lib/datetime.h: Likewise.
33957
33958 * include/grub/i386/cmos.h: Likewise.
33959
33960 * lib/datetime.c: Likewise.
33961
33962 * lib/i386/datetime.c: Likewise.
33963
33964 * lib/efi/datetime.c: Likewise.
33965
0e9242da 339662008-08-14 Robert Millan <rmh@aybabtu.com>
33967
33968 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
33969 (grub_mkelfimage_SOURCES): New variable.
33970 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
33971
33972 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
33973 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
33974 * conf/powerpc-ieee1275.rmk: Likewise.
33975 * conf/i386-ieee1275.rmk: Likewise.
33976
33977 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
33978 * kern/i386/coreboot/init.c: Likewise.
33979
33980 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
33981 with `<grub/cpu/kernel.h>'.
33982 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
33983 to ...
33984 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
33985 * kern/i386/coreboot/startup.S: Likewise.
33986
33987 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
33988 (GRUB_MOD_GAP): Remove.
33989 * include/grub/powerpc/kernel.h: New file.
33990 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
33991 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
33992 * include/grub/i386/kernel.h: New file.
33993 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
33994 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
33995 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
33996
33997 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
33998 `grub-mkelfimage'.
33999 Use --directory when invoking grub_mkimage.
34000
34001 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
34002 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
34003 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
34004 and GRUB_KERNEL_CPU_PREFIX.
34005
b86408f8 340062008-08-14 Felix Zielcke <fzielcke@z-51.de>
34007
d5e619ca 34008 * include/grub/err.h (grub_err_printf): New function prototype.
34009 * util/misc.c (grub_err_printf): New function.
34010 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
34011 grub_printf.
34012 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 34013
7161f0e0 340142008-08-13 Robert Millan <rmh@aybabtu.com>
34015
34016 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
34017
a1967522 340182008-08-13 Robert Millan <rmh@aybabtu.com>
34019
34020 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
34021 boot entry.
34022
371458b5 340232008-08-12 Robert Millan <rmh@aybabtu.com>
34024
34025 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
34026 of the relocation code from here ...
34027 (grub_multiboot): ... to here.
34028 (forward_relocator, backward_relocator): Move from here ...
34029 * kern/i386/loader.S (grub_multiboot_forward_relocator)
34030 (grub_multiboot_backward_relocator): ... to here.
34031 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
34032 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
34033 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
34034 (grub_multiboot_forward_relocator_end)
34035 (grub_multiboot_backward_relocator)
34036 (grub_multiboot_backward_relocator_end): New variables.
34037
05f9452b 340382008-08-12 Bean <bean123ch@gmail.com>
34039
34040 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
34041
20024ab0 340422008-08-11 Robert Millan <rmh@aybabtu.com>
34043
34044 * kern/i386/linuxbios/startup.S: Move from here ...
34045 * kern/i386/coreboot/startup.S: ... to here.
34046
34047 * kern/i386/linuxbios/init.c: Move from here ...
34048 * kern/i386/coreboot/init.c: ... to here.
34049
34050 * kern/i386/linuxbios/table.c: Move from here ...
34051 * kern/i386/coreboot/mmap.c: ... to here.
34052
34053 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
34054
e352e9cd 340552008-08-11 Robert Millan <rmh@aybabtu.com>
34056
34057 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
34058 errors. Leave it to the upper layer to handle them.
34059
2d05bc6a 340602008-08-09 Christian Franke <franke@computer.org>
34061
34062 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
34063 * conf/common.rmk: Install `grub-pe2elf' only if requested.
34064 Install `grub.d/10_windows' only on Cygwin.
34065 * configure.ac: Add subst of `target_os'.
34066 Check `target_os' also before setting TARGET_OBJ2ELF.
34067 Add `--enable-grub-pe2elf'.
34068
042bd419 340692008-08-08 Robert Millan <rmh@aybabtu.com>
34070
34071 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
34072 (grub_last_time): Change type to grub_uint64_t.
34073 (grub_disk_open): Migrate code from to using grub_get_time_ms().
34074 (grub_disk_close): Likewise.
34075
34076 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
34077 (run_menu): Migrate code from to using grub_get_time_ms().
34078
34079 * util/misc.c (grub_get_time_ms): New function.
34080
7f280db5 340812008-08-08 Marco Gerards <marco@gnu.org>
34082
34083 * disk/ata.c (grub_ata_regget): Change return type to
34084 `grub_uint8_t'.
34085 (grub_ata_regget2): Likewise.
34086 (grub_ata_wait_status): New function.
34087 (grub_ata_wait_busy): Removed function, updated all users to use
34088 `grub_ata_wait_status'.
34089 (grub_ata_wait_drq): Likewise.
34090 (grub_ata_cmd): New function.
34091 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
34092 error handling.
34093 (grub_ata_pio_write): Add error handling.
34094 (grub_atapi_identify): Likewise.
34095 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
34096 handling.
34097 (grub_ata_identify): Use `grub_ata_cmd' and improve error
34098 handling. Actually use the detected registers. Reorder the
34099 detection logic such that it is easier to read.
34100 (grub_ata_pciinit): Do not assign the same ID to each controller.
34101 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
34102 handling.
34103 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
34104
34105 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
34106
1fbc5e66 341072008-08-08 Marco Gerards <marco@gnu.org>
34108
34109 * NEWS: Update.
34110
819ce6c0 341112008-08-07 Bean <bean123ch@gmail.com>
34112
34113 * include/grub/x86_64/pci.h: New file.
34114
5c41d44d 341152008-08-07 Christian Franke <franke@computer.org>
34116
34117 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
34118 (TIMER2_GATE): Likewise.
34119 (grub_pit_wait): Add enable/disable of the timer2 gate
34120 bit of port 0x61. This fixes a possible infinite loop.
34121
5ebc275d 341222008-08-07 Bean <bean123ch@gmail.com>
34123
34124 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
34125 kern/i386/tsc.c and kern/i386/pit.c.
34126
34127 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
34128 x86_64 platform.
34129
34130 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
34131 <grub/i386/tsc.h>.
34132
34133 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
34134
e383b3d0 341352008-08-07 Bean <bean123ch@gmail.com>
34136
34137 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
34138
34139 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
34140
34141 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
34142 multiple inclusion. Add #include <grub/types.h>.
34143
1cbb58ac 341442008-08-06 Christian Franke <franke@computer.org>
34145
34146 * conf/common.rmk: Build and install `10_windows'.
34147 * util/grub.d/10_windows.in: New script.
34148
337f5a1e 341492008-08-06 Pavel Roskin <proski@gnu.org>
34150
34151 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
34152
057bc4ac 341532008-08-06 Robert Millan <rmh@aybabtu.com>
34154
34155 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
34156 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
34157
2b99f123 341582008-08-06 Bean <bean123ch@gmail.com>
34159
34160 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
34161 (grub_pxefs_fs_int): Remove dummy definition.
34162 (grub_pxefs_open): Use data->block_size to store the current block
34163 size setting.
34164 (grub_pxefs_read): Use block size stored in data->block_size. As the
34165 value of grub_pxe_blksize can be changed after the file is opened.
34166
9f0234cb 341672008-08-06 Bean <bean123ch@gmail.com>
34168
34169 * fs/i386/pc/pxe.c (curr_file): new variable.
34170 (grub_pxefs_open): Simply the handling of pxe file system. Don't
34171 require the dummy internal file system anymore.
34172 (grub_pxefs_read): Removed.
34173 (grub_pxefs_close): Likewise.
34174 (grub_pxefs_fs_int): Likewise.
34175 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
34176 connection when we switch file.
34177 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
34178
a55d42e0 341792008-08-06 Robert Millan <rmh@aybabtu.com>
34180
34181 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
34182 `halt.mod'.
34183 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
34184 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
34185
34186 * kern/i386/halt.c: New file.
34187 * kern/i386/reboot.c: Likewise.
34188 * include/grub/i386/reboot.h: Likewise.
34189 * include/grub/i386/halt.h: Likewise.
34190
34191 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
34192 Include `<grub/cpu/halt.h>'.
34193 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
34194 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
34195
34196 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
34197 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
34198 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
34199 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
34200 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
34201 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
34202 from here ...
34203 * include/grub/i386/at_keyboard.h: ... to here.
34204
24371d26 342052008-08-05 Robert Millan <rmh@aybabtu.com>
34206
34207 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
34208 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
34209 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
34210 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
34211 `kern/generic/millisleep.c'.
34212
34213 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
34214 instead of grub_get_rtc().
34215 (grub_tsc_init): Initialize `tsc_boot_time'.
34216
34217 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
34218 (grub_machine_init): Use grub_tsc_init() rather than
34219 installing an RTC-based handler via grub_install_get_time_ms().
34220
34221 * kern/i386/pit.c: New file.
34222 * include/grub/i386/pit.h: Likewise.
34223
9e7007b3 342242008-08-05 Bean <bean123ch@gmail.com>
34225
34226 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
34227
34228 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
34229 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
34230 (pxe_mod_SOURCES): New macro.
34231 (pxe_mod_CFLAGS): Likewise.
34232 (pxe_mod_LDFLAGS): Likewise.
34233 (pxecmd_mod_SOURCES): Likewise.
34234 (pxecmd_mod_CFLAGS): Likewise.
34235 (pxecmd_mod_LDFLAGS): Likewise.
34236
34237 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
34238 (grub_pxe_call): Likewise.
34239
34240 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
34241
34242 * commands/i386/pc/pxecmd.c: New file.
34243
9f0234cb 34244 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 34245
34246 * include/grub/i386/pc/pxe.h: Likewise.
34247
6977d49f 342482008-08-05 Bean <bean123ch@gmail.com>
34249
34250 * util/console.c (grub_console_cur_color): New variable.
34251 (grub_console_standard_color): Likewise.
34252 (grub_console_normal_color): Likewise.
34253 (grub_console_highlight_color): Likewise.
34254 (color_map): Likewise.
34255 (use_color): Likewise.
34256 (NUM_COLORS): New macro.
34257 (grub_ncurses_setcolorstate): Handle color properly.
34258 (grub_ncurses_setcolor): Don't change color here, just remember the
34259 settings, color will be set in grub_ncurses_setcolorstate.
34260 (grub_ncurses_getcolor): New function.
34261 (grub_ncurses_init): Initialize color pairs.
34262 (grub_ncurses_term): New member grub_ncurses_getcolor.
34263
9c2ff3ee 342642008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 34265
9c2ff3ee 34266 High resolution timer support. Implemented for x86 CPUs using TSC.
34267 Extracted generic grub_millisleep() so it's linked in only as needed.
34268 This requires a Pentium compatible CPU; if the RDTSC instruction is
34269 not supported, then it falls back on the generic grub_get_time_ms()
34270 implementation that uses the machine's RTC.
34271
34272 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
34273 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
34274 `kern/generic/millisleep.c'.
34275
34276 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
34277 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
34278
34279 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
34280 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
34281
34282 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
34283
34284 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
34285 `kern/generic/millisleep.c'.
34286
34287 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
34288
34289 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
34290
34291 * kern/generic/rtc_get_time_ms.c: New file.
34292
34293 * kern/generic/millisleep.c: New file.
337f5a1e 34294
9c2ff3ee 34295 * kern/misc.c: Don't include
34296 <kern/time.h> anymore.
34297 (grub_millisleep_generic): Removed.
34298
34299 * commands/sleep.c (grub_interruptible_millisleep): Uses
34300 grub_get_time_ms() instead of grub_get_rtc().
34301
34302 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
34303 function.
34304 (grub_cpu_is_cpuid_supported): New inline function.
34305 (grub_cpu_is_tsc_supported): New inline function.
34306 (grub_tsc_init): New function prototype.
34307 (grub_tsc_get_time_ms): New function prototype.
34308
34309 * kern/i386/tsc.c (grub_get_time_ms): New file.
34310
34311 * include/grub/time.h: Include <grub/types.h.
34312 (grub_millisleep_generic): Removed.
34313 (grub_get_time_ms): New prototype.
34314 (grub_install_get_time_ms): New prototype.
34315 (grub_rtc_get_time_ms): New prototype.
34316
34317 * kern/time.c (grub_get_time_ms): New function.
34318 (grub_install_get_time_ms): New function.
34319
34320 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
34321 <grub/time.h> anymore.
34322 (grub_millisleep): Removed.
34323 (grub_machine_init): Call grub_tsc_init.
34324
34325 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
34326 get_time_ms() implementation.
34327
34328 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
34329 (ieee1275_get_time_ms): New function.
34330 (grub_machine_init): Install get_time_ms() implementation.
34331
34332 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
34333 (grub_machine_init): Call grub_tsc_init().
34334 (grub_millisleep): Removed.
bf06a93f 34335
9c2ff3ee 34336 * kern/ieee1275/init.c (grub_millisleep): Removed.
34337 (grub_machine_init): Install ieee1275_get_time_ms()
34338 implementation.
34339 (ieee1275_get_time_ms): New function.
34340 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
34341 real work.
34342
9ec92aaf 343432008-08-05 Marco Gerards <marco@gnu.org>
34344
34345 * disk/ata.c: Include <grub/pci.h>.
34346 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
34347 (grub_ata_initialize): Rewritten.
34348 (grub_ata_device_initialize): New function.
34349
8d23f507 343502008-08-04 Pavel Roskin <proski@gnu.org>
34351
34352 * kern/main.c: Include grub/mm.h.
34353
5e15ee3d 343542008-08-04 Robert Millan <rmh@aybabtu.com>
34355
34356 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
34357 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
34358 corruption problem).
34359
a9053f8f 343602008-08-04 Robert Millan <rmh@aybabtu.com>
34361
34362 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
34363 warnings introduced in my last commit.
34364
dd19c7d7 343652008-08-03 Robert Millan <rmh@aybabtu.com>
34366
34367 Make PCI available on all i386 architectures.
34368
34369 * include/grub/i386/pc/pci.h: Move from here ...
34370 * include/grub/i386/pci.h: ... to here.
34371
34372 * include/grub/i386/pc/pci.h: Remove.
34373 * include/grub/i386/efi/pci.h: Remove.
34374 * include/grub/x86_64/efi/pci.h: Remove.
34375
34376 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
34377 `<grub/cpu/pci.h>'.
34378
34379 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
34380 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
34381 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
34382
34383 * conf/i386-ieee1275.rmk: Likewise.
34384
e14a6184 343852008-08-03 Robert Millan <rmh@aybabtu.com>
34386
34387 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
34388 (grub_console_setcursor): Make it possible to set cursor off.
34389
52768e37 343902008-08-03 Robert Millan <rmh@aybabtu.com>
34391
34392 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
34393 of modules instead of assuming which platform provides what.
34394 * util/update-grub.in: Likewise.
34395
2d52f57f 343962008-08-03 Robert Millan <rmh@aybabtu.com>
34397
34398 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
34399 instead of `grub_install_dos_part' to determine whether a drive needs
34400 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 34401 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 34402
2a5cd121 344032008-08-02 Robert Millan <rmh@aybabtu.com>
34404
34405 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
34406
93808428 344072008-08-02 Robert Millan <rmh@aybabtu.com>
34408
34409 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
34410 of informational grub_dprintf() calls.
34411
3bd0a12a 344122008-08-02 Robert Millan <rmh@aybabtu.com>
34413
34414 * disk/memdisk.c (memdisk_size): Don't initialize.
34415 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
34416
34417 * include/grub/i386/pc/kernel.h
34418 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
34419 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
34420 (grub_memdisk_image_size, grub_arch_memdisk_addr)
34421 (grub_arch_memdisk_size): Remove.
34422
34423 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
34424 field (was only used to transfer a constant). Add `type' field to
34425 support multiple module types.
34426 (grub_module_iterate): New function.
34427
34428 * kern/device.c (grub_device_open): Do not hide error messages
34429 when grub_disk_open() fails. Use grub_print_error() instead.
34430
34431 * kern/i386/pc/init.c (grub_arch_modules_addr)
34432 (grub_arch_memdisk_size): Remove functions.
34433 (grub_arch_modules_addr): Return the module address in high memory
34434 (now that it isn't copied anymore).
34435
34436 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
34437 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
34438 decompression routine (grub_total_module_size already includes that
34439 now). Don't copy modules back to low memory.
34440
34441 * kern/main.c: Include `<grub/mm.h>'.
34442 (grub_load_modules): Split out (and use) ...
34443 (grub_module_iterate): ... this function, which iterates through
34444 module objects and runs a hook.
34445 Comment out grub_mm_init_region() call, as it would cause non-ELF
34446 modules to be overwritten.
34447
34448 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
34449 the memdisk image in its own region, make it part of the module list.
34450 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
34451 (main): Parse --memdisk|-m option, and pass user-provided path as
34452 parameter to generate_image().
34453 (add_segments): Pass `memdisk_path' down to load_modules().
34454 (load_modules): Embed memdisk image in module section when requested.
34455 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
34456 `header.type' instead of `header.offset'.
34457
34458 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
34459 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
34460 (memdisk_mod_LDFLAGS): New variables.
34461 * conf/i386-coreboot.rmk: Likewise.
34462 * conf/i386-ieee1275.rmk: Likewise.
34463
a927cc73 344642008-08-02 Robert Millan <rmh@aybabtu.com>
34465
34466 * loader/i386/pc/multiboot.c (playground, forward_relocator)
34467 (backward_relocator): New variables. Used to allocate and relocate
34468 the payload, respectively.
34469 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 34470 address, install the appropriate relocator code in each bound of
a927cc73 34471 the payload, and set the entry point such that
34472 grub_multiboot_real_boot() will jump to one of them.
34473
34474 * kern/i386/loader.S (grub_multiboot_payload_size)
34475 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
34476 (grub_multiboot_payload_entry_offset): New variables.
34477 (grub_multiboot_real_boot): Set cpu context to what the relocator
34478 expects, and jump to the relocator instead of the payload.
34479
34480 * include/grub/i386/loader.h (grub_multiboot_payload_size)
34481 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
34482 (grub_multiboot_payload_entry_offset): Export.
34483
b15d8a0c 344842008-08-01 Bean <bean123ch@gmail.com>
34485
34486 * normal/menu_entry.c (editor_getline): Don't return the original
34487 string as result, as it will be released by lexer once it has done
34488 using it.
34489
cdfb3d22 344902008-08-01 Robert Millan <rmh@aybabtu.com>
34491
34492 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
34493 within menuentries, not before them.
34494 util/grub.d/10_hurd.in: Likewise.
34495
9175e93d 344962008-08-01 Bean <bean123ch@gmail.com>
34497
34498 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
34499 (bufio_mod_SOURCES): New macro.
34500 (bufio_mod_CFLAGS): Likewise.
34501 (bufio_mod_LDFLAGS): Likewise.
34502
34503 * include/grub/bufio.h: New file.
34504
34505 * io/bufio.c: Likewise.
34506
34507 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
34508 (grub_video_reader_png): Use grub_buffile_open to open file.
34509
34510 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
34511 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
34512
34513 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
34514 (grub_video_reader_tga): Use grub_buffile_open to open file.
34515
34516 * font/manager.c: Include <grub/bufio.h>.
34517 (add_font): Use grub_buffile_open to open file.
34518
3d8383e7 345192008-07-31 Robert Millan <rmh@aybabtu.com>
34520
34521 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
34522 ELF segments, use a macro for arbitrarily accessing any of them instead
34523 of preparing a pointer that allows access to one at a time.
34524 (grub_multiboot_load_elf64): Likewise.
34525
16e641b6 345262008-07-31 Bean <bean123ch@gmail.com>
34527
34528 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
34529 GRUB_KERNEL_MACHINE_DATA_END.
34530
59198b72 345312008-07-30 Robert Millan <rmh@aybabtu.com>
34532
34533 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
34534 Increase from 0x50 to 0x60.
34535 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
34536 use UUIDs to identify the root drive for them. If that's not
34537 possible, abort.
34538 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
34539 check, for cross-disk installs.
34540
ae88bca3 345412008-07-30 Robert Millan <rmh@aybabtu.com>
34542
34543 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
34544 is non-empty, use it to set the `prefix' environment variable instead
34545 of the usual approach.
34546 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
34547 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
34548 environment variable instead of dummy make_install_device().
34549
34550 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
34551 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 34552 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 34553
34554 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
34555 New variable reference.
34556 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
34557 New macro. Defines offset of `grub_prefix' within startup.S (relative
34558 to `start').
34559 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
34560 section within startup.S (relative to `start').
34561 * include/grub/i386/coreboot/kernel.h: Likewise.
34562
34563 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
34564 Overwrite grub_prefix with its contents, at the beginning of the
34565 first segment.
34566 (main): Understand -p|--prefix.
34567
14f41dd1 345682008-07-30 Robert Millan <rmh@aybabtu.com>
34569
34570 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
34571
4ca049a3 345722008-07-30 Robert Millan <rmh@aybabtu.com>
34573
34574 * term/i386/pc/vga_text.c (grub_console_cls): Use
34575 grub_console_gotoxy() to go back to beginning of the screen.
34576 Found by Patrick Georgi <patrick.georgi@coresystems.de>
34577
2921d337 345782008-07-29 Christian Franke <franke@computer.org>
34579
34580 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
34581 Add conversion of emulated mount points on Cygwin.
34582
b609876d 345832008-07-29 Christian Franke <franke@computer.org>
34584
34585 * util/update-grub.in: Add a check for admin
34586 group on Cygwin.
34587 Remove old `grub.cfg.new' before creation.
34588 Add `-f' to `mv' to handle the different filesystem
34589 semantics of Windows.
34590
e93e4679 345912008-07-29 Bean <bean123ch@gmail.com>
34592
34593 * normal/main.c (get_line): Fix buffer overflow bug.
34594
41694fd0 345952008-07-28 Robert Millan <rmh@aybabtu.com>
34596
34597 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
34598 (struct grub_apple_header): New struct. Describes the layout of
34599 the partmap header.
34600 (apple_partition_map_iterate): Check the header magic as well as the
34601 partition magic (which was already being checked).
34602
cfd0b4e6 346032008-07-28 Pavel Roskin <proski@gnu.org>
34604
34605 * genmk.rb: Add a warning to the beginning of the output that
34606 it's a generated file and should not be edited.
34607
93cce016 346082008-07-28 Robert Millan <rmh@aybabtu.com>
34609
34610 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
34611 with the same number are found, just use issue a warning with
34612 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 34613
cd1df915 346142008-07-27 Robert Millan <rmh@aybabtu.com>
34615
34616 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
34617 information.
34618
b70a8427 346192008-07-27 Bean <bean123ch@gmail.com>
34620
34621 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
34622 (grub_fat_find_dir): Ignore case when comparing filename.
34623
8f5e379f 346242008-07-27 Bean <bean123ch@gmail.com>
34625
34626 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
34627 smallino, as it's more descriptive, and i8count can be confused with
34628 the other field count.
34629 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
34630 inode type.
34631
a85cd5a0 346322008-07-27 Bean <bean123ch@gmail.com>
34633
34634 * commands/crc.c: New file.
34635
34636 * lib/crc.c: Likewise.
34637
34638 * include/grub/lib/crc.h: Likewise.
34639
34640 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
34641
34642 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
34643 (hexdump): Move this function to ...
34644
34645 * lib/hexdump.c: ... here.
34646
34647 * include/grub/hexdump.h: Renamed to ...
34648
34649 * include/grub/lib/hexdump.h: ... this.
34650
34651 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
34652
34653 * util/grub-editenv.c: Likewise.
34654
34655 * include/envblk.h: Renamed to ...
34656
34657 * include/lib/envblk.h: ... this.
34658
34659 * util/envblk.c: Renamed to ...
34660
34661 * lib/envblk.c: ... this.
34662
34663 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
34664 lib/hexdump.c.
34665 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
34666 (pkglib_MODULES): Add crc.mod.
34667 (hexdump_mod_SOURCES): Add lib/hexdump.c.
34668 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
34669 (crc_mod_SOURCES): New macro.
34670 (crc_mod_CFLAGS): Likewise.
34671 (crc_mod_LDFLAGS): Likewise.
34672
34673 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
34674
34675 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34676
34677 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34678
34679 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34680
34681 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34682
c298def0 346832008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 34684
34685 * commands/help.c: Include <grub/term.h>.
34686 (TERM_WIDTH): Removed. Updated all users.
34687
cc349fb3 346882008-07-27 Pavel Roskin <proski@gnu.org>
34689
34690 * util/getroot.c (find_root_device): Rephrase a comment to avoid
34691 spurious warnings about a comment within a comment.
34692
9051607e 346932008-07-25 Robert Millan <rmh@aybabtu.com>
34694
34695 * util/getroot.c (find_root_device): Skip devices that match
34696 /dev/dm-[0-9]. This lets the real device be found for any type of
34697 abstraction (LVM, EVMS, RAID..).
34698 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
34699 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
34700 device is found first, find_root_device() will now skip it.
34701
01453bfc 347022008-07-24 Pavel Roskin <proski@gnu.org>
34703
34704 * include/grub/types.h: Use __builtin_bswap32() and
34705 __builtin_bswap64() with gcc 4.3 and newer.
34706
6af9849f 347072008-07-24 Christian Franke <franke@computer.org>
34708
3a0fa256 34709 * util/i386/pc/grub-install.in: If `--debug' is specified,
34710 pass `--verbose' to grub-setup.
34711 Abort script if make_system_path_relative_to_its_root() fails.
34712
7810e747 347132008-07-24 Bean <bean123ch@gmail.com>
34714
34715 * configure.ac: Fixed a bug caused by the previous cygwin patch,
34716 variable `target_platform' should be `platform'.
34717
42290e17 347182008-07-24 Bean <bean123ch@gmail.com>
34719
51cc5193 34720 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 34721 (grub_png_init_fixed_block): New function.
34722 (grub_png_decode_image_data): Handle fixed huffman code compression.
34723
2a8a80e4 347242008-07-24 Bean <bean123ch@gmail.com>
34725
34726 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
34727 (grub_pe2elf_SOURCES): New macro.
34728 (CLEANFILES): Add grub-pe2elf.
34729
34730 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
34731 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
34732 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
34733 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
34734 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
34735 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
34736 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
34737 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
34738 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
34739 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
34740 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
34741 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
34742 (GRUB_PE32_DT_FUNCTION): Likewise.
34743 (GRUB_PE32_REL_I386_DIR32): Likewise.
34744 (GRUB_PE32_REL_I386_REL32): Likewise.
34745 (grub_pe32_symbol): New structure.
34746 (grub_pe32_reloc): Likewise.
34747
34748 * util/grub-pe2elf.c: New file.
34749
34750 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
34751 start symbol in non pc platform.
34752
34753 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
34754
34755 The following patches are from Christian Franke.
34756
34757 * include/grub/dl.h: Remove .previous, gas supports this only
34758 for ELF format.
34759
34760 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
34761 Remove .type, gas supports this only for ELF format.
34762
34763 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
34764 nullbytes in symbol table. This fixes an infinite loop if table is
34765 zero filled.
34766
34767 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
34768 TARGET_IMG_LDFLAGS and EXEEXT.
34769
34770 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
34771 TARGET_IMG_LDFLAGS_AC.
34772 (grub_CHECK_STACK_ARG_PROBE): New function.
34773
34774 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
34775
34776 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
34777
34778 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
34779 to set TARGET_IMG_LD* accordingly.
34780 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
34781 Add call to grub_CHECK_STACK_ARG_PROBE.
34782 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
34783
34784 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
34785
34786 * genmk.rb: Add EXEEXT to CLEANFILES.
34787
12ccdb75 347882008-07-23 Robert Millan <rmh@aybabtu.com>
34789
34790 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
34791 define the codes for arrows and lines used for the menu).
34792 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
34793 as well.
34794
34795 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
34796 fonts, because the latter are too slow.
34797
18eeaf04 347982008-07-21 Bean <bean123ch@gmail.com>
34799
34800 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
34801 a20. Run keyboard test last, as it will cause macbook to halt.
34802
b095e2ad 348032008-07-18 Pavel Roskin <proski@gnu.org>
34804
34805 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
34806 load foreign architecture modules correctly anyway. Keep
34807 support for loading host architecture modules, whether we
34808 compile them or not.
34809
737feb35 348102008-07-17 Pavel Roskin <proski@gnu.org>
34811
3f4ce737 34812 * configure.ac: Use -m32 or -m64 regardless of whether we had to
34813 change target_cpu. The compiler default can mismatch target_cpu
34814 in any case.
34815
4ad2d049 34816 * disk/efi/efidisk.c: Fix format warnings on x86_64.
34817 * kern/efi/efi.c: Likewise.
34818
f6130a12 34819 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
34820 target compiler is functional.
34821 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
34822 are set up.
34823
58393a2d 34824 * configure.ac: Default to efi platform for x86_64-apple. Allow
34825 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
34826 adjustments from the rest, only do them if target is not
34827 explicitly given. Merge other adjustments with the final sanity
34828 check. Remove an extraneous check for supported CPU. Be
34829 specific which CPU and which platform is not supported.
34830
737feb35 34831 * configure.ac: Default to pc platform for x86_64.
34832
546f966a 348332008-07-17 Robert Millan <rmh@aybabtu.com>
34834
34835 Partial LinuxBIOS -> Coreboot rename.
34836
34837 * conf/i386-linuxbios.rmk: Renamed to ...
34838 * conf/i386-coreboot.rmk: ... this.
34839 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
34840 * configure.ac: Accept "coreboot" as input platform (but maintain
34841 compatibility with "linuxbios").
34842 * include/grub/i386/linuxbios: Renamed to ...
34843 * include/grub/i386/coreboot: ... this.
34844
20011694 348452008-07-17 Bean <bean123ch@gmail.com>
34846
34847 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 34848 (appleldr_mod_SOURCE): New variable.
20011694 34849 (appleldr_mod_CFLAGS): Likewise.
34850 (appleldr_mod_LDFLAGS): Likewise.
34851 (pci_mod_SOURCES): Likewise.
34852 (pci_mod_CFLAGS): Likewise.
34853 (pci_mod_LDFLAGS): Likewise.
34854 (lspci_mod_SOURCES): Likewise.
34855 (lspci_mod_CFLAGS): Likewise.
34856 (lspci_mod_LDFLAGS): Likewise.
34857
34858 * conf/x86_64-efi.rmk: New file.
34859
34860 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
34861 macro.
34862 (grub_efidisk_write): Likewise.
34863
34864 * include/efi/api.h (efi_call_0): New macro.
34865 (efi_call_1): Likewise.
34866 (efi_call_2): Likewise.
34867 (efi_call_3): Likewise.
34868 (efi_call_4): Likewise.
34869 (efi_call_5): Likewise.
34870 (efi_call_6): Likewise.
34871
34872 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
34873 grub_rescue_cmd_chainloader.
34874
34875 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
34876 (grub_pe32_optional_header): Change some fields based on i386 or
34877 x86_64 platform.
34878 (GRUB_PE32_PE32_MAGIC): Likewise.
34879
34880 * include/grub/efi/uga_draw.h: New file.
34881
34882 * include/grub/elf.h (STN_ABS): New constant.
34883 (R_X86_64_NONE): Relocation constant for x86_64.
34884 (R_X86_64_64): Likewise.
34885 (R_X86_64_PC32): Likewise.
34886 (R_X86_64_GOT32): Likewise.
34887 (R_X86_64_PLT32): Likewise.
34888 (R_X86_64_COPY): Likewise.
34889 (R_X86_64_GLOB_DAT): Likewise.
34890 (R_X86_64_JUMP_SLOT): Likewise.
34891 (R_X86_64_RELATIVE): Likewise.
34892 (R_X86_64_GOTPCREL): Likewise.
34893 (R_X86_64_32): Likewise.
34894 (R_X86_64_32S): Likewise.
34895 (R_X86_64_16): Likewise.
34896 (R_X86_64_PC16): Likewise.
34897 (R_X86_64_8): Likewise.
34898 (R_X86_64_PC8): Likewise.
34899
34900 * include/grub/i386/efi/pci.h: New file.
34901
34902 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
34903 Change it value based on platform.
34904 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
34905 (GRUB_E820_RAM): Likewise.
34906 (GRUB_E820_RESERVED): Likewise.
34907 (GRUB_E820_ACPI): Likewise.
34908 (GRUB_E820_NVS): Likewise.
34909 (GRUB_E820_EXEC_CODE): Likewise.
34910 (GRUB_E820_MAX_ENTRY): Likewise.
34911 (grub_e820_mmap): New structure.
34912 (linux_kernel_header): Change the efi field according to different
34913 kernel version, also field from linux_kernel_header.
34914
34915 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
34916
34917 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
34918 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
34919 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
34920 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
34921 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
34922 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
34923 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
34924 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
34925 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
34926 (GRUB_PCI_ADDR_IO_MASK): Likewise.
34927
34928 * include/grub/x86_64/efi/kernel.h: New file.
34929
34930 * include/grub/x86_64/efi/loader.h: Likewise.
34931
34932 * include/grub/x86_64/efi/machine.h: Likewise.
34933
34934 * include/grub/x86_64/efi/pci.h: Likewise.
34935
34936 * include/grub/x86_64/efi/time.h: Likewise.
34937
34938 * include/grub/x86_64/linux.h: Likewise.
34939
34940 * include/grub/x86_64/setjmp.h: Likewise.
34941
34942 * include/grub/x86_64/time.h: Likewise.
34943
34944 * include/grub/x86_64/types.h: Likewise.
34945
34946 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
34947 GRUB_TARGET_SIZEOF_VOID_P.
34948
34949 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
34950 (grub_efi_locate_handle): Likewise.
34951 (grub_efi_open_protocol): Likewise.
34952 (grub_efi_set_text_mode): Likewise.
34953 (grub_efi_stall): Likewise.
34954 (grub_exit): Likewise.
34955 (grub_reboot): Likewise.
34956 (grub_halt): Likewise.
34957 (grub_efi_exit_boot_services): Likewise.
34958 (grub_get_rtc): Likewise.
34959
34960 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
34961 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
34962 (grub_efi_allocate_pages): Wrap efi calls.
34963 (grub_efi_free_pages): Wrap efi calls.
34964 (grub_efi_get_memory_map): Wrap efi calls.
34965
34966 * kern/x86_64/dl.c: New file.
34967
34968 * kern/x86_64/efi/callwrap.S: Likewise.
34969
34970 * kern/x86_64/efi/startup.S: Likewise.
34971
34972 * loader/efi/appleloader.c: Likewise.
34973
34974 * loader/efi/chainloader.c (cmdline): New variable.
34975 (grub_chainloader_unload): Wrap efi calls.
34976 (grub_chainloader_boot): Likewise.
34977 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
34978 command line.
34979
34980 * loader/efi/chainloader_normal.c (chainloader_command):
34981 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
34982 command line.
34983
34984 * loader/i386/efi/linux.c (allocate_pages): Change allocation
34985 method.
34986 (grub_e820_add_region): New function.
34987 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
34988 booting.
34989 (grub_find_video_card): New function.
34990 (grub_linux_setup_video): New function.
34991 (grub_rescue_cmd_linux): Probe for video information.
34992
34993 * normal/x86_64/setjmp.S: New file.
34994
34995 * term/efi/console.c (map_char): New function.
34996 (grub_console_putchar): Map unicode char.
34997 (grub_console_checkkey): Wrap efi calls.
34998 (grub_console_getkey): Likewise.
34999 (grub_console_getwh): Likewise.
35000 (grub_console_gotoxy): Likewise.
35001 (grub_console_cls): Likewise.
35002 (grub_console_setcolorstate): Likewise.
35003 (grub_console_setcursor): Likewise.
35004
35005 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
35006
59652a20 350072008-07-16 Pavel Roskin <proski@gnu.org>
35008
ef294055 35009 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
35010 format strings.
35011
59652a20 35012 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
35013 pointer, not an integer. This fixes a warning and prevents
35014 precision loss on 64-bit systems.
35015 (relocate_addresses): Remove unneeded cast.
35016
afc3b5d7 350172008-07-15 Pavel Roskin <proski@gnu.org>
35018
506b2b3e 35019 * kern/i386/ieee1275/init.c: Include grub/cache.h.
35020
62ead89c 35021 * term/ieee1275/ofconsole.c: Disable code unused on i386.
35022
c4cd51d7 35023 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
35024 Fix comparison between signed and unsigned.
35025
0d3d8f28 35026 * include/grub/i386/ieee1275/console.h: Declare
35027 grub_console_init() and grub_console_fini().
35028
8804b286 35029 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
35030 It's empty and unused.
35031
ee01cf35 35032 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
35033 beginning to avoid warnings with some compilers.
35034
afc3b5d7 35035 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
35036 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
35037
e4e8eaa5 350382008-07-14 Pavel Roskin <proski@gnu.org>
35039
407aceb4 35040 * kern/env.c (grub_register_variable_hook): Don't copy empty
35041 string, it leaks memory. Pass "" to grub_env_set(), it should
35042 handle constant strings.
35043
e4e8eaa5 35044 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
35045 * commands/cmp.c (grub_cmd_cmp): Likewise.
35046 * kern/dl.c (grub_dl_flush_cache): Likewise.
35047 (grub_dl_load_core): Likewise.
35048 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
35049 (grub_elf64_load_phdrs): Likewise.
35050
d4e2dad3 350512008-07-13 Pavel Roskin <proski@gnu.org>
35052
35053 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
35054 between signed and unsigned.
35055 (LzmaEnc_Finish): Fix warning about an unused parameter.
35056
aa24b516 350572008-07-13 Bean <bean123ch@gmail.com>
35058
35059 * Makefile.in (enable_lzo): New rule.
35060
35061 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
35062
35063 * configure.ac (ENABLE_LZO): New option --enable-lzo.
35064
35065 * boot/i386/pc/lnxboot.S: #include <config.h>.
35066
35067 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 35068 its value according to the compression algorithm used, lzo or lzma.
aa24b516 35069
35070 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
35071 compression algorithm according to configure macro.
35072
35073 * kern/i386/pc/startup.S (codestart): Likewise.
35074
35075 * kern/i386/pc/lzma_decode.S: New file.
35076
35077 * include/grub/lib/LzFind.h: Likewise.
35078
35079 * include/grub/lib/LzHash.h: Likewise.
35080
35081 * include/grub/lib/LzmaDec.h: Likewise.
35082
35083 * include/grub/lib/LzmaEnc.h: Likewise.
35084
35085 * include/grub/lib/LzmaTypes.h: Likewise.
35086
35087 * lib/LzFind.c: Likewise.
35088
35089 * lib/LzmaDec.c: Likewise.
35090
35091 * lib/LzmaEnc.c: Likewise.
35092
4ae821ac 350932008-07-13 Bean <bean123ch@gmail.com>
35094
35095 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
35096 (grub_ext4_extent_header): New structure.
35097 (grub_ext4_extent): Likewise.
35098 (grub_ext4_extent_idx): Likewise.
35099 (grub_ext4_find_leaf): New function.
35100 (grub_ext2_read_block): Handle extents.
35101
9a745147 351022008-07-12 Robert Millan <rmh@aybabtu.com>
35103
35104 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
35105
d49a4cf6 351062008-07-11 Robert Millan <rmh@aybabtu.com>
35107
35108 * util/grub.d/40_custom.in: New file. Example on how to add custom
35109 entries to /etc/grub.d.
35110 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
35111 40_custom (implicitly, by merging all the grub.d rules).
35112
947414b4 351132008-07-11 Pavel Roskin <proski@gnu.org>
35114
0059cf6f 35115 * commands/read.c (grub_getline): Fix invalid memory access.
35116 Don't add newline to the variable value.
35117
947414b4 35118 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
35119 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
35120 (serial_hw_get_port): Check validity of the port number.
35121 (grub_cmd_serial): Check return value of serial_hw_get_port().
35122
62a02d00 351232008-07-07 Pavel Roskin <proski@gnu.org>
35124
35125 * boot/i386/pc/diskboot.S (notification_string): Replace
35126 "Loading kernel" with just "loading". This is shorter, less
35127 confusing and saves a few bytes for possible future changes.
35128
3e5581b0 351292008-07-05 Pavel Roskin <proski@gnu.org>
35130
ea387a48 35131 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
35132 size for ATAPI devices, they are undefined. Output sector
35133 number in decimal form.
35134
3e5581b0 35135 * disk/ata.c: Use named constants for status bits.
35136
fdecb8fd 351372008-07-04 Pavel Roskin <proski@gnu.org>
35138
bcd35b90 35139 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
35140 grub_addr_t before casting it to the void pointer to fix a
35141 warning. Non-addressable regions are discarded earlier.
35142 (grub_arch_modules_addr): Cast _end to grub_addr_t.
35143 * kern/i386/linuxbios/table.c: Include grub/misc.h.
35144 (check_signature): Don't shadow table_header.
35145 (grub_linuxbios_table_iterate): Cast numeric constants to
35146 grub_linuxbios_table_header_t.
35147 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
35148 grub_stop().
35149
af58ab3d 35150 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
35151 prevent warnings.
35152
1759aa57 35153 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
35154 pointer, which can cause warnings. Support 64-bit addresses.
35155
fdecb8fd 35156 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
35157 of sizeof(long). This fixes PowerPC image generation on x86_64.
35158
8516d2a8 351592008-07-04 Robert Millan <rmh@aybabtu.com>
35160
35161 This fixes a performance issue when pc & gpt partmap iterators
35162 didn't abort iteration even after our hook found what it was
fe987087 35163 looking for (often causing expensive probes of non-existent drives).
8516d2a8 35164
35165 Some callers relied on previous buggy behaviour, since they would
34c44600 35166 raise an error when their own hooks caused early abortion of its
8516d2a8 35167 iteration.
35168
35169 * kern/device.c (grub_device_open): Improve error message.
35170 * disk/lvm.c (grub_lvm_open): Likewise.
35171 * disk/raid.c (grub_raid_open): Likewise.
35172
35173 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
35174 when hook requests it, independently of grub_errno.
35175 (pc_partition_map_probe): Do not fail when find_func() caused
35176 early abortion of pc_partition_map_iterate().
35177
35178 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
35179 when hook requests it, independently of grub_errno.
35180 (gpt_partition_map_probe): Do not fail when find_func() caused
35181 early abortion of gpt_partition_map_iterate().
35182
35183 * kern/partition.c (grub_partition_iterate): Abort parent iteration
35184 when hook requests it, independently of grub_errno. Do not fail when
35185 part_map_iterate_hook() caused early abortion of p->iterate().
35186
35187 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
35188 when grub_partition_iterate() returned with non-zero.
35189
277d0de9 351902008-07-03 Pavel Roskin <proski@gnu.org>
35191
35192 * disk/ata.c (grub_ata_pio_write): Check status before writing,
35193 like we do in grub_ata_pio_read().
35194 (grub_ata_readwrite): Always write individual sectors. Fix the
35195 sector count for the remainder.
35196 (grub_ata_write): Enable writing to ATA devices. Correctly
35197 report error for ATAPI devices.
35198
d4c9b428 351992008-07-02 Pavel Roskin <proski@gnu.org>
35200
e43fc690 35201 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
35202 warning.
35203
f707af42 35204 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
35205 for every read sector, we already increment it for the whole
35206 batch. This fixes reading more than 256 sectors at once.
35207
11e16b15 35208 * util/grub-editenv.c (cmd_info): Cast argument to long
35209 explicitly. ptrdiff_t reduces to int on i386.
35210
cbabfdd4 35211 * util/grub-editenv.c (main): Be specific which parameter is
35212 missing.
35213
b8fbce0a 35214 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
35215 (memdisk): Make memdisk_orig_addr a pointer.
35216
c9c8e606 35217 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
35218 for file offsets, use grub_off_t instead. Fix printf format
35219 warnings.
35220
ca62e598 35221 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
35222 there. Real unexpected warnings should not drown in the noise
35223 about known problems.
35224
ce8d1766 35225 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
35226 grub_disk_addr_t for memory addresses.
35227
00c7a56a 35228 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
35229 explicitly to fix a warning.
35230
08d3ef09 35231 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
35232
cb71ba20 35233 * Makefile.in (MODULE_LDFLAGS): New variable.
35234 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
35235 the linker accepts --build-id=none.
35236 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
35237 MODULE_LDFLAGS.
35238 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
35239
d4c9b428 35240 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
35241 those in Linux XFS code. Provide a way to access 64-bit parent
35242 inode.
35243 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
35244 the end of struct grub_xfs_dir_header.
35245
d4156eee 352462008-07-02 Bean <bean123ch@gmail.com>
35247
35248 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
35249 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
35250 and GRUB_IEEE1275_FLAG_NO_ANSI.
35251
35252 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
35253 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
35254 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
35255
35256 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
35257 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
35258
35259 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
35260 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
35261
35262 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
35263 esc sequence on non ANSI terminal.
35264 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
35265
35266 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
35267 beginning of file.
35268
2270f77b 352692008-07-02 Bean <bean123ch@gmail.com>
35270
35271 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
35272 (grub_editenv_SOURCES): New variable.
35273 (pkglib_MODULES): Add loadenv.mod.
35274 (loadenv_mod_SOURCES): New variable.
35275 (loadenv_mod_CFLAGS): Likewise.
35276 (loadenv_mod_LDFLAGS): Likewise.
35277
35278 * include/grub/envblk.h: New file.
35279
35280 * util/envblk.c: New file.
35281
35282 * util/grub-editenv.c: New file.
35283
35284 * commands/loadenv.c: New file.
35285
0e9e51ec 352862008-07-01 Pavel Roskin <proski@gnu.org>
35287
d89b7634 35288 * include/multiboot2.h (struct multiboot_tag_module): Use char,
35289 not unsigned char. This fixes warnings and is consistent with
35290 other tags.
35291
bf1835b1 35292 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
35293
8222a04b 35294 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
35295
6a42d99d 35296 * term/tparm.c (analyze): Always set *popcount.
35297
10b159d1 35298 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
35299 cast to fix a warning.
35300
b8789f6c 35301 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
35302 cast to suppress a warning.
35303
29d7e38a 35304 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
35305 grub_fshelp_read_file() expects.
35306
f341f669 35307 * fs/fat.c: Fix UUID calculation on big-endian systems. We
35308 write uuid as a 32-bit value in CPU byte order, so declare and
35309 use it as such.
35310
0e9e51ec 35311 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
35312 long if the format specifier expects it.
35313 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
35314 * partmap/pc.c (pc_partition_map_iterate): Likewise.
35315 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
35316 long to fix a warning.
35317 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
35318 grub_dprintf() arguments to fix warnings.
35319
3aefa857 353202008-06-30 Pavel Roskin <proski@gnu.org>
35321
56c7668b 35322 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
35323 install_bsd_part immediately before core.img is embedded or
35324 modified on disk. This fixes core.img verification if core.img
35325 cannot be embedded.
35326
3aefa857 35327 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
35328 core_path to calculate the blocklist.
35329 Patch from Javier Martín <lordhabbit@gmail.com>
35330
5444088d 353312008-06-29 Robert Millan <rmh@aybabtu.com>
35332
35333 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
35334 block to disk block.
35335 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
35336 Patch from Niels Böhm <bitbucket@arcor.de>
35337
674835c8 353382008-06-29 Robert Millan <rmh@aybabtu.com>
35339
35340 * util/update-grub_lib.in (font_path): Search for fonts in
35341 /boot/grub first, which is more likely to be readable (we aren't
35342 deciding where fonts live, just looking for them).
35343
f527dbc8 353442008-06-26 Pavel Roskin <proski@gnu.org>
35345
6c2d8df6 35346 * util/biosdisk.c (read_device_map): Don't leave dead map
35347 entries for devices failing stat() check.
35348
f527dbc8 35349 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
35350 core_path_dev for the core.img path on the target device.
35351
aebe3d13 353522008-06-26 Robert Millan <rmh@aybabtu.com>
35353
35354 * disk/fs_uuid.c: New file.
35355 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
35356 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
35357 (fs_uuid_mod_LDFLAGS): New variables.
35358 * include/grub/disk.h (grub_disk_dev_id): Add
35359 `GRUB_DISK_DEVICE_UUID_ID'.
35360 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
35361 implement iterate().
35362
37aaf354 353632008-06-26 Robert Millan <rmh@aybabtu.com>
35364
35365 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
35366 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
35367 Linux image includes no initrd.
35368
25ff262a 353692008-06-21 Javier Martín <lordhabbit@gmail.com>
35370
35371 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
35372 call to resolve the core image location that effectively appended the
35373 name twice.
35374
76a2bd44 353752008-06-21 Robert Millan <rmh@aybabtu.com>
35376
35377 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
35378 call from here ...
35379
35380 * util/grub.d/10_hurd.in: ... to here ...
35381 * util/grub.d/10_linux.in: ... and here.
35382
650e1c79 353832008-06-19 Robert Millan <rmh@aybabtu.com>
35384
fe987087 35385 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 35386 after it has been set by grub_machine_set_prefix().
35387
6ce63911 353882008-06-19 Robert Millan <rmh@aybabtu.com>
35389
35390 * commands/search.c (search_label, search_fs_uuid, search_file): Print
35391 search result when not saving to variable, not the other way around.
35392 When saving to variable, abort iteration as soon as a match is found.
35393
73940cec 353942008-06-19 Robert Millan <rmh@aybabtu.com>
35395
35396 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
35397 check for partition that provides /boot/grub. Its logic is flawed,
35398 as it prevents prepare_grub_to_access_device() from being called
35399 multiple times.
35400
3c62a39d 354012008-06-19 Robert Millan <rmh@aybabtu.com>
35402
35403 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
35404 "insmod" command directly when abstraction modules are needed,
fe987087 35405 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 35406 since it had already been processed).
35407
47395a42 354082008-06-19 Pavel Roskin <proski@gnu.org>
35409
35410 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
35411 changed. This is needed in case GRUB_LIBDIR changes.
35412 * conf/i386-ieee1275.rmk: Likewise.
35413 * conf/i386-linuxbios.rmk: Likewise.
35414 * conf/i386-pc.rmk: Likewise.
35415 * conf/powerpc-ieee1275.rmk: Likewise.
35416
a145ac2d 354172008-06-18 Pavel Roskin <proski@gnu.org>
35418
35419 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
35420 kernel_elf_symlist.c to symlist.c for consistency with other
35421 architectures. Update all users.
35422 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
35423
7847c51e 354242008-06-18 Robert Millan <rmh@aybabtu.com>
35425
35426 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
35427 it in prefix.
35428
35429 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
35430 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
35431 a RAID device, run setup() for all members independently on whether
35432 LVM abstraction is being used.
35433 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
35434 If grub-mkimage has set `*install_dos_part == -2', don't override this
35435 value.
35436 Perform *install_dos_part adjustments independently on whether
35437 we're embedding or not.
35438 Clarify error message when image is too big for embedding.
35439 Remove duplicate *install_dos_part stanza.
35440
b23e5644 354412008-06-17 Robert Millan <rmh@aybabtu.com>
35442
35443 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
35444 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
35445 variables.
35446 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
35447 values in grub_ofconsole_normal_color and
35448 grub_ofconsole_highlight_color (they're not directly related to
35449 background and foreground).
35450 (grub_ofconsole_setcolorstate): Extract background and foreground
35451 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
35452
0aac2f79 354532008-06-17 Robert Millan <rmh@aybabtu.com>
35454
35455 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
35456 /boot/grub for the check in last commit, not /boot (they could be
35457 different partitions).
35458
3cca7ef3 354592008-06-16 Robert Millan <rmh@aybabtu.com>
35460
35461 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
35462 asked to setup access for the same partition that provides /boot,
35463 don't bother using UUIDs since our root already has the value we
35464 want.
35465
347396d8 354662008-06-16 Robert Millan <rmh@aybabtu.com>
35467
35468 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
35469 I2O devices.
35470 Patch from Sven Mueller <sven@debian.org>.
35471
991477f8 354722008-06-16 Robert Millan <rmh@aybabtu.com>
35473
35474 * util/update-grub.in: Check for $EUID instead of $UID.
35475 Reported by Vincent Zweije.
35476
d31a32a1 354772008-06-16 Bean <bean123ch@gmail.com>
35478
fe987087 35479 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 35480 (grub_ext2_read_block): Likewise.
35481 (grub_ext2_read_inode): Likewise.
35482 (grub_ext2_mount): Likewise.
35483 (grub_ext2_close): Likewise.
35484 (grub_ext3_get_journal): Removed.
35485
fe987087 35486 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 35487 (grub_reiserfs_read_symlink): Likewise.
35488 (grub_reiserfs_mount): Likewise.
35489 (grub_reiserfs_open): Likewise.
35490 (grub_reiserfs_read): Likewise.
35491 (grub_reiserfs_close): Likewise.
35492 (grub_reiserfs_get_journal): Removed.
35493
35494 * fs/fshelp.c (grub_fshelp_read): Removed.
35495 (grub_fshelp_map_block): Likewise.
35496
35497 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
35498 (grub_fshelp_journal): Likewise.
35499 (grub_fshelp_read): Likewise.
35500 (grub_fshelp_map_block): Likewise.
35501
3540a760 355022008-06-16 Pavel Roskin <proski@gnu.org>
35503
35504 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
35505 floating point anymore.
35506 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
35507
95614c84 355082008-06-15 Pavel Roskin <proski@gnu.org>
35509
35510 * commands/ls.c (grub_ls_list_files): Use integer calculations
35511 for human readable format, avoid floating point use.
35512 * kern/misc.c (grub_ftoa): Remove.
35513 (grub_vsprintf): Remove floating point support.
35514
50465dd6 355152008-06-15 Robert Millan <rmh@aybabtu.com>
35516
fe6b695a 35517 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 35518 devices.
35519 Reported by Max Vozeler.
35520
a9207284 355212008-06-15 Robert Millan <rmh@aybabtu.com>
35522
35523 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
35524 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
35525 skipped later.
35526 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
35527 the beginning of the prefix.
35528
35529 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
35530 It is assumed that if we have a memdisk, grub-mkimage has set
35531 grub_prefix to include the "(memdisk)" drive in it.
35532
a7cbd45a 355332008-06-15 Robert Millan <rmh@aybabtu.com>
35534
35535 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
35536 Initialize keyboard controller after registering the terminal, so that
35537 grub_printf() can be called from grub_keyboard_controller_init().
35538
21cf716a 355392008-06-15 Robert Millan <rmh@aybabtu.com>
35540
35541 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
35542 extent-btree which is written as big endian on disk.
35543 Reported by Alain Greppin <al@chilibi.org>.
35544
23a64d8e 355452008-06-14 Robert Millan <rmh@aybabtu.com>
35546
35547 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
35548 * util/i386/pc/grub-install.in (modules): Likewise.
35549
d687651c 355502008-06-13 Pavel Roskin <proski@gnu.org>
35551
35552 * commands/ls.c (grub_ls_list_files): Fix format warnings.
35553
dfe9ddd4 355542008-06-13 Bean <bean123ch@gmail.com>
35555
35556 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
35557
35558 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
35559
35560 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
35561 to indicate sparse block.
35562
16ae7781 355632008-06-12 Pavel Roskin <proski@gnu.org>
35564
e6d1a308 35565 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
35566 number, grub_fshelp_read() does it for us.
35567
16ae7781 35568 * fs/fshelp.c (grub_fshelp_read): New function. Implement
35569 linear disk read with journal translation.
35570 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
35571 * include/grub/fshelp.h: Declare grub_fshelp_read().
35572
40fd3a2b 355732008-06-09 Pavel Roskin <proski@gnu.org>
35574
35575 * fs/minix.c (grub_minix_mount): Handle error reading
35576 superblock.
35577
f5679726 355782008-06-08 Robert Millan <rmh@aybabtu.com>
35579
35580 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
35581 don't append the RAID prefix afterwards.
35582 Reported by Clint Adams.
35583
ce525529 355842008-06-08 Robert Millan <rmh@aybabtu.com>
35585
35586 Based on description from Pavel:
35587 * kern/disk.c (grub_disk_check_range): Rename to ...
35588 (grub_disk_adjust_range): ... this. Add a comment explaining the
35589 tasks performed by this function.
35590
ad4936a0 355912008-06-08 Robert Millan <rmh@aybabtu.com>
35592
35593 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
35594 `num_serial' (for consistency with other variables).
35595 (struct grub_ntfs_data): Add `uuid' member.
35596 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
35597 (grub_ntfs_uuid): New function.
35598 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
35599
dc20b0f9 356002008-06-07 Pavel Roskin <proski@gnu.org>
35601
35602 * util/biosdisk.c (open_device): Revert last change to the
35603 function, it broke installation. The sector needs to be
35604 different dependent on which device is opened.
35605
c5e3cfba 356062008-06-06 Robert Millan <rmh@aybabtu.com>
35607
35608 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
35609 rest of GRUB, and breakage doesn't happen if its value were modified.
35610
35611 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
35612 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
35613 a constant (same value).
35614 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
35615 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
35616
26a1f8c4 356172008-06-06 Robert Millan <rmh@aybabtu.com>
35618
35619 * util/biosdisk.c (open_device): Do not modify sector offset when
35620 accessing a partition. kern/disk.c already handles this for us.
35621
25d6b327 356222008-06-06 Robert Millan <rmh@aybabtu.com>
35623
35624 * util/grub-emu.c (grub_machine_init): Move code in this function from
35625 here ...
35626 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
35627 segfault in case grub_printf() is called).
35628
35629 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
35630 grub_probe. Update all users not to explicitly add it again.
35631 (grub_device): New variable; contains corresponding device for grubdir.
35632 (fs_module, partmap_module, devabstraction_module): Pass
35633 `--device ${grub_device}' to grub_probe to avoid traversing /dev
35634 every time.
35635
9ece62fb 356362008-06-05 Robert Millan <rmh@aybabtu.com>
35637
35638 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
35639 is found, print it (same layout as with labels).
35640
1ad36d37 356412008-06-04 Robert Millan <rmh@aybabtu.com>
35642
35643 * util/biosdisk.c (get_drive): Rename to ...
35644 (find_grub_drive): ... this. Update all users.
35645
35646 (get_os_disk): Rename to ...
35647 (convert_system_partition_to_system_disk): ... this. Update all users.
35648
35649 (find_drive): Rename to ...
35650 (find_system_device): ... this. Update all users.
35651
e6a30859 356522008-06-04 Robert Millan <rmh@aybabtu.com>
35653
35654 * util/biosdisk.c (get_os_disk): Handle IDA devices.
35655 * util/grub-mkdevicemap.c (get_mmc_disk_name)
35656 (make_device_map): Likewise.
35657
00c108a4 356582008-06-01 Robert Millan <rmh@aybabtu.com>
35659
35660 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
35661 before dereferencing it.
35662
35663 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
35664 union with fat12/fat16-specific ones. Add some new fields, including
35665 `num_serial' for both versions.
35666 (struct grub_fat_data): Add `uuid' member.
35667 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
35668 names. Initialize `data->uuid' using `num_serial'.
35669 (grub_fat_uuid): New function.
35670 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
35671
35672 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
35673 (grub_reiserfs_uuid): New function.
35674 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
35675 member.
35676
35677 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
35678 (grub_xfs_uuid): New function.
35679 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
35680
1385c5bb 356812008-06-01 Robert Millan <rmh@aybabtu.com>
35682
35683 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
35684 code that is backward compatible with pre-uuid search command.
35685
c682dfd7 356862008-05-31 Robert Millan <rmh@aybabtu.com>
35687
35688 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
35689 floppies after everything else, to ensure floppy drive isn't accessed
35690 unnecessarily (patch from Bean).
35691
b7db5d47 356922008-05-31 Robert Millan <rmh@aybabtu.com>
35693
35694 * commands/search.c (search_label, search_fs_uuid, search_file): Do
35695 not print device names when we were asked to set a variable.
35696
6e037aa9 356972008-05-31 Robert Millan <rmh@aybabtu.com>
35698
35699 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
35700 using "cursor-on" and "cursor-off" commands (understood at least by
35701 the Open Firmware flavour on OLPC).
35702
41305bc8 357032008-05-31 Michael Gorven <michael@gorven.za.net>
35704
35705 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
35706 on and off sequences.
35707
69ba137e 357082008-05-31 Robert Millan <rmh@aybabtu.com>
35709
35710 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
35711 * util/update-grub.in: Likewise.
35712
520ae21b 357132008-05-30 Pavel Roskin <proski@gnu.org>
35714
35715 * util/biosdisk.c (linux_find_partition): Simplify logic and
35716 make the code more universal. Keep special processing for
35717 devfs, but use a simple rule for all other devices. If the
35718 device ends with a number, append 'p' and the partition number.
35719 Otherwise, append only the partition number.
35720
5786569b 357212008-05-30 Robert Millan <rmh@aybabtu.com>
35722
35723 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
35724 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
35725 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
35726 the `root' parameter to Linux.
35727
51500452 357282008-05-30 Robert Millan <rmh@aybabtu.com>
35729
35730 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
35731 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
35732 --fs_uuid with --fs-uuid.
35733 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
35734 all filesystems support them).
35735
811d3878 357362008-05-30 Robert Millan <rmh@aybabtu.com>
35737
35738 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 35739 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 35740
cab63c95 357412008-05-30 Robert Millan <rmh@aybabtu.com>
35742
35743 * util/grub.d/00_header.in: Remove obsolete comment referencing
35744 convert_system_path_to_grub_path().
35745 * util/update-grub.in: Likewise.
35746 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
35747 (convert_system_path_to_grub_path): Add a warning message explaining
35748 that this function is deprecated. Rely on is_path_readable_by_grub()
35749 for the readability checks.
35750 (font_path): Use is_path_readable_by_grub() for the readability
35751 check rather than convert_system_path_to_grub_path().
35752
972e2f7a 357532008-05-30 Robert Millan <rmh@aybabtu.com>
35754
35755 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
35756 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
35757 converting it first.
35758 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
35759 grub.cfg for access to font file, and afterwards call it again to set
35760 the root device.
35761
62191274 357622008-05-30 Robert Millan <rmh@aybabtu.com>
35763
35764 * commands/search.c (options): Add --fs_uuid option.
35765 (search_fs_uuid): New function.
35766 (grub_cmd_search): Fix --set argument passing.
35767 Use search_fs_uuid() when requested via --fs_uuid.
35768 (grub_search_init): Update help message.
35769 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
35770 and redeclare it as an array of 16-bit words.
35771 (grub_ext2_uuid): New function.
35772 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
35773 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
35774 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
35775 (GRUB_DEVICE_BOOT_UUID): New variables.
35776 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
35777 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
35778 whenever possible.
35779 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
35780 just assume `root' variable has the right value.
35781 * util/grub.d/10_linux.in: Likewise.
35782 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
35783 via PRINT_FS_UUID.
35784 (main): Recognise `-t fs_uuid' argument.
35785
01b73ec8 357862008-05-30 Robert Millan <rmh@aybabtu.com>
35787
35788 * util/biosdisk.c (map): Redefine structure to hold information
35789 about GRUB drive name.
fe6b695a 35790 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 35791 drive names.
35792 (call_hook): Remove.
35793 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
35794 member. Assume drive has partitions.
35795 (grub_util_biosdisk_open): Access device names via `.device' struct
35796 member.
35797 (open_device): Likewise.
35798 (find_drive): Likewise.
35799 (read_device_map): Adjust map[] usage to match the new struct
35800 definition. Don't check for duplicates (still possible, but not cheap
35801 anymore).
35802 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
35803 (make_device_name): Remove assumption of BIOS-like drive names.
35804
22f16596 358052008-05-30 Pavel Roskin <proski@gnu.org>
35806
35807 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
35808 compiling execute.c doesn't need grub_script.tab.h anymore.
35809 (normal/command.c_DEPENDENCIES): Likewise.
35810 (normal/function.c_DEPENDENCIES): Likewise.
35811 * conf/i386-ieee1275.rmk: Likewise.
35812 * conf/i386-linuxbios.rmk: Likewise.
35813 * conf/i386-pc.rmk: Likewise.
35814 * conf/powerpc-ieee1275.rmk: Likewise.
35815 * conf/sparc64-ieee1275.rmk: Likewise.
35816
528ad8f2 358172008-05-29 Pavel Roskin <proski@gnu.org>
35818
d1dff95d 35819 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
35820 when scanning metadata for volume group name.
35821
528ad8f2 35822 * include/grub/script.h: Don't include grub_script.tab.h. It's
35823 a generated file, which may only be included from the files with
35824 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
35825 use union YYSTYPE, as the later allows forward declaration.
35826 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
35827
47248e08 358282008-05-29 Robert Millan <rmh@aybabtu.com>
35829
35830 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
35831 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
35832 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
35833 (grub_console_checkkey): Add grub_dprintf() call to report unknown
35834 scan codes.
35835
ee632529 358362008-05-29 Robert Millan <rmh@aybabtu.com>
35837
35838 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
35839 control key combinations.
35840
eee96e08 358412008-05-29 Robert Millan <rmh@aybabtu.com>
35842
35843 * util/powerpc/ieee1275/grub-install.in: Move from here ...
35844 * util/ieee1275/grub-install.in: ... to here.
35845 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
35846 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
35847 (grub_install_SOURCES): Likewise.
35848
da9a6a94 358492008-05-29 Robert Millan <rmh@aybabtu.com>
35850
35851 * fs/affs.c: Update copyright year.
35852 * fs/ext2.c: Likewise.
35853 * fs/fshelp.c: Likewise.
35854 * fs/hfsplus.c: Likewise.
35855 * fs/ntfs.c: Likewise.
35856 * fs/xfs.c: Likewise.
35857 * include/grub/fshelp.h: Likewise.
35858 * util/grub-mkdevicemap.c: Likewise.
35859
12e65f3a 358602008-05-28 Robert Millan <rmh@aybabtu.com>
35861
35862 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
35863 might need to be fatfs to support some firmware implementations
35864 (e.g. OFW or EFI).
35865
23023641 358662008-05-28 Robert Millan <rmh@aybabtu.com>
35867
35868 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
35869 devices.
35870 * util/grub-mkdevicemap.c (get_mmc_disk_name)
35871 (make_device_map): Likewise.
35872
887d2619 358732008-05-20 Bean <bean123ch@gmail.com>
35874
35875 * fs/fshelp.c (grub_fshelp_map_block): New function.
35876 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
35877 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
35878
35879 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
35880 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
35881 (grub_fshelp_journal): New structure.
35882 (grub_fshelp_map_block): New function prototype.
35883 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
35884 (grub_fshelp_map_block): Likewise.
35885
35886 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
35887 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
35888 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
35889 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
35890 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
35891 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
35892 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
35893 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
35894 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
35895 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
35896 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
35897 (grub_ext2_sblock): New members for journal support.
35898 (grub_ext3_journal_header): New structure.
35899 (grub_ext3_journal_revoke_header): Likewise.
35900 (grub_ext3_journal_block_tag): Likewise.
35901 (grub_ext3_journal_sblock): Likewise.
35902 (grub_fshelp_node): New members logfile and journal.
35903 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
35904 grub_fshelp_map_block to get real block number.
35905 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
35906 number.
35907 (grub_ext2_read_inode): Likewise.
35908 (grub_ext3_get_journal): New function.
35909 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
35910 (grub_ext2_close): Release memory used by journal.
35911
35912 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
35913 (REISERFS_MAGIC_DESC_BLOCK): New macro.
35914 (grub_reiserfs_transaction_header): Renamed to
35915 grub_reiserfs_description_block, replace field data with real_blocks.
35916 (grub_reiserfs_commit_block): New structure.
35917 (grub_reiserfs_data): New member journal.
35918 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
35919 number.
35920 (grub_reiserfs_read_symlink): Likewise.
35921 (grub_reiserfs_iterate_dir): Likewise.
35922 (grub_reiserfs_open): Likewise.
35923 (grub_reiserfs_read): Likewise.
35924 (grub_reiserfs_get_journal): New function.
35925 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
35926 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
35927 using grub_reiserfs_get_journal.
35928 (grub_reiserfs_close): Release memory used by journal.
35929
35930 * fs/affs.c (grub_affs_read_block): Change block type to
35931 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
35932
35933 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
35934
35935 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
35936
35937 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
35938
35939 * fs/udf.c (grub_udf_read_block): Change block type to
35940 grub_disk_addr_t. Use type cast to avoid warning.
35941
35942 * fs/xfs.c (grub_xfs_read_block): Likewise.
35943
b7c6bed5 359442008-05-16 Christian Franke <franke@computer.org>
35945
35946 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
35947 to ensure that break with ESC will always work.
35948 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
35949 Remove ESC from keyboard queue.
35950
eedf167f 359512008-05-16 Christian Franke <franke@computer.org>
35952
35953 * util/biosdisk.c: [__CYGWIN__] Add includes.
35954 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
35955 (get_os_disk): Move variable declarations to OS specific
35956 parts to avoid warning.
35957 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
35958 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
35959 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
35960 Cygwin.
35961 * util/getroot.c: [__CYGWIN__] Add includes.
35962 (strip_extra_slashes): Fix "/" case.
35963 [__CYGWIN__] (get_win32_path): New function.
35964 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
35965 [__CYGWIN__] (find_root_device): Disable.
35966 [__CYGWIN__] (get_bootsec_serial): New function.
35967 [__CYGWIN__] (find_cygwin_root_device): Likewise.
35968 [__linux__] (grub_guess_root_device): Add early returns to simplify
35969 structure.
35970 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
35971 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
35972 check for Linux only.
35973
a079699e 359742008-05-15 Bean <bean123ch@gmail.com>
35975
35976 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
35977 keyboard hang problem in apple's intel mac.
35978
1cf4059a 359792008-05-09 Robert Millan <rmh@aybabtu.com>
35980
35981 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
35982 devices.
35983 * util/grub-mkdevicemap.c (get_virtio_disk_name)
35984 (make_device_map): Likewise.
35985 Reported by Aurelien Jarno <aurel32@debian.org>
35986
ed759390 359872008-05-07 Ian Campbell <ijc@hellion.org.uk>
35988
35989 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
35990 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
35991 (make_device_map): Output entries for xvd type disks.
35992
b56c4eaa 359932008-05-07 Robert Millan <rmh@aybabtu.com>
35994
35995 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
35996 devices.
35997 * util/grub-mkdevicemap.c (get_cciss_disk_name)
35998 (make_device_map): Likewise.
35999 Reported by Roland Dreier <rdreier@cisco.com>
36000
7f8866ed 360012008-05-07 Robert Millan <rmh@aybabtu.com>
36002
36003 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
36004 grub_strstr() call. Correct a few mistakes in failure path handling.
36005
b0346e0f 360062008-05-06 Robert Millan <rmh@aybabtu.com>
36007
36008 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
36009 Do not print a trailing slash (therefore, the root directory is an
36010 empty string).
36011 (convert_system_path_to_grub_path): Do not remove trailing slash
36012 from make_system_path_relative_to_its_root() output.
36013
36014 * util/i386/pc/grub-install.in: Add trailing slash to output from
36015 make_system_path_relative_to_its_root().
36016
6cf12cbd 360172008-05-06 Robert Millan <rmh@aybabtu.com>
36018
36019 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
36020 ensures that output lines aren't intermangled with those sent to
36021 stderr (via grub_util_info()).
36022 * util/grub-probe.c (grub_refresh): Likewise.
36023 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
36024
0fbb3117 360252008-05-05 Christian Franke <franke@computer.org>
36026
36027 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
36028 Add Cygwin device names.
36029 (get_ide_disk_name) [__CYGWIN__]: Likewise.
36030 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
36031 (check_device): Return error instead of success on empty name.
36032 (make_device_map): Move label inside linux specific code to
36033 prevent compiler warning.
36034
8124cdb7 360352008-04-30 Robert Millan <rmh@aybabtu.com>
36036
36037 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
36038 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
36039 first boot option.
36040 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
36041
094c01d0 360422008-04-29 Robert Millan <rmh@aybabtu.com>
36043
36044 * docs/grub.cfg: New file (example GRUB configuration).
36045
f4b1fc02 360462008-04-26 Robert Millan <rmh@aybabtu.com>
36047
329ce2a5 36048 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
36049 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
36050 and `disk/ieee1275/nand.c'.
f4b1fc02 36051
25f16ec1 360522008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 36053
25f16ec1 36054 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
36055 i386-linuxbios.
36056
36057 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
36058 change the buffer size to 4096 for cdrom device.
36059
36060 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
36061 and nand.mod.
36062 (_linux_mod_SOURCES): New variable.
36063 (_linux_mod_CFLAGS): Likewise.
36064 (_linux_mod_LDFLAGS): Likewise.
36065 (linux_mod_SOURCES): Likewise.
36066 (linux_mod_CFLAGS): Likewise.
36067 (linux_mod_LDFLAGS): Likewise.
36068 (nand_mod_SOURCES): Likewise.
36069 (nand_mod_CFLAGS): Likewise.
36070 (nand_mod_LDFLAGS): Likewise.
36071
36072 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
36073 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
36074 type property. (nand device in olpc don't have this property)
36075
36076 * include/grub/disk.h (grub_disk_dev_id): New macro
36077 GRUB_DISK_DEVICE_NAND_ID.
36078
36079 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
36080 function prototype.
36081 (grub_rescue_cmd_initrd): Likewise.
36082
36083 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
36084 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
36085 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 36086
25f16ec1 36087 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
36088 GRUB_MACHINE_IEEE1275 is defined.
36089
36090 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
36091 Use NESTED_FUNC_ATTR attribute on the hook parameter.
36092
36093 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
36094 on nested function heap_init.
36095 (grub_upper_mem): New variable for i386-ieee1275.
36096 (grub_get_extended_memory): New function for i386-ieee1275.
36097 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
36098
36099 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
36100 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
36101 property.
f19dbdb7 36102
25f16ec1 36103 * loader/i386/ieee1275/linux.c: New file.
36104
36105 * loader/i386/ieee1275/linux_normal.c: New file.
36106
36107 * disk/ieee1275/nand.c: New file.
36108
e89d61e9 361092008-04-18 Thomas Schwinge <tschwinge@gnu.org>
36110
36111 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
36112 value.
36113 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
36114
602566f6 361152008-04-18 Robert Millan <rmh@aybabtu.com>
36116
36117 Restructures early code path on ieee1275 to unify grub_main() as
36118 the first C function that is executed in every platform.
36119
36120 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
36121 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
36122 cmain().
36123 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
36124 * kern/ieee1275/cmain.c (cmain): Rename to ...
36125 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
36126 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
36127 at the beginning.
36128
57490c2b 361292008-04-18 Robert Millan <rmh@aybabtu.com>
36130
36131 * util/update-grub.in: Fix syntax error when setting
36132 `GRUB_PRELOAD_MODULES'.
36133 Reported by Stephane Chazelas <stephane@artesyncp.com>
36134
1977517d 361352008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
36136
36137 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
36138 section into account, newer toolchains generate unique build ids
36139 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 36140 we want build ids to be preserved
1977517d 36141 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
36142 far from other sections don't cause the raw binary images grow
36143 size
36144
bfb1f1a2 361452008-04-15 Robert Millan <rmh@aybabtu.com>
36146
36147 * disk/lvm.c: Update copyright year.
36148 * kern/misc.c: Likewise.
36149
01979850 361502008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
36151
36152 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 36153 there is no memory left for physical volume name.
01979850 36154
0a1150e2 361552008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
36156
36157 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
36158 volume name mapping to support bigger than 9 character names properly.
36159
82ead3fe 361602008-04-13 Robert Millan <rmh@aybabtu.com>
36161
36162 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
36163 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
36164
e54a72f5 361652008-04-13 Christian Franke <franke@computer.org>
36166
36167 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
36168 to create a floppy emulation boot CD when non emulation mode
36169 does not work.
36170 Enable Joliet CD filesystem extension.
36171
9fe86034 361722008-04-13 Robert Millan <rmh@aybabtu.com>
36173
36174 * kern/misc.c (grub_strncat): Fix off-by-one error.
36175 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
36176
36177 * kern/env.c (grub_env_context_close): Clear current context, not
36178 previous one.
36179 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
36180
36181 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
36182
7ceeee39 361832008-04-13 Robert Millan <rmh@aybabtu.com>
36184
36185 Improve robustness when handling LVM.
36186
36187 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 36188 (and leave `*p' unmodified).
7ceeee39 36189 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
36190 through it.
36191 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
36192 iterating through it.
36193 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
36194 through it.
fe6b695a 36195 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 36196 when due) on each grub_lvm_getvalue() or grub_strstr() call.
36197 Don't assume `vg->pvs != NULL' when iterating through it.
36198
58cd3d85 361992008-04-13 Robert Millan <rmh@aybabtu.com>
36200
36201 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
36202 * genmk.rb (partmap): New variable.
36203 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
36204 (#{partmap}): New target rule.
36205 * genpartmaplist.sh: New file.
36206 * Makefile.in (pkglib_DATA): Add partmap.lst.
36207 (partmap.lst): New target rule.
36208 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
36209 modules (including all partition maps), instead of preloading them.
36210
78b51059 362112007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
36212
36213 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
36214 `linux-boot-prober' (if installed) to detect other operating
36215 systems which are installed on the computer and add them to
36216 the boot menu.
36217 * conf/common.rmk: Build and install 30_os-prober.
36218
a91627b4 362192008-04-12 Robert Millan <rmh@aybabtu.com>
36220
36221 * kern/powerpc/ieee1275/init.c: Move from here ...
36222 * kern/ieee1275/init.c: ... to here. Update all users.
36223
36224 * kern/powerpc/ieee1275/cmain.c: Move from here ...
36225 * kern/ieee1275/cmain.c: ... to here. Update all users.
36226
36227 * kern/powerpc/ieee1275/openfw.c: Move from here ...
36228 * kern/ieee1275/openfw.c: ... to here. Update all users.
36229
36230 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
36231 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
36232
322562ea 362332008-04-10 Pavel Roskin <proski@gnu.org>
36234
36235 * configure.ac: Always use "_cv_" in cache variables for
36236 compatibility with Autoconf 2.62.
36237
a02a73c5 362382008-04-07 Robert Millan <rmh@aybabtu.com>
36239
36240 Revert grub/machine/init.h addition by Pavel (since it breaks on
36241 i386-ieee1275 and others):
36242 * util/i386/pc/misc.c: Remove grub/machine/init.h.
36243 * util/powerpc/ieee1275/misc.c: Likewise.
36244
25c024b1 362452008-04-07 Robert Millan <rmh@aybabtu.com>
36246
36247 * util/grub-probe.c (probe): Improve error message.
36248
3cbd2f98 362492008-04-07 Robert Millan <rmh@aybabtu.com>
36250
36251 * util/biosdisk.c (read_device_map): Skip devices that don't exist
36252 (this prevents the presence of a bogus entry from ruining the whole
36253 thing).
36254
87a297bf 362552008-04-06 Pavel Roskin <proski@gnu.org>
36256
36747a62 36257 * util/biosdisk.c: Include grub/util/biosdisk.h.
36258 * util/grub-fstest.c (execute_command): Make static.
36259 * util/grub-mkdevicemap.c (check_device): Likewise.
36260 * util/i386/pc/misc.c: Include grub/machine/init.h.
36261 * util/powerpc/ieee1275/misc.c: Likewise.
36262 * util/lvm.c: Include grub/util/lvm.h.
36263 * util/misc.c: Include grub/kernel.h, grub/misc.h and
36264 grub/cache.h.
36265 * util/raid.c: Include grub/util/raid.h.
36266 (grub_util_getdiskname): Make static.
36267
87a297bf 36268 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
36269 grub_hostfs_fini(), as they are called from grub_init_all() and
36270 grub_fini_all() respectively. This fixes an infinite loop in
36271 grub-fstest due to double registration of hostfs.
36272 Reported by Christian Franke <Christian.Franke@t-online.de>
36273
f6ce7629 362742008-04-05 Pavel Roskin <proski@gnu.org>
36275
36276 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
36277 all 8 functions. Otherwise, probe function 0 only.
36278
070e49e4 362792008-04-04 Pavel Roskin <proski@gnu.org>
36280
8b088a4c 36281 * commands/lspci.c (grub_lspci_iter): Print the bus number
36282 correctly.
36283
4f657021 36284 * commands/lspci.c (grub_pci_classes): Fix typos.
36285 (grub_lspci_iter): Don't print func twice. Print vendor ID
36286 before device ID, as it's normally done.
36287
070e49e4 36288 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
36289 Fix signedness warnings.
36290 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
36291 Likewise.
36292 * util/ieee1275/get_disk_name.c: Include config.h so that
36293 _GNU_SOURCE is defined and getline() is declared. Mark an
36294 unused argument as such. Fix a signedness warning.
36295
ba7328dc 362962008-04-02 Pavel Roskin <proski@gnu.org>
36297
26887f22 36298 * genkernsyms.sh.in: Use more robust assignments for CC and
36299 srcdir. Quote srcdir.
36300 * gensymlist.sh.in: Likewise. Assert at the compile time that
36301 the symbol table is not empty.
36302
ba7328dc 36303 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
36304 * fs/cpio.c (grub_cpio_read): Likewise.
36305
0f582c6b 363062008-04-01 Pavel Roskin <proski@gnu.org>
36307
4b6e1995 36308 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
36309 * disk/host.c (grub_host_open): Likewise.
36310 * disk/loopback.c (grub_loopback_open): Likewise.
36311 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
36312 disk->id as in disk/host.c, not a multi-character constant.
36313
828a2768 36314 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
36315 later is obsolete, potentially dangerous and sets a bad example.
36316 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
36317 * util/misc.c (grub_util_get_image_size): Likewise.
36318
2bb4fb47 36319 * disk/loopback.c (options): Improve help for "--partitions".
36320
0f582c6b 36321 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
36322 options to align them with the short options, e.g. "echo -e".
36323
a33224e0 363242008-03-31 Bean <bean123ch@gmail.com>
36325
36326 * video/reader/png.c (grub_png_data): New member is_16bit and
36327 image_data.
36328 (grub_png_decode_image_header): Detect 16 bit png image.
36329 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
36330 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
36331 (grub_video_reader_png): Release memory occupied by image_data.
36332
36333 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
36334 4096 bytes.
36335 (grub_nfs_mount): Skip the test for sector per cluster.
36336
36337 * include/grub/ntfs.h (MAX_SPC): Removed.
36338
86cb4f54 363392008-03-31 Bean <bean123ch@gmail.com>
36340
36341 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
36342 (grub_probe_SOURCES): Add fs/afs.c.
36343 (grub_fstest_SOURCES): Likewise.
36344 (afs_mod_SOURCES): New variable.
36345 (afs_mod_CFLAGS): Likewise.
36346 (afs_mod_LDFLAGS): Likewise.
36347
36348 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
36349 (grub_emu_SOURCES): Likewise.
36350
36351 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36352
36353 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36354
36355 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36356
36357 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36358
36359 * fs/afs.c: New file.
36360
17c74c21 363612008-03-30 Pavel Roskin <proski@gnu.org>
36362
4cb68e89 36363 * disk/host.c: Include grub/misc.h to fix a warning.
36364 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
36365 warnings about implicit declarations.
36366
8790bb04 36367 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
36368 variable.
36369 * include/grub/i386/loader.h: Change declaration of
36370 grub_linux_boot() to match what grub_loader_set() expects.
36371 * util/getroot.c (grub_guess_root_device): Return const char* to
36372 fix a warning.
36373 * util/grub-probe.c (probe): Fix a warning about uninitialized
36374 abstraction_name variable.
36375 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
36376 second argument as unused to fix a warning.
36377
9a3f3296 36378 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
36379 missing grub_error() call.
36380
0ecef90d 36381 * util/update-grub_lib.in: Define datarootdir, since Autoconf
36382 2.60 and newer uses it to define datadir.
36383
0bf6d401 36384 * commands/sleep.c: Fix warning about implicit declaration.
36385 * disk/memdisk.c: Likewise.
36386 * loader/aout.c: Likewise.
36387 * loader/i386/bsd_normal.c: Likewise.
36388 * util/grub-probe.c: Likewise.
36389
7cdacf97 36390 * commands/i386/cpuid.c (has_longmode): Make static.
36391 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
36392 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
36393
17c74c21 36394 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
36395 GDT. This is more robust, as %ds can change.
36396 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
36397 calling real_to_prot().
36398 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
36399
80a3e68b 364002008-03-28 Pavel Roskin <proski@gnu.org>
36401
36402 * kern/i386/pc/startup.S: Assert that uncompressed functions
36403 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
36404 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
36405 code, as they push parts of the code (error handlers) beyond
36406 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
36407 code as correctness and size.
36408
77bcd272 364092008-03-28 Pavel Roskin <proski@gnu.org>
36410
36411 * kern/i386/pc/startup.S
36412 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
36413 data block address to the real mode, keep offset minimal. This
36414 works around a bug in AWARD BIOS on old Athlon systems, which
36415 makes CD detection hang.
36416
c5dfd43b 364172008-03-26 Pavel Roskin <proski@gnu.org>
36418
36419 * normal/color.c (grub_parse_color_name_pair): Make `name' a
36420 const.
36421 * include/grub/normal.h: Add grub_parse_color_name_pair()
36422 declaration.
36423
bf962df2 364242008-03-24 Bean <bean123ch@gmail.com>
36425
36426 * disk/i386/pc/biosdisk.c (cd_start): Removed.
36427 (cd_count): Removed.
36428 (cd_drive): New variable.
36429 (grub_biosdisk_get_drive): Don't check for (cdN) device.
36430 (grub_biosdisk_call_hook): Likewise.
36431 (grub_biosdisk_iterate): Change cdrom detection method.
36432 (grub_biosdisk_open): Replace cd_start with cd_drive.
36433 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
36434 detect cdrom device.
36435
36436 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
36437 Removed.
36438 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
36439 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
36440 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
36441 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
36442 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
36443 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
36444 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
36445 (grub_biosdisk_cdrp): New structure.
36446 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
36447
36448 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
36449
36450 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
36451 device.
36452
36453 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
36454 New function.
36455
68e7fc7a 364562008-03-20 Robert Millan <rmh@aybabtu.com>
36457
36458 Remove 2 TiB limit in ata.mod.
36459 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
36460 (grub_ata_dumpinfo): Print sector count with 0x%llx.
36461 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
36462 grub_uint64_t instead of grub_uint32_t.
36463
38ad2cf5 364642008-03-05 Bean <bean123ch@gmail.com>
36465
36466 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
36467 (grub_multiboot): Set boot device.
36468
36469 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
36470
2b89344e 364712008-03-02 Bean <bean123ch@gmail.com>
36472
36473 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
36474 symlink_buffer.
36475
87a95d1f 364762008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
36477
36478 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
36479 texinfo.tex.
36480
36481 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
36482 modified.
36483
36484 * docs/fdl.texi: New file.
f19dbdb7 36485
87a95d1f 36486 * docs/mdate-sh: New file. Copied from gnulib.
36487 * docs/texinfo.tex: Likewise.
36488
36489 * config.guess: Updated from gnulib.
36490 * install-sh: Likewise.
36491
7dc15d8e 364922008-02-28 Robert Millan <rmh@aybabtu.com>
36493
36494 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
36495 (aout_mod_SOURCES): New variable.
36496 (aout_mod_CFLAGS): Likewise.
36497 (aout_mod_LDFLAGS): Likewise.
36498
36499 * conf/i386-ieee1275.rmk: Likewise.
36500
b00ab696 365012008-02-28 Robert Millan <rmh@aybabtu.com>
36502
36503 * util/update-grub.in: Reorganise terminal validity check. Accept
36504 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
36505 Based on suggestion by Franklin PIAT.
36506
79ca2d78 365072008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
36508
36509 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
36510 function.
36511 * util/getroot.c (grub_util_check_block_device): New function that
36512 returns the given argument if it is a block device and returns NULL else.
36513 * util/grub-probe.c (argument_is_device): New variable.
36514 (probe): Promote device_name from a variable to an argument. Receive
36515 device_name from grub_util_check_block_device() if path is NULL and from
36516 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 36517 (options): Introduce new parameter '-d, --device'.
79ca2d78 36518 (main): Add description of the new parameter to the help screen.
36519 Rename path variable to argument. Set argument_is_device if the '-d'
36520 option is given. Pass argument to probe() depending on
36521 argument_is_device.
36522
0d16e571 365232008-02-24 Bean <bean123ch@gmail.com>
36524
36525 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
36526 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
36527 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
36528 (GRUB_ISO9660_VOLDESC_PART): Likewise.
36529 (GRUB_ISO9660_VOLDESC_END): Likewise.
36530 (grub_iso9660_primary_voldesc): New member escape.
36531 (grub_iso9660_data): New member joliet.
36532 (grub_iso9660_convert_string): New function.
36533 (grub_iso9660_mount): Detect joliet extension.
36534 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
36535 (grub_iso9660_iso9660_label): Likewise.
36536
36537 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
36538 (grub_setup_SOURCES): Add fs/udf.c.
36539 (grub_fstest_SOURCES): Likewise.
36540 (udf_mod_SOURCES): New variable.
36541 (udf_mod_CFLAGS): Likewise.
36542 (udf_mod_LDFLAGS): Likewise.
36543
36544 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
36545 (grub_emu_SOURCES): Likewise.
36546
36547 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36548
36549 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36550
36551 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36552
36553 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36554
36555 * fs/udf.c: New file.
36556
8a594a17 365572008-02-24 Robert Millan <rmh@aybabtu.com>
36558
36559 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
36560 (normal/lexer.c_DEPENDENCIES): New variables.
36561 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
36562 (normal/lexer.c_DEPENDENCIES): Likewise.
36563 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
36564 (normal/lexer.c_DEPENDENCIES): Likewise.
36565 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
36566 (normal/lexer.c_DEPENDENCIES): Likewise.
36567 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
36568 (normal/lexer.c_DEPENDENCIES): Likewise.
36569 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
36570 (normal/lexer.c_DEPENDENCIES): Likewise.
36571
2dc33c03 365722008-02-23 Robert Millan <rmh@aybabtu.com>
36573
36574 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
36575 since they were intended to be in hex. This didn't break previously
36576 because of a bug in gpt_partition_map_iterate() (see below).
36577
36578 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
36579 when checking the validity of GPT header.
36580 Remove `partno', since it always provides the same information as `i'.
36581
f6f4cfb0 365822008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
36583
36584 * include/grub/efi/time.h: Fix a wrong comment.
36585
79ff665f 365862008-02-19 Pavel Roskin <proski@gnu.org>
36587
36588 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
36589 message.
36590
d38e24c2 365912008-02-19 Bean <bean123ch@gmail.com>
36592
36593 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
36594 (aout_mod_SOURCES): New variable.
36595 (aout_mod_CFLAGS): Likewise.
36596 (aout_mod_LDFLAGS): Likewise.
36597 (_bsd_mod_SOURCES): New variable.
36598 (_bsd_mod_CFLAGS): Likewise.
36599 (_bsd_mod_LDFLAGS): Likewise.
36600 (bsd_mod_SOURCES): New variable.
36601 (bsd_mod_CFLAGS): Likewise.
36602 (bsd_mod_LDFLAGS): Likewise.
36603
36604 * include/grub/aout.h: New file.
36605
36606 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
36607
36608 * include/grub/i386/bsd.h: New file.
36609
36610 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
36611 to make it public.
36612
36613 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
36614 function is called, so that it's possible to change it inside the hook.
36615 (grub_elf64_load): Likewise.
36616 (grub_elf_file): Don't close the file if elf header is not found.
36617 (grub_elf_close): Close the file if grub_elf_file fails (The new
36618 grub_elf_file won't close it).
36619 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
36620 (grub_elf64_size): Likewise.
36621
36622 * kern/i386/loader.S (grub_unix_real_boot): New function.
36623
36624 * loader/aout.c: New file.
36625
36626 * loader/i386/bsd.c: New file.
36627
36628 * loader/i386/bsd_normal.c: New file.
36629
36630 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
36631
36632 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 36633 can test other formats.
d38e24c2 36634
b93bdb0f 366352008-02-19 Robert Millan <rmh@aybabtu.com>
36636
36637 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
36638 (grub_gpt_partition_type_empty): Redefine with macro from
36639 `<grub/gpt_partition.h>'.
36640 (gpt_partition_map_iterate): Adjust partition type comparison.
36641
36642 Export `entry' as partmap-specific `part.data' struct.
36643 (grub_gpt_header, grub_gpt_partentry): Move from here ...
36644
36645 * include/grub/gpt_partition.h (grub_gpt_header)
36646 (grub_gpt_partentry): ... to here (new file).
36647
36648 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
36649
36650 (grub_gpt_partition_type_bios_boot): New const variable, defined
36651 with macro from `<grub/gpt_partition.h>'.
36652
36653 (setup): Replace `first_start' with `embed_region', which keeps
36654 track of the embed region (and is partmap-agnostic).
36655
36656 Replace find_first_partition_start() with find_usable_region(),
36657 which finds a usable region for embedding using partmap-specific
36658 knowledge (supports PC/MSDOS and GPT).
36659
36660 Fix all assumptions that the embed region start at sector 1, using
36661 `embed_region.start' from now on. Similarly, use `embed_region.end'
36662 rather than `first_start' to calculate available size.
36663
36664 In grub_util_info() message, replace "into after the MBR" with an
36665 indication of the specific sector our embed region starts at.
36666
66cb40f6 366672008-02-19 Robert Millan <rmh@aybabtu.com>
36668
36669 * DISTLIST: Replace `commands/ieee1275/halt.c' and
36670 `commands/ieee1275/reboot.c' with `commands/halt.c' and
36671 `commands/reboot.c'.
36672 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
36673 (halt_mod_SOURCES): Likewise.
36674 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
36675 (halt_mod_SOURCES): Likewise.
36676
b7202015 366772008-02-17 Christian Franke <franke@computer.org>
36678
36679 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
36680
32b0fc49 366812008-02-17 Robert Millan <rmh@aybabtu.com>
36682
36683 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
36684 set `first_start' to 0 for non-PC/MSDOS partition maps.
36685
aca63502 366862008-02-16 Robert Millan <rmh@aybabtu.com>
36687
36688 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
36689 do not assume partition map is PC/MSDOS before performing checks that
36690 are specific to that layout.
36691
0de8be86 366922008-02-13 Robert Millan <rmh@aybabtu.com>
36693
36694 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
36695 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
36696 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
36697
c3db8364 366982008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
36699
36700 * configure.ac: Only a cosmetic change on the handling of
36701 -fno-stack-protector.
36702
f714229e 367032008-02-12 Alexandre Boeglin <alex@boeglin.org>
36704
c3db8364 36705 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
36706 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
36707 reboot.c.
f714229e 36708 (grub_install_SOURCES): Add halt.mod and reboot.mod.
36709 (halt_mod_SOURCES): New variable.
36710 (halt_mod_CFLAGS): Likewise.
36711 (halt_mod_LDFLAGS): Likewise.
36712 (reboot_mod_SOURCES): Likewise.
36713 (reboot_mod_CFLAGS): Likewise.
36714 (reboot_mod_LDFLAGS): Likewise.
36715
c3db8364 36716 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
36717 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
36718 reboot.c.
f714229e 36719 (halt_mod_SOURCES): Likewise.
36720 (reboot_mod_SOURCES): Likewise.
36721
c3db8364 36722 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
36723 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 36724 (reboot_mod_SOURCES): Likewise.
36725
36726 * commands/i386/pc/reboot.c: merge this file ...
36727
36728 * commands/ieee1275/reboot.c: ... and this file ...
36729
36730 * commands/reboot.c: ... to this file.
c3db8364 36731 Add some precompiler directive to include the correct header for
36732 each machine.
f714229e 36733
36734 * commands/ieee1275/halt.c: move this file ...
36735
36736 * commands/halt.c: ... to here.
c3db8364 36737 Add some precompiler directive to include the correct header for
36738 each machine.
f714229e 36739
36740 * include/grub/efi/efi.h (grub_reboot): New function declaration.
36741 (grub_halt): Likewise.
36742
36743 * kern/efi/efi.c (grub_reboot): New function.
36744 (grub_halt): Likewise.
36745
c74493e0 367462008-02-12 Robert Millan <rmh@aybabtu.com>
36747
36748 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
36749 /dev (like it is done for /dev/mapper). This doesn't provide support
36750 for EVMS, but at least it is now easy to identify the problem when it
36751 arises.
36752
d0db4b04 367532008-02-11 Robert Millan <rmh@aybabtu.com>
36754
36755 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
36756 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
36757 comparing it with -1, not 0.
36758
bf748642 367592008-02-10 Robert Millan <rmh@aybabtu.com>
36760
36761 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
36762 `disk/lvm.c'.
36763 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36764 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
36765
36766 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
36767 `disk/lvm.c' to the end of the list.
36768 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36769 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36770
b5db202a 367712008-02-10 Robert Millan <rmh@aybabtu.com>
36772
36773 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
36774 grub_print_error() instead. This will let user know why we're entering
36775 rescue mode.
36776 Based on suggestions from Sam Morris.
36777
83abee31 367782008-02-10 Alexandre Boeglin <alex@boeglin.org>
36779
36780 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
36781 on remaining N args, instead of "--" arg N times.
36782
78d5a08b 367832008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
36784
36785 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
36786 (fill_with_default_glyph): Changed to use unknown_glyph for fill
36787 pattern for unknown glyphs.
36788
68807e5f 367892008-02-09 Robert Millan <rmh@aybabtu.com>
36790
36791 * configure.ac: Probe for `help2man'.
36792 * Makefile.in (builddir): New variable.
36793 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
36794 or otherwise add a few flags/options to it.
36795 (install-local): For every executable utility or script that is
36796 installed, invoke $(HELP2MAN) to install a manpage based on --help
36797 output.
36798
36799 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
36800 that it doesn't prevent --help from working in build tree.
36801
36802 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
36803 with `bug-grub@gnu.org'.
36804 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
36805 * util/update-grub.in (usage): New function.
36806 Implement proper argument check, with support for --help and --version
36807 (as well as existing -y).
36808
368092008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 36810
36811 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
36812 avoid overwriting previous output.
36813 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
36814
c1962162 368152008-02-09 Robert Millan <rmh@aybabtu.com>
36816
36817 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
36818 drawing the menu.
36819
3dac2e3f 368202008-02-09 Robert Millan <rmh@aybabtu.com>
36821
36822 * commands/sleep.c: New file.
36823 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
36824 (sleep_mod_SOURCES): New variable.
36825 (sleep_mod_CFLAGS): Likewise.
36826 (sleep_mod_LDFLAGS): Likewise.
36827
7a634e08 368282008-02-09 Robert Millan <rmh@aybabtu.com>
36829
36830 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
36831 situations in which we can deduce the RAID size and the superblock
36832 doesn't match it.
36833
b92f0c18 368342008-02-09 Robert Millan <rmh@aybabtu.com>
36835
36836 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
36837 and return a grub_diskmemberlist_t composed of LVM physical volumes.
36838 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
36839
36840 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
36841 and return a grub_diskmemberlist_t composed of physical array members.
36842 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
36843
36844 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
36845 prototype.
36846 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
36847 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
36848 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
36849
36850 * util/grub-probe.c (probe): Move partmap probing code from here ...
36851 (probe_partmap): ... to here.
36852 (probe): Use probe_partmap() once for the disk we're probing, and
36853 additionally, when such disk contains a memberlist() struct member,
36854 once for each disk that is contained in the structure returned by
36855 memberlist().
36856
91a4bf68 368572008-02-09 Robert Millan <rmh@aybabtu.com>
36858
36859 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
36860 environment variable to 'all' in order to obtain debug output from
36861 non-util/ code.
36862 * util/i386/pc/grub-setup.c (main): Likewise.
36863
a96f9caa 368642008-02-08 Robert Millan <rmh@aybabtu.com>
36865
36866 * disk/raid.c (grub_raid_scan_device): Check for
36867 `array->device[sb.this_disk.number]' rather than for
36868 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 36869 guaranteed to be accessible.
a96f9caa 36870
b37a9222 368712008-02-08 Robert Millan <rmh@aybabtu.com>
36872
36873 * disk/raid.c: Update copyright.
36874 * fs/cpio.c: Likewise.
36875 * include/grub/raid.h: Likewise.
36876 * loader/i386/pc/multiboot.c: Likewise.
36877 * util/hostfs.c: Likewise.
36878
5626aee1 368792008-02-08 Robert Millan <rmh@aybabtu.com>
36880
36881 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
36882 to a grub_disk_t array.
36883 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
36884 `device[x]'.
36885 (grub_raid_scan_device): Replace `device[x].name' accesses with
36886 `device[x]->name'. Simplify initialization of `array->device[x]'.
36887
554f0187 368882008-02-08 Robert Millan <rmh@aybabtu.com>
36889
36890 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
36891 grub_dprintf() calls.
36892 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
36893 error message.
36894
1ec8425d 368952008-02-07 Christian Franke <franke@computer.org>
36896
36897 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
36898 instead of fseek and ftell to support large files.
36899 (grub_hostfs_read): Likewise.
36900
f2156fda 369012008-02-07 Robert Millan <rmh@aybabtu.com>
36902
36903 Patch from Jeroen Dekkers.
36904 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 36905 failure, since successfully reading all array members might not be
f2156fda 36906 required.
36907
9216e0e7 369082008-02-06 Robert Millan <rmh@aybabtu.com>
36909
36910 * util/grub-probe.c (probe): Simplify partmap probing (with the
36911 assumption that the first word up to the underscore equals to
36912 the module name).
36913
b0dfd29a 369142008-02-06 Christian Franke <franke@computer.org>
36915
36916 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
36917 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
36918 last block of a cpio or tar stream.
36919 Check for "TRAILER!!!" instead of any empty data
36920 block to detect last block of a cpio stream.
36921 (grub_cpio_dir): Fix constness of variable np.
36922 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
36923 cpio or tar trailer is detected. This fixes a crash
36924 on open of a non existing file.
36925
c32865bf 369262008-02-05 Bean <bean123ch@gmail.com>
36927
36928 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
36929 address of entry.
36930 (grub_multiboot_load_elf64): Likewise.
36931 (grub_multiboot): Initialize mbi structure.
36932
36933 * util/grub-fstest.c: Don't include unused header file script.h.
36934
fe6b695a 36935 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 36936 of file.
36937 (grub_fstest_SOURCES): Likewise.
36938
409480b7 369392008-02-05 Robert Millan <rmh@aybabtu.com>
36940
36941 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
36942 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
36943 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
36944 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
36945
36946 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
36947 (translation_table): Replace hardcoded values with macros
36948 provided by `<grub/term.h>'.
36949
36950 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
36951 (keyboard_map): Correct/add a few values, with macros provided
36952 by `<grub/term.h>'.
36953 (keyboard_map_shift): Zero values that don't differ from their
36954 `keyboard_map' equivalents.
36955 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
36956 Discard the second scan code that is always sent by Caps lock.
36957 Only use `keyboard_map_shift' when it provides a non-zero value,
36958 otherwise fallback to `keyboard_map'.
36959
99fadbaa 369602008-02-04 Bean <bean123ch@gmail.com>
36961
36962 * Makefile.in (enable_grub_fstest): New variable.
36963
36964 * conf/common.rmk (grub_fstest_init.lst): New rule.
36965 (grub_fstest_init.h): Likewise.
36966 (grub_fstest_init.c): Likewise.
36967 (util/grub-fstest.c_DEPENDENCIES): New variable.
36968 (grub_fstest_SOURCES): Likewise.
36969
36970 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
36971
36972 * util/grub-fstest.c: New file.
36973
bf567c50 369742008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
36975
36976 Make grub-setup handle a separate root device.
f19dbdb7 36977
bf567c50 36978 * util/i386/pc/grub-setup.c (setup): Always open the root device,
36979 so that the root device can be compared with the destination
36980 device.
36981 When embedding the core image, if the root and destination devices
36982 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
36983 0xFF.
36984 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 36985
9be6b98b 369862008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
36987
36988 Add support for having a grub directory in a different drive. This
36989 is still only the data handling part.
f19dbdb7 36990
9be6b98b 36991 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
36992 (codestart): Save %dh in GRUB_ROOT_DRIVE.
36993 (grub_root_drive): New variable.
36994
36995 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
36996 instead of GRUB_BOOT_DRIVE to construct a device name. Set
36997 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
36998 as it was.
36999
37000 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
37001
37002 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
37003 macro.
37004 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
37005
37006 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
37007 is bogus, because PXE booting does not specify any drive
37008 correctly.
37009
37010 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
37011 am not sure if this is really correct.
37012
37013 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
37014 is always identical to the boot drive when booting from a CD.
37015
37016 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
37017 longer.
37018 (root_drive): New variable.
37019 (real_start): Unconditionally set %dh to ROOT_DRIVE.
37020 (setup_sectors): Push %dx right after popping it, because %dh will
37021 be modified later.
37022 (copy_buffer): Restore %dx.
37023
e0ca0677 370242008-02-03 Robert Millan <rmh@aybabtu.com>
37025
37026 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
37027 use `cdboot.img' for cdrom images.
37028
3b3f6629 370292008-02-03 Robert Millan <rmh@aybabtu.com>
37030
37031 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
37032 only setup gfxterm when `font' command has succeeded.
37033
d42b3672 370342008-02-03 Robert Millan <rmh@aybabtu.com>
37035
37036 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
37037 (grub_rescue_cmd_multiboot_loader)
37038 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
37039
fa370ea6 370402008-02-03 Pavel Roskin <proski@gnu.org>
37041
e0c5dacb 37042 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 37043 %edx and %esi from stack only after grub_gate_a20() is called.
37044 grub_gate_a20() clobbers %edx.
37045
f2a76e1d 370462008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37047
37048 * configure.ac (AC_INIT): Bumped to 1.96.
37049
37050 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
37051 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
37052 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
37053 video/readers/png.c.
37054
90fd32d1 370552008-02-03 Bean <bean123ch@gmail.com>
9be665dd 37056
37057 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
37058 (cdboot_img_SOURCES): New variable.
37059 (cdboot_img_ASFLAGS): New variable.
37060 (cdboot_img_LDFLAGS): New variable.
37061
37062 * boot/i386/pc/cdboot.S: New file.
37063
37064 * disk/i386/pc/biosdisk.c (cd_start): New variable.
37065 (cd_count): Likewise.
37066 (grub_biosdisk_get_drive): Add support for cd device.
37067 (grub_biosdisk_call_hook): Likewise.
37068 (grub_biosdisk_iterate): Likewise.
37069 (grub_biosdisk_open): Likewise.
37070 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
37071 (grub_biosdisk_rw): Support reading from cd device.
37072 (GRUB_MOD_INIT): Iterate cd devices.
37073
37074 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
37075 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
37076 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
37077
37078 * kern/i386/pc/init.c (make_install_device): Check for cd device.
37079
4020aa53 370802008-02-02 Robert Millan <rmh@aybabtu.com>
37081
37082 * commands/read.c: New file.
37083 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
37084 (read_mod_SOURCES): New variable.
37085 (read_mod_CFLAGS): Likewise.
37086 (read_mod_LDFLAGS): Likewise.
37087
e03a1132 370882008-02-02 Robert Millan <rmh@aybabtu.com>
37089
37090 * normal/main.c (grub_normal_execute): Check for `menu->size' when
37091 determining whether menu has to be displayed.
37092
58c69220 370932008-02-02 Marco Gerards <marco@gnu.org>
37094
37095 * bus/pci.c: New file.
37096
37097 * include/grub/pci.h: Likewise.
37098
37099 * include/grub/i386/pc/pci.h: Likewise.
37100
37101 * commands/lspci.c: Likewise.
37102
37103 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
37104 `lspci.mod'.
37105 (pci_mod_SOURCES): New variable.
37106 (pci_mod_CFLAGS): Likewise.
37107 (pci_mod_LDFLAGS): Likewise.
37108 (lspci_mod_SOURCES): Likewise.
37109 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 37110 (lspci_mod_LDFLAGS): Likewise.
58c69220 37111
c004e1b4 371122008-02-02 Bean <bean123ch@gmail.com>
37113
37114 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
37115 (grub_ufs_get_file_block): Fix indirect block calculation problem.
37116
37117 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
37118 (grub_xfs_btree_node): New structure.
37119 (grub_xfs_btree_root): New structure.
37120 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
37121 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
37122 (GRUB_XFS_EXTENT_BLOCK): Likewise.
37123 (GRUB_XFS_EXTENT_SIZE): Likewise.
37124 (grub_xfs_read_block): Support btree format type.
37125 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
37126 Use directory block as basic unit.
37127
37128 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
37129
37130 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
37131 __attribute__ ((__regparm__ (1))).
37132
f95562bf 371332008-02-01 Robert Millan <rmh@aybabtu.com>
37134
37135 Correct a mistake in previous commit.
37136
37137 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
37138 top.
37139 (normal/command.c_DEPENDENCIES): New variable.
37140
7d31f41f 371412008-02-01 Robert Millan <rmh@aybabtu.com>
37142
37143 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
37144 top.
37145 (normal/command.c_DEPENDENCIES): New variable.
37146 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
37147 * conf/i386-ieee1275.rmk: Likewise.
37148 * conf/i386-linuxbios.rmk: Likewise.
37149 * conf/i386-pc.rmk: Likewise.
37150 * conf/sparc64-ieee1275.rmk: Likewise.
37151 * conf/powerpc-ieee1275.rmk: Likewise.
37152 (grub_emu_SOURCES): Add `fs/fshelp.c'.
37153
37154 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
37155
60b6be74 371562008-02-01 Robert Millan <rmh@aybabtu.com>
37157
37158 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
37159 call at beginning of function.
37160
078522ab 371612008-01-31 Pavel Roskin <proski@gnu.org>
37162
37163 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 37164 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
37165 (grub_mkrescue_SOURCES): Likewise.
078522ab 37166 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
37167
ccaa8a5f 371682008-01-30 Robert Millan <rmh@aybabtu.com>
37169
37170 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
37171 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
37172 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
37173 (grub_probe_SOURCES): ... to here.
37174
37175 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
37176 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
37177 * conf/i386-ieee1275.rmk: Likewise.
37178 * conf/i386-linuxbios.rmk: Likewise.
37179 * conf/powerpc-ieee1275.rmk: Likewise.
37180
ae5a9cd7 371812008-01-30 Tristan Gingold <gingold@free.fr>
37182
37183 * kern/rescue.c: Silently accept empty lines.
37184
70bc2ef2 371852008-01-29 Bean <bean123ch@gmail.com>
37186
37187 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
37188 (real_code_2): Code cleanup and change comment style.
37189 (move_memory): Avoid using 32-bit address mode.
37190
6a4d50ea 371912008-01-29 Bean <bean123ch@gmail.com>
37192
37193 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
37194 (png_mod_SOURCES): New variable.
37195 (png_mod_CFLAGS): Likewise.
37196 (png_mod_LDFLAGS): Likewise.
37197
37198 * video/readers/png.c: New file.
37199
11cc30ac 372002008-01-28 Robert Millan <rmh@aybabtu.com>
37201
37202 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
37203 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
37204 `ifndef GRUB_MOD_GAP' hack.
37205 * util/elf/grub-mkimage.c (add_segments): Likewise.
37206
3abc589f 372072008-01-27 Robert Millan <rmh@aybabtu.com>
37208
37209 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
37210 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 37211 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 37212
e1907778 372132008-01-27 Robert Millan <rmh@aybabtu.com>
37214
37215 Get grub-emu to build again (including parallel builds).
37216
37217 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
37218 Split into ...
37219 (util/grub-emu.c_DEPENDENCIES): ... this, ...
37220 (normal/execute.c_DEPENDENCIES): ... this, ...
37221 (grub-emu_DEPENDENCIES): ... and this.
37222
37223 * conf/i386-efi.rmk: Likewise.
37224 * conf/i386-linuxbios.rmk: Likewise.
37225 * conf/i386-ieee1275.rmk: Likewise.
37226 * conf/powerpc-ieee1275.rmk: Likewise.
37227 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
37228
2216b101 372292008-01-27 Robert Millan <rmh@aybabtu.com>
37230
37231 * NEWS: Add a few items.
37232
f75172d9 372332008-01-27 Robert Millan <rmh@aybabtu.com>
37234
37235 Fix parallel builds with grub-emu. Based on earlier commit for
37236 grub-probe and grub-setup.
37237
37238 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37239 (util/grub-emu.c_DEPENDENCIES): ... this.
37240 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37241 (util/grub-emu.c_DEPENDENCIES): ... this.
37242 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37243 (util/grub-emu.c_DEPENDENCIES): ... this.
37244 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37245 (util/grub-emu.c_DEPENDENCIES): ... this.
37246 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37247 (util/grub-emu.c_DEPENDENCIES): ... this.
37248
3f51de77 372492008-01-27 Pavel Roskin <proski@gnu.org>
37250
37251 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
37252 to create a gap between _end and the modules added to the image
37253 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
37254 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
37255 * util/elf/grub-mkimage.c (add_segments): Likewise.
37256
2033f53e 372572008-01-26 Pavel Roskin <proski@gnu.org>
37258
37259 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
37260 just return an error.
37261
22da1f6f 372622008-01-26 Bean <bean123ch@gmail.com>
37263
37264 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
37265 (grub_reiserfs_get_item): Save offset of the next item.
37266 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
37267
2a9525e6 372682008-01-25 Robert Millan <rmh@aybabtu.com>
37269
37270 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
37271 make all filesystem sources appear together (possibly fixing omissions
37272 while at it).
37273 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37274 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37275 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37276 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37277
37278 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
37279 add `kern/file.c'.
37280 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
37281 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
37282 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
37283 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
37284
37285 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
37286 (probe): Add a sanity check to make sure of our ability to read
37287 requested files when probing for filesystem type.
37288
37289 * genmk.rb: Update copyright year (2007).
37290
37291 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
37292 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
37293 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
37294 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
37295 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
37296 : Remove function prototypes.
37297
b95f71b5 372982008-01-25 Robert Millan <rmh@aybabtu.com>
37299
37300 Revert my previous commits (based on wrong assumption of how grub_errno
37301 works).
37302
fe6b695a 37303 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 37304 * kern/file.c (grub_file_open): Likewise.
37305
d08bbb49 373062008-01-24 Pavel Roskin <proski@gnu.org>
37307
37308 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
37309 that hang if GRUB tries to setup colors.
37310 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
37311 colors for firmwares that don't support it.
37312 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
37313 Recognize Open Hack'Ware, set flags to work around its
37314 limitations.
37315
605e36ed 373162008-01-24 Robert Millan <rmh@aybabtu.com>
37317
37318 * kern/file.c (grub_file_open): Do not account previous failures of
37319 unrelated functions when grub_errno is checked for.
37320 Reported by Oleg Strikov.
37321
bac332a1 373222008-01-24 Bean <bean123ch@gmail.com>
37323
37324 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
37325 (grub_ufs_sblock): New member volume name.
37326 (grub_ufs_find_file): Fix string copy bug.
37327 (grub_ufs_label): Implement this function properly.
37328
37329 * fs/hfs.c (grub_hfs_cnid_type): New enum.
37330 (grub_hfs_iterate_records): Use the correct file number for extents
37331 and catalog file. Fix problem in next index calculation.
37332 (grub_hfs_find_node): Replace recursive function call with loop.
37333 (grub_hfs_iterate_dir): Replace recursive function call with loop.
37334
15c80c09 373352008-01-23 Robert Millan <rmh@aybabtu.com>
37336
37337 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
37338 `<grub/symbol.h>' and `<grub/multiboot.h>'.
37339 (grub_multiboot2_real_boot): New function prototype.
37340
37341 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
37342 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
37343
37344 * kern/i386/ieee1275/init.c (grub_os_area_addr)
37345 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
37346
305338fd 373472008-01-23 Robert Millan <rmh@aybabtu.com>
37348
37349 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
37350 #ifdef'ed out grub_printf().
37351
3ea52685 373522008-01-23 Robert Millan <rmh@aybabtu.com>
37353
37354 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
37355 grub_dprintf calls, since they make "debug=all" mode unusable.
37356 (grub_console_checkkey): Likewise.
37357
5882ae4b 373582008-01-23 Robert Millan <rmh@aybabtu.com>
37359
37360 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
37361 `term/i386/pc/at_keyboard.c'.
37362 (pkglib_MODULES): Add `serial.mod'.
37363 (serial_mod_SOURCES): New variable.
37364 (serial_mod_CFLAGS): Likewise.
37365 (serial_mod_LDFLAGS): Likewise.
37366
37367 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
37368 `<grub/powerpc/ieee1275/console.h>'.
37369 (grub_keyboard_controller_init): New function prototype.
37370 (grub_console_checkkey): Likewise.
37371 (grub_console_getkey): Likewise.
37372
37373 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
37374 keyboard on i386.
37375
37376 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
37377 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
37378
06ab5303 373792008-01-23 Robert Millan <rmh@aybabtu.com>
37380
37381 * kern/i386/pc/init.c (make_install_device): When memdisk image is
37382 present, "(memdisk)/boot/grub" becomes the default prefix.
37383
37384 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
37385 a memdisk tarball with all the modules. Add --overlay=DIR option that
37386 allows users to overlay additional files into the image.
37387
dbb475a4 373882008-01-23 Robert Millan <rmh@aybabtu.com>
37389
37390 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
37391 and `machine/memory.h'.
37392 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
37393 (_multiboot_mod_SOURCES): New variable.
37394 (_multiboot_mod_CFLAGS): Likewise.
37395 (_multiboot_mod_LDFLAGS): Likewise.
37396 (multiboot_mod_SOURCES): Likewise.
37397 (multiboot_mod_CFLAGS): Likewise.
37398 (multiboot_mod_LDFLAGS): Likewise.
37399
37400 * include/grub/i386/ieee1275/loader.h: New file.
37401
37402 * include/grub/i386/ieee1275/machine.h: Likewise.
37403
37404 * include/grub/i386/ieee1275/memory.h: Likewise.
37405
37406 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
37407 variable declaration.
37408 (grub_os_area_size): Likewise.
37409
37410 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
37411 (grub_lower_mem, grub_upper_mem): New variables.
37412 (grub_stop_floppy): New function (just to make
37413 grub_multiboot2_real_boot() happy).
37414
37415 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
37416 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
37417 (grub_stop): New function.
37418 Include `"../realmode.S"' and `"../loader.S"'.
37419
37420 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
37421 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
37422
37423 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
37424 rely on grub_multiboot2_real_boot() for final boot.
37425
25638629 374262008-01-22 Robert Millan <rmh@aybabtu.com>
37427
37428 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
37429 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
37430 device that doesn't look like an SD card.
37431 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
37432 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
37433 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
37434 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
37435 found.
37436
9dad816d 374372008-01-22 Robert Millan <rmh@aybabtu.com>
37438
37439 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
37440 avoid claiming over our own code.
37441
34842f2d 374422008-01-22 Bean <bean123ch@gmail.com>
37443
37444 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
37445 (jpeg_mod_SOURCES): New variable.
37446 (jpeg_mod_CFLAGS): Likewise.
37447 (jpeg_mod_LDFLAGS): Likewise.
37448
37449 * video/readers/jpeg.c : New file.
37450
44023a28 374512008-01-22 Bean <bean123ch@gmail.com>
37452
37453 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
37454 there are no more items.
37455
bc2d8ac6 374562008-01-21 Robert Millan <rmh@aybabtu.com>
37457
37458 * kern/mm.c (grub_mm_init_region): Improve debug message.
37459
261bd4bc 374602008-01-21 Robert Millan <rmh@aybabtu.com>
37461
37462 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
37463 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
37464 address.
37465 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
37466 a C macro.
37467 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
37468 Indicates start of upper memory.
37469 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
37470 (generate_image): Abort when image size is big enough to corrupt
37471 upper memory.
37472
37473 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
37474 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
37475 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
37476 instead of hardcoding 0xA0000.
37477 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
37478 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
37479 instead of hardcoding 0xA0000.
37480
f970b55e 374812008-01-21 Robert Millan <rmh@aybabtu.com>
37482
37483 * disk/memdisk.c (memdisk_size): New variable.
37484 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
37485 `memdisk_size'.
37486 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
37487 image to dynamic memory.
37488 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
37489 `memdisk_size'. Free memdisk block.
37490
1a8b0526 374912008-01-21 Robert Millan <rmh@aybabtu.com>
37492
37493 Fix detection of very small filesystems (like tar).
37494
37495 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
37496 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
37497 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
37498 a problem with this disk).
37499
6e9b4aab 375002008-01-21 Robert Millan <rmh@aybabtu.com>
37501
37502 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
37503 on grub_biosdisk_rw_standard() error.
37504
0d8837b2 375052008-01-21 Robert Millan <rmh@aybabtu.com>
37506
37507 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
37508 recent changes.
37509 * kern/elf.c: Likewise.
37510 * kern/ieee1275/ieee1275.c: Likewise.
37511 * kern/powerpc/ieee1275/openfw.c: Likewise.
37512 * term/ieee1275/ofconsole.c: Likewise.
37513
ffd36e34 375142008-01-21 Robert Millan <rmh@aybabtu.com>
37515
37516 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
37517
3f0093d0 37518 * include/grub/kernel.h (grub_arch_memdisk_addr)
37519 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 37520
3f0093d0 37521 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
37522 (grub_arch_memdisk_size): ... to here.
ffd36e34 37523
6c391b21 375242008-01-21 Robert Millan <rmh@aybabtu.com>
37525
37526 Mostly based on bugfix from Bean.
37527
37528 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
37529 attribute with hook() parameter.
37530 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
37531 declaration.
37532 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
37533 attribute with hook() parameter.
37534 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
37535 declaration.
37536
55a581dc 375372008-01-21 Robert Millan <rmh@aybabtu.com>
37538
37539 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
37540 (pkglib_MODULES): Add `memdisk.mod'.
37541 (memdisk_mod_SOURCES): New variable.
37542 (memdisk_mod_CFLAGS): Likewise.
37543 (memdisk_mod_LDFLAGS): Likewise.
37544
37545 * disk/memdisk.c: New file.
37546
37547 * include/grub/disk.h (grub_disk_dev_id): Add
37548 `GRUB_DISK_DEVICE_MEMDISK_ID'.
37549
37550 * include/grub/i386/pc/kernel.h
37551 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
37552 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
37553 (grub_kernel_image_size): New variable declaration.
37554 (grub_total_module_size): Likewise.
37555 (grub_memdisk_image_size): Likewise.
37556
37557 * include/grub/i386/pc/memory.h
37558 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
37559
37560 * include/grub/kernel.h: Include `<grub/symbol.h>'.
37561 (grub_arch_memdisk_addr): New variable declaration.
37562 (grub_arch_memdisk_size): Likewise.
37563
37564 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
37565 (grub_arch_memdisk_size): Likewise.
37566
37567 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
37568 (codestart): Replace hardcoded `0x100000' with
37569 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
37570
37571 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
37572 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
37573 not NULL, append the contents of the file it refers to, at the end of
37574 the compressed kernel image. Initialize `grub_memdisk_image_size'
37575 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
37576 (options): Add "memdisk"|'m' option.
37577 (main): Parse --memdisk|-m option, and pass user-provided path as
37578 parameter to generate_image().
37579
3d7f54c9 375802008-01-20 Robert Millan <rmh@aybabtu.com>
37581
37582 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
37583 grub_dprintf() calls from here ...
37584 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
37585
0bf74728 375862008-01-20 Robert Millan <rmh@aybabtu.com>
37587
37588 Fix detection of "real mode" when /options/real-mode? doesn't exist.
37589
37590 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
37591 declaration.
37592 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
37593 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
37594 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 37595 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 37596 property).
37597 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
37598 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
37599
33bf70a7 376002008-01-19 Robert Millan <rmh@aybabtu.com>
37601
fe6b695a 37602 Get rid of confusing function (superseded by
33bf70a7 37603 `grub_ieee1275_get_integer_property')
37604 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
37605 prototype.
37606 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
37607 function.
37608 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
37609 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 37610 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 37611
e2da7d26 376122008-01-19 Robert Millan <rmh@aybabtu.com>
37613
37614 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
37615 command after "shut-down", since implementations differ on which
37616 the command for halt is.
37617
59f1fd8d 376182008-01-19 Robert Millan <rmh@aybabtu.com>
37619
37620 * include/grub/i386/linuxbios/console.h: Add header protection.
37621 (grub_keyboard_controller_init): New function prototype.
37622 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
37623 (KEYBOARD_COMMAND_READ): Likewise.
37624 (KEYBOARD_COMMAND_WRITE): Likewise.
37625 (KEYBOARD_SCANCODE_SET1): Likewise.
37626 (grub_keyboard_controller_write): New function.
37627 (grub_keyboard_controller_read): Likewise.
37628 (grub_keyboard_controller_init): Likewise.
37629
37630 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
37631 (grub_console_init): On coreboot/LinuxBIOS, call
37632 grub_keyboard_controller_init().
37633
5f5a7c15 376342008-01-19 Robert Millan <rmh@aybabtu.com>
37635
37636 PowerPC changes provided by Pavel Roskin.
37637
37638 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
37639 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
37640 don't rely on cmain() doing it.
37641 * kern/i386/ieee1275/startup.S (_start): Store %eax in
37642 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
37643
1210e168 376442008-01-16 Robert Millan <rmh@aybabtu.com>
37645
37646 * include/grub/i386/linuxbios/memory.h
37647 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
37648 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
37649 receive `table_header' as argument. Instead, probe for it in the
37650 known memory ranges where it can be present.
37651 (grub_available_iterate): Do not pass a fixed `table_header' address
37652 to grub_linuxbios_table_iterate().
37653
3d04eab8 376542008-01-15 Robert Millan <rmh@aybabtu.com>
37655
37656 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
37657 * conf/i386-ieee1275.rmk: New file.
37658 * include/grub/i386/ieee1275/console.h: Likewise.
37659 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
37660 * include/grub/i386/ieee1275/kernel.h: Likewise.
37661 * include/grub/i386/ieee1275/time.h: Likewise.
37662 * kern/i386/ieee1275/init.c: Likewise.
37663 * kern/i386/ieee1275/startup.S: Likewise.
37664
d1bc1b73 376652008-01-15 Robert Millan <rmh@aybabtu.com>
37666
37667 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
37668 when pointers are 32-bit (but still do set it to one when they are
37669 64-bit).
37670
66a65807 376712008-01-15 Robert Millan <rmh@aybabtu.com>
37672
37673 * include/grub/ieee1275/ieee1275.h
37674 (grub_ieee1275_get_integer_property): New function prototype.
37675
37676 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
37677 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 37678 grub_ieee1275_get_property() to handle endianness.
66a65807 37679
37680 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
37681 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 37682 where appropriate.
66a65807 37683 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
37684 (grub_map): Likewise.
37685 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
37686
a83ccafd 376872008-01-15 Bean <bean123ch@gmail.com>
37688
37689 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
37690 (grub_script_execute_cmdline): Reset grub_errno.
37691
37692 * normal/main.c (read_config_file): Reset grub_errno.
37693
37694 * normal/parse.y (script_init): New.
37695 (script): Move function and menuentry here.
37696 (delimiter): New.
37697 (command): Add delimiter at the end of command.
37698 (commands): Adjust to match the new command.
37699 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 37700 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 37701 (if): Use the new commands.
37702
37703 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
37704
df6ecfc6 377052008-01-15 Robert Millan <rmh@aybabtu.com>
37706
37707 * normal/menu.c (run_menu): Move timeout message from here ...
37708 (print_timeout): ... to here.
37709 (run_menu): Use print_timeout() once during initial draw to print
37710 the whole message, and again in every clock tick to update only
37711 the number of seconds.
37712
87ae25eb 377132008-01-15 Robert Millan <rmh@aybabtu.com>
37714
37715 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
37716 actual size of `available' from grub_ieee1275_get_property(), and
37717 restrict parsing to that bound.
37718
47bf09a4 377192008-01-15 Christian Franke <franke@computer.org>
37720
37721 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
37722 (argp_program_version): Remove variable.
37723 (argp_program_bug_address): Likewise.
37724 (options): Convert from struct argp_option to struct option.
37725 (struct arguments): Remove.
37726 (parse_opt): Remove.
37727 (usage): New function.
37728 (main): Replace struct args members by simple variables.
37729 Replace argp_parse() by getopt_long().
37730 Add switch to evaluate options.
37731 Add missing "(...)" around root_dev in prefix string.
37732
c86f1469 377332008-01-14 Robert Millan <rmh@aybabtu.com>
37734
37735 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
37736 for grub_ieee1275_exit(), in order to improve portability.
37737
e622c559 377382008-01-14 Robert Millan <rmh@aybabtu.com>
37739
37740 * util/grub.d/10_linux.in (prefix): Define.
37741 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
37742
44cb1ec8 377432008-01-13 Pavel Roskin <proski@gnu.org>
37744
37745 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
37746 grub_errno if no errors have been detected.
37747
1eb8c802 377482008-01-12 Robert Millan <rmh@aybabtu.com>
37749
37750 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
37751 (grub_util_get_dev_abstraction): New function prototype.
37752
37753 * util/getroot.c: Include `<grub/util/getroot.h>'
37754 (grub_util_get_grub_dev): Move detection of abstraction type to ...
37755 (grub_util_get_dev_abstraction): ... here (new function).
37756
37757 * util/grub-probe.c: Convert PRINT_* to an enum. Add
37758 `PRINT_ABSTRACTION'.
37759 (probe): Probe for abstraction type when requested.
37760 (main): Understand `--target=abstraction'.
37761
37762 * util/i386/efi/grub-install.in: Add abstraction module to core
37763 image when it is found to be necessary.
37764 * util/i386/pc/grub-install.in: Likewise.
37765 * util/powerpc/ieee1275/grub-install.in: Likewise.
37766
37767 * util/update-grub_lib.in (font_path): Return system path without
37768 converting to GRUB path.
37769 * util/update-grub.in: Convert system path returned by font_path()
37770 to a GRUB path. Use `grub-probe -t abstraction' to determine what
37771 abstraction module is needed for loading fonts (if any). Export
37772 that as `GRUB_PRELOAD_MODULES'.
37773 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
37774 insmod commands).
37775
52bd3de9 377762008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
37777
37778 Remove some unused code from reiserfs.
f19dbdb7 37779
52bd3de9 37780 * fs/reiserfs.c (struct grub_reiserfs_key)
37781 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
37782 (struct grub_reiserfs_node_body): Removed.
37783 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
37784 Likewise.
37785 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
37786 Likewise.
37787 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
37788 Likewise.
37789 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
37790 Likewise.
37791 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
37792 Likewise.
37793 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
37794 Likewise.
37795 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
37796 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
37797 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
37798
2f80039d 377992008-01-10 Robert Millan <rmh@aybabtu.com>
37800
37801 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
37802 Determines if a file is garbage left by packaging systems, etc.
37803 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
37804 for processing /etc/grub.d scripts.
37805 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
37806 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
37807 as a condition for processing Linux images.
37808
87888032 378092008-01-10 Pavel Roskin <proski@gnu.org>
37810
37811 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
37812 to compile reiserfs.c on PowerPC.
37813
7e54fced 378142008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 37815
37816 * kern/device.c (grub_device_iterate): Do not abort device iteration
37817 when one of the devices cannot be opened.
37818 * kern/disk.c (grub_disk_open): Do not account previous failures of
37819 unrelated functions when grub_errno is checked for.
37820
5aa541e6 378212008-01-08 Robert Millan <rmh@aybabtu.com>
37822
37823 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
37824 `! grub_linux_is_bzimage', change order of address comparison to make
37825 it more intuitive, and improve "too big zImage" error message.
37826
7076340d 378272008-01-08 Robert Millan <rmh@aybabtu.com>
37828
37829 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
37830 `$(update-grub_DATA)'.
37831 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
37832 targets.
37833
9ca70333 378342008-01-07 Robert Millan <rmh@aybabtu.com>
37835
37836 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
37837 which instruction is modified by grub-setup during installation
37838 (since it wasn't obvious by only looking at this file).
37839
38ccf575 378402008-01-07 Robert Millan <rmh@aybabtu.com>
37841
37842 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
37843 listing actual TODO items.
37844
f5db4291 378452008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
37846
868967cf 37847 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
37848 correctly.
37849 (grub_reiserfs_get_key_offset): Likewise.
37850 (grub_reiserfs_set_key_offset): Likewise.
37851 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 37852 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 37853
37854 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
37855 better to remove the bitfield version completely.
f19dbdb7 37856
868967cf 378572008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 37858
f5db4291 37859 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
37860 allocated from the heap, due to the fshelp implementation.
37861 (grub_reiserfs_dir): Free NODE, due to the same reason.
37862
492e6d9d 378632008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
37864
37865 Mostly from Vincent Pelletier:
f19dbdb7 37866
492e6d9d 37867 * fs/reiserfs.c: New file.
f19dbdb7 37868
492e6d9d 37869 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
37870 (reiserfs_mod_SOURCES): New variable.
37871 (reiserfs_mod_CFLAGS): Likewise.
37872 (reiserfs_mod_LDFLAGS): Likewise.
37873
37874 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
37875 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
37876 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
37877 normal/color.c.
37878
9ce3e7c1 378792008-01-06 Robert Millan <rmh@aybabtu.com>
37880
37881 * normal/color.c: Remove `<grub/env.h>'.
37882
f3b58148 378832008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
37884
37885 * include/grub/normal.h: Include <grub/env.h>.
37886
7ac3bcfa 378872008-01-05 Robert Millan <rmh@aybabtu.com>
37888
37889 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
37890 usage example with `(hd0,1)'.
fb358190 37891 Reported by Samuel Thibault.
7ac3bcfa 37892
c8ee99d7 378932008-01-05 Robert Millan <rmh@aybabtu.com>
37894
37895 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
37896 (grub_linux_boot_zimage): Rename to ...
37897 (grub_linux_boot): ... this.
37898 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
37899 (grub_linux_boot_zimage): Conditionalize zImage copy.
37900
37901 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
37902 (grub_linux_boot_bzimage): Remove prototype.
37903 (grub_linux_boot_zimage): Rename to ...
37904 (grub_linux_boot): ... this.
37905
37906 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
37907 (grub_linux_boot): Remove function.
37908
0ece25b1 379092008-01-05 Robert Millan <rmh@aybabtu.com>
37910
37911 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
37912 (grub_env_write_color_highlight): Likewise.
37913 (grub_wait_after_message): Likewise.
37914
37915 * normal/color.c: New file.
37916
37917 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37918 (normal_mod_DEPENDENCIES): Likewise.
37919
37920 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37921 (normal_mod_DEPENDENCIES): Likewise.
37922
37923 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37924 (normal_mod_DEPENDENCIES): Likewise.
37925
37926 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37927 (normal_mod_DEPENDENCIES): Likewise.
37928
37929 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
37930 for waiting after a message is printed.
37931 * normal/main.c (read_config_file): Likewise.
37932 (grub_normal_init): Register grub_env_write_color_normal() and
37933 grub_env_write_color_highlight() hooks. Mark `color_normal' and
37934 `color_highlight' variables as global.
37935
37936 * normal/menu.c (grub_wait_after_message): New function.
37937 (grub_color_menu_normal): New variable. Replaces ...
37938 (GRUB_COLOR_MENU_NORMAL): ... this macro.
37939 (grub_color_menu_highlight): New variable. Replaces ...
37940 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
37941 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
37942 `GRUB_TERM_COLOR_STANDARD'.
37943 (print_message): Use `grub_setcolorstate' to reload colors. Rename
37944 `normal_code' and `highlight_code' to `old_color_normal' and
37945 `old_color_highlight', respectively.
37946 (grub_menu_init_page): Update colors when drawing the menu, based on
37947 `menu_color_normal' and `menu_color_highlight' variables.
37948 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
37949 a message is printed.
37950
182dd4e5 379512008-01-05 Robert Millan <rmh@aybabtu.com>
37952
37953 * kern/env.c (grub_env_context_open): Propagate hooks for global
37954 variables to new context.
37955
37956 * kern/main.c (grub_set_root_dev): Export `root' variable.
37957
ddf8f6ad 379582008-01-05 Robert Millan <rmh@aybabtu.com>
37959
37960 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 37961 discs unconditionally, since udev and others have options to provide
ddf8f6ad 37962 them.
37963
d8b43d9b 379642008-01-05 Robert Millan <rmh@aybabtu.com>
37965
37966 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
37967
2bff2de3 379682008-01-04 Christian Franke <franke@computer.org>
37969
37970 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
37971 of eisa_mmap.
37972
97eab917 379732008-01-03 Pavel Roskin <proski@gnu.org>
37974
37975 * kern/i386/linuxbios/init.c: Put "void" to all function
37976 declarations with no arguments.
37977 * kern/powerpc/ieee1275/init.c: Likewise.
37978 * term/i386/pc/at_keyboard.c: Likewise.
37979 * term/i386/pc/vga_text.c: Likewise.
37980 * util/grub-mkdevicemap.c: Likewise.
37981
b9416d00 379822008-01-02 Robert Millan <rmh@aybabtu.com>
37983
37984 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
37985 message when loaded image is out of bounds.
37986 (grub_multiboot_load_elf64): Likewise.
37987
92695df9 379882008-01-02 Pavel Roskin <proski@gnu.org>
37989
37990 * util/grub.d/10_linux.in: Try version without ".old" when
37991 looking for initrd. It's better to use initrd from the newer
37992 kernel of the same version than no initrd at all.
37993
d98d9cad 379942008-01-01 Robert Millan <rmh@aybabtu.com>
37995
37996 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
37997
dbfdce36 379982008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
37999
f19dbdb7 38000 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 38001 grub_video_get_active_render_target.
38002 (grub_video_adapter): Added unmap_color and get_active_render_target.
38003
f19dbdb7 38004 * video/video.c: Added grub_video_unmap_color and
dbfdce36 38005 grub_video_get_active_render_target.
38006 (grub_video_get_info): Changed method to accept NULL pointer as an
38007 argument to allow detection of active video adapter.
38008
38009 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
38010 grub_video_vbe_unmap_color_int.
38011 Added grub_video_vbe_unmap_color and
38012 grub_video_vbe_get_active_render_target.
38013 (grub_video_vbe_adapter): Added unmap_color and
38014 get_active_render_target.
38015
f19dbdb7 38016 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 38017 with grub_video_vbe_unmap_color_int.
38018
38019 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
38020 (DEFAULT_NORMAL_COLOR): Likewise.
38021 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
38022 (DEFAULT_FG_COLOR): Removed.
38023 (DEFAULT_BG_COLOR): Likewise.
38024 (DEFAULT_CURSOR_COLOR): Changed value.
38025 (grub_virtual_screen): Added standard_color_setting,
38026 normal_color_setting, highlight_color_setting and term_color.
38027 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
38028 (bitmap_width): Added.
38029 (bitmap_height): Likewise.
38030 (bitmap): Likewise.
38031 (set_term_color): Likewise.
38032 (grub_virtual_screen_setup): Changed to use new terminal coloring
38033 settings.
38034 (grub_gfxterm_init): Added init for bitmap.
38035 (grub_gfxterm_fini): Added destroy for bitmap.
38036 (redraw_screen_rect): Updated to use background bitmap and new
38037 terminal coloring.
38038 (scroll_up): Added optimization for case when there is no bitmap.
38039 (grub_gfxterm_cls): Fixed to use correct background color.
38040 (grub_virtual_screen_setcolorstate): Changed to use new terminal
38041 coloring.
38042 (grub_virtual_screen_setcolor): Likewise.
38043 (grub_virtual_screen_getcolor): Added.
38044 (grub_gfxterm_background_image_cmd): Likewise.
38045 (grub_video_term): Added setcolor and getcolor.
38046 (MOD_INIT): Added registration of background_image command.
38047 (MOD_TERM): Added unregistration for background_image command.
38048
c3c20931 380492007-12-30 Pavel Roskin <proski@gnu.org>
38050
38051 * loader/multiboot_loader.c: Fix multiboot command
38052 unregistration. Fix all typos in the word "multiboot".
38053
df266716 380542007-12-29 Pavel Roskin <proski@gnu.org>
94239199 38055
38056 * util/grub.d/10_linux.in: Refactor search for initrd. Add
38057 support for initrd names used in Fedora.
38058
fc6e896c 380592007-12-26 Bean <bean123ch@gmail.com>
38060
38061 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
38062 (cpio_mod_SOURCES): New variable.
38063 (cpio_mod_CFLAGS): Likewise.
38064 (cpio_mod_LDFLAGS): Likewise.
38065
38066 * fs/cpio.c: New file.
38067
38068 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
38069
38070 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38071
38072 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38073
38074 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38075
533110ad 380762007-12-25 Robert Millan <rmh@aybabtu.com>
38077
38078 * include/grub/term.h (struct grub_term): Add `getcolor' function.
38079 (grub_getcolor): New function.
38080
38081 * kern/term.c (grub_getcolor): New function.
38082 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
38083 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
38084 (print_entry): Set normal and highlight colors to
38085 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
38086 respectively, before printing and restore them to old
38087 values afterwards.
38088 (grub_menu_init_page): Likewise. Fill an additional colored space
38089 that would otherwise be left blank.
38090
38091 * term/efi/console.c (grub_console_getcolor): New function.
38092 (struct grub_console_term.getcolor): New variable.
38093 * term/i386/pc/console.c (grub_console_getcolor): New function.
38094 (struct grub_console_term.getcolor): New variable.
38095 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
38096 (struct grub_console_term.getcolor): New variable.
38097
38098 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
38099 (struct grub_console_term.setcolor): Remove variable.
38100 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
38101 (struct grub_console_term.setcolor): Remove variable.
38102 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
38103 (struct grub_console_term.setcolor): Remove variable.
38104 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
38105 (struct grub_console_term.setcolor): Remove variable.
38106
4931827f 381072007-12-25 Robert Millan <rmh@aybabtu.com>
38108
38109 * configure.ac: Search for possible unifont.hex locations, and
38110 define UNIFONT_HEX if found.
38111
38112 * Makefile.in (UNIFONT_HEX): Define variable.
38113 (DATA): Rename to ...
38114 (PKGLIB): ... this. Update all users.
38115 (PKGDATA): New variable.
38116 (pkgdata_IMAGES): Rename to ...
38117 (pkglib_IMAGES): ... this. Update all users.
38118 (pkgdata_MODULES): Rename to ...
38119 (pkglib_MODULES): ... this. Update all users.
38120 (pkgdata_PROGRAMS): Rename to ...
38121 (pkglib_PROGRAMS): ... this. Update all users.
38122 (pkgdata_DATA): Rename to ...
38123 (pkglib_DATA): ... this. Update all users.
38124 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
38125 (unicode.pff, ascii.pff): New rules.
38126 (all-local): Add `$(PKGDATA)' dependency.
38127 (install-local): Process `$(PKGDATA)'.
38128
38129 * util/update-grub_lib.in (font_path): Search for *.pff files in
38130 a few more locations, including `${pkgdata}'.
38131
57e57e31 381322007-12-23 Robert Millan <rmh@aybabtu.com>
38133
38134 Patch from Bean <bean123ch@gmail.com>:
38135 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
38136 `size'.
38137
4bc72aa9 381382007-12-21 Bean <bean123ch@gmail.com>
38139
38140 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
38141 (ntfscomp_mod_SOURCES): New variable.
38142 (ntfscomp_mod_CFLAGS): Likewise.
38143 (ntfscomp_mod_LDFLAGS): Likewise.
38144
38145 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
38146 (grub_probe_SOURCES): Likewise.
38147 (grub_emu_SOURCES): Likewise.
38148
38149 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38150 (grub_emu_SOURCES): Likewise.
38151
38152 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38153 (grub_emu_SOURCES): Likewise.
38154
38155 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38156 (grub_emu_SOURCES): Likewise.
38157
38158 * fs/ntfs.c (grub_ntfscomp_func): New variable.
38159 (read_run_list): Renamed to grub_ntfs_read_run_list.
38160 (decomp_nextvcn): Moved to ntfscomp.c.
38161 (decomp_getch): Likewise.
38162 (decomp_get16): Likewise.
38163 (decomp_block): Likewise.
38164 (read_block): Likewise.
38165 (read_data): Partially moved to ntfscomp.c.
38166 (fixup): Change unsigned to grub_uint16_t.
38167 (read_mft): Change unsigned long to grub_uint32_t.
38168 (read_attr): Likewise.
38169 (read_data): Likewise.
38170 (read_run_data): Likewise.
38171 (read_run_list): Likewise.
38172 (read_mft): Likewise.
38173
38174 * fs/ntfscomp.c: New file.
38175
38176 * include/grub/ntfs.h: New file.
38177
af680a87 381782007-12-16 Robert Millan <rmh@aybabtu.com>
38179
38180 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
38181 IDE disk check, since Linux is known to support 20 IDE disks.
38182 Reported by Colin Watson.
38183
84be7599 381842007-12-15 Bean <bean123ch@gmail.com>
38185
38186 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
38187 (lnxboot_img_SOURCES): New variable.
38188 (lnxboot_img_ASFLAGS): Likewise.
38189 (lnxboot_img_LDFLAGS): Likewise.
38190
38191 * boot/i386/pc/lnxboot.S: New file.
38192
6af9db01 381932007-11-24 Pavel Roskin <proski@gnu.org>
38194
38195 * configure.ac: Test if '--build-id=none' is supported by the
38196 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
38197 objcopy to generate incorrect binary files (binutils
38198 2.17.50.0.18-1 as shipped by Fedora 8).
38199 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
38200 linking, so that build ID doesn't break the test.
38201
7361cfe6 382022007-11-24 Pavel Roskin <proski@gnu.org>
38203
38204 * include/grub/i386/time.h: use "void" in the argument list
38205 of grub_cpu_idle().
38206 * include/grub/powerpc/time.h: Likewise.
38207 * include/grub/sparc64/time.h: Likewise.
38208
1593e10c 382092007-11-18 Christian Franke <franke@computer.org>
38210
38211 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
38212 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
38213 This fixes the problem that function keys did not work in grub-emu.
38214
3b8db1a8 382152007-11-18 Christian Franke <franke@computer.org>
38216
38217 * disk/host.c (grub_host_open): Remove attribute unused from
38218 name parameter. Add check for "host". This fixes the problem
38219 that grub-emu does not find partitions.
38220
2e29408d 382212007-11-18 Christian Franke <franke@computer.org>
38222
38223 * util/hostfs.c (is_dir): New function.
38224 (grub_hostfs_dir): Handle missing dirent.d_type case.
38225 (grub_hostfs_read): Add missing fseek().
38226 (grub_hostfs_label): Clear label pointer. This fixes a crash
38227 of grub-emu on "ls (host)".
38228
398cd047 382292007-11-18 Christian Franke <franke@computer.org>
38230
38231 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
38232 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
38233 to 64 bit boundary by default.
38234
c405c391 382352007-11-18 Bean <bean123ch@gmail.com>
38236
38237 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
38238 (hexdump_mod_SOURCES): New variable.
38239 (hexdump_mod_CFLAGS): Likewise.
38240 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 38241
c405c391 38242 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38243
38244 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38245
38246 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38247
38248 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38249
38250 * include/grub/hexdump.h: New file.
38251
38252 * commands/hexdump.c: New file.
38253
5cced7fd 382542007-11-10 Robert Millan <rmh@aybabtu.com>
38255
38256 * commands/i386/pc/play.c (beep_off): Switch order of arguments
38257 in grub_outb() calls.
38258 (beep_on): Likewise.
38259
8b714eb0 382602007-11-10 Christian Franke <franke@computer.org>
38261
38262 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
38263 (grub_menu_run): Likewise.
38264
ce0f1839 382652007-11-10 Robert Millan <rmh@aybabtu.com>
38266
38267 * include/grub/i386/efi/machine.h: New file.
38268 * include/grub/i386/linuxbios/machine.h: Likewise.
38269 * include/grub/i386/pc/machine.h: Likewise.
38270 * include/grub/powerpc/ieee1275/machine.h: Likewise.
38271 * include/grub/sparc64/ieee1275/machine.h: Likewise.
38272
38273 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
38274 (serial_hw_io_addr): New variable.
38275 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
38276 instead of `(unsigned short *) 0x400'.
38277
270c237d 382782007-11-10 Bean <bean123ch@gmail.com>
38279
38280 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
38281
a87783bf 382822007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
38283
38284 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
38285 (vga_mod_SOURCES): Added.
38286 (vga_mod_CFLAGS): Likewise.
38287 (vga_mod_LDFLAGS): Likewise.
38288
38289 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
38290 grub_outb() calls.
38291 (set_map_mask): Likewise.
38292 (set_read_map): Likewise.
38293 (set_read_address): Likewise.
38294 (vga_font): Removed variable.
38295 (get_vga_glyph): Removed function.
38296 (invalidate_char): Likewise.
38297 (write_char): Changed to use grub_font_get_glyph() for font
38298 information.
38299 (grub_vga_putchar): Likewise.
38300 (grub_vga_getcharwidth): Likewise.
38301
6433b448 383022007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
38303
38304 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
38305 flags.
38306 (pxeboot_img_LDFLAGS): Likewise.
38307 (diskboot_img_LDFLAGS): Likewise.
38308 (kernel_img_LDFLAGS): Likewise.
38309
49178511 383102007-11-06 Robert Millan <rmh@aybabtu.com>
38311
38312 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
38313 in grub_outb() calls.
38314 (serial_hw_init): Likewise.
38315
53b052de 383162007-11-05 Robert Millan <rmh@aybabtu.com>
38317
38318 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
38319 spaces. Skip non-regular files.
38320
5ab33bba 383212007-11-05 Robert Millan <rmh@aybabtu.com>
38322
38323 * kern/disk.c (grub_disk_firmware_fini)
38324 (grub_disk_firmware_is_tainted): New variables.
38325
38326 * include/grub/disk.h (grub_disk_firmware_fini)
38327 (grub_disk_firmware_is_tainted): Likewise.
38328
38329 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
38330 (grub_disk_biosdisk_fini): ... to here.
38331 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
38332 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
38333 is set. Register grub_disk_biosdisk_fini() in
38334 `grub_disk_firmware_fini'.
38335
38336 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
38337 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
38338 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
38339 to finish existing firmware disk interface.
38340
38341 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
38342 (ata_mod_SOURCES): New variable.
38343 (ata_mod_CFLAGS): Likewise.
38344 (ata_mod_LDFLAGS): Likewise.
38345
0149ab7c 383462007-11-05 Robert Millan <rmh@aybabtu.com>
38347
38348 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
38349 (grub_ata_wait): Reimplement using grub_millisleep().
38350
38351 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
38352 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
38353
be7ac41e 383542007-11-03 Marco Gerards <marco@gnu.org>
38355
38356 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
38357 (CRTC_ADDR_PORT): New macro.
38358 (CRTC_DATA_PORT): Likewise.
38359 (CRTC_CURSOR): Likewise.
38360 (CRTC_CURSOR_ADDR_HIGH): Likewise.
38361 (CRTC_CURSOR_ADDR_LOW): Likewise.
38362 (update_cursor): New function.
38363 (grub_console_real_putchar): Call `update_cursor'.
38364 (grub_console_gotoxy): Likewise.
38365 (grub_console_cls): Set the default color when clearing the
38366 screen.
38367 (grub_console_setcursor): Implemented.
38368
bb06ab2e 383692007-11-03 Marco Gerards <marco@gnu.org>
38370
38371 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
38372 become activate.
38373 (grub_ata_pio_write): Likewise.
38374
38375 (grub_atapi_identify): Wait after issuing an ATA command.
38376 (grub_atapi_packet): Likewise.
38377 (grub_ata_identify): Likewise.
38378 (grub_ata_readwrite): Likewise.
38379
cf8f780b 383802007-11-03 Marco Gerards <marco@gnu.org>
38381
38382 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
38383 (grub_ata_pio_write): Likewise.
38384 (grub_ata_readwrite): Use `grub_error', instead of
38385 returning `grub_errno'.
38386
ed649e54 383872007-11-03 Marco Gerards <marco@gnu.org>
38388
38389 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
38390 grub_ata_pio_write once for every single sector, instead of for
38391 multiple sectors.
38392
ca25d8f0 383932007-10-31 Robert Millan <rmh@aybabtu.com>
38394
38395 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
38396
38397 * conf/i386-linuxbios.rmk: New file.
38398
38399 * kern/i386/pc/hardware.c: Likewise.
38400 * term/i386/pc/at_keyboard.c: Likewise.
38401 * term/i386/pc/vga_text.c: Likewise.
38402
38403 * include/grub/i386/linuxbios/boot.h: Likewise.
38404 * include/grub/i386/linuxbios/console.h: Likewise.
38405 * include/grub/i386/linuxbios/init.h: Likewise.
38406 * include/grub/i386/linuxbios/kernel.h: Likewise.
38407 * include/grub/i386/linuxbios/loader.h: Likewise.
38408 * include/grub/i386/linuxbios/memory.h: Likewise.
38409 * include/grub/i386/linuxbios/serial.h: Likewise.
38410 * include/grub/i386/linuxbios/time.h: Likewise.
38411
38412 * kern/i386/linuxbios/init.c: Likewise.
38413 * kern/i386/linuxbios/startup.S: Likewise.
38414 * kern/i386/linuxbios/table.c: Likewise.
38415
e911ecc1 384162007-10-31 Marco Gerards <marco@gnu.org>
38417
38418 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
38419 (ata_mod_SOURCES): New variable.
38420 (ata_mod_CFLAGS): Likewise.
38421 (ata_mod_LDFLAGS): Likewise.
38422
38423 * disk/ata.c: New file.
38424
38425 * include/grub/disk.h (grub_disk_dev_id): Add
38426 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 38427
7f66d0e0 384282007-10-31 Robert Millan <rmh@aybabtu.com>
38429
38430 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
38431 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
38432
38433 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
38434 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
38435
38436 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
38437 `<grub/types.h>'.
38438
38439 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
38440
5cd7dd46 384412007-10-27 Robert Millan <rmh@aybabtu.com>
38442
3236ca65 38443 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 38444
2ebfc90f 384452007-10-22 Robert Millan <rmh@aybabtu.com>
38446
38447 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
38448 `"../realmode.S"'.
38449 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
38450
73fcb0f3 384512007-10-22 Robert Millan <rmh@aybabtu.com>
38452
38453 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
38454 (pkgdata_MODULES): Add `biosdisk.mod'.
38455 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
38456 variables.
38457
38458 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
38459 (grub_biosdisk_init): Replace with ...
38460 (GRUB_MOD_INIT(biosdisk)): ... this.
38461 (grub_biosdisk_fini): Replace with ...
38462 (GRUB_MOD_FINI(biosdisk)): ... this.
38463
38464 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
38465 (grub_machine_init): Remove call to grub_biosdisk_init().
38466 (grub_machine_fini): Remove call to grub_machine_fini().
38467
38468 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
38469
3381d274 384702007-10-22 Robert Millan <rmh@aybabtu.com>
38471
38472 * include/grub/time.h: New file.
38473 * include/grub/i386/time.h: Likewise.
38474 * include/grub/powerpc/time.h: Likewise.
38475 * include/grub/sparc64/time.h: Likewise.
38476
38477 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
38478 instances to ...
38479 (KERNEL_MACHINE_TIME_HEADER): ... this.
38480 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
38481 instances to ...
38482 (KERNEL_MACHINE_TIME_HEADER): ... this.
38483 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
38484 instances to ...
38485 (KERNEL_MACHINE_TIME_HEADER): ... this.
38486
38487 * kern/i386/efi/init.c: Include `<grub/time.h>'.
38488 (grub_millisleep): New function.
38489 * kern/i386/pc/init.c: Include `<grub/time.h>'.
38490 (grub_millisleep): New function.
38491 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
38492 Remove `grub/machine/time.h' include.
38493 (grub_millisleep): New function.
38494 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
38495 Remove `grub/machine/time.h' include.
38496 (grub_millisleep): New function.
38497
38498 * include/grub/misc.h (grub_div_roundup): New function.
38499
38500 * kern/misc.c: Include `<grub/time.h>'.
38501 (grub_millisleep_generic): New function.
38502
38503 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
38504 Add `time.h'.
38505 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
38506 Add `time.h'.
38507 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
38508 `machine/time.h'. Add `time.h'.
38509 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
38510
a39a0312 385112007-10-21 Robert Millan <rmh@aybabtu.com>
38512
38513 * include/grub/misc.h (grub_max): New function.
38514
2aad70e2 385152007-10-21 Robert Millan <rmh@aybabtu.com>
38516
38517 * util/misc.c (grub_util_info): Call fflush() before returning.
38518
54b71c4b 385192007-10-20 Robert Millan <rmh@aybabtu.com>
38520
38521 * genmk.rb (Image): Copy `extra_flags' from here ...
38522 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
38523
38524 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
38525 to `argc' and `args' arguments.
38526
a979f513 385272007-10-17 Robert Millan <rmh@aybabtu.com>
38528
38529 * kern/i386/loader.S: New file.
38530
38531 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
38532 * kern/i386/loader.S (grub_linux_prot_size)... to here.
38533 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
38534 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
38535 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
38536 * kern/i386/loader.S (grub_linux_real_addr)... to here.
38537 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
38538 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
38539 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
38540 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
38541 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
38542 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
38543 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
38544 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
38545
38546 * kern/i386/realmode.S: New file.
38547
38548 * kern/i386/pc/startup.S (protstack): Moved from here ...
38549 * kern/i386/realmode.S (protstack)... to here.
38550 * kern/i386/pc/startup.S (gdt): Moved from here ...
38551 * kern/i386/realmode.S (gdt)... to here.
38552 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
38553 * kern/i386/realmode.S (prot_to_real)... to here.
38554
38555 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
38556 `kern/i386/realmode.S'.
38557
825fc8fd 385582007-10-17 Robert Millan <rmh@aybabtu.com>
38559
38560 * include/grub/i386/loader.h: New file.
38561
38562 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
38563 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
38564 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
38565 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
38566 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
38567 * include/grub/i386/loader.h (grub_linux_prot_size)
38568 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
38569 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
38570 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
38571 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
38572
38573 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
38574
e179b2f4 385752007-10-15 Robert Millan <rmh@aybabtu.com>
38576
38577 * normal/misc.c (grub_normal_print_device_info): Do not probe for
38578 filesystem when dev->disk is unset.
38579 Do probe for filesystem even when dev->disk->has_partitions is set.
38580 In case a filesystem is found, always report it.
38581 In case it isn't, if dev->disk->has_partitions is set, report that
38582 a partition table was found instead of reporting that no filesystem
38583 could be identified.
38584
5db82af6 385852007-10-12 Robert Millan <rmh@aybabtu.com>
38586
38587 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
38588 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
38589
68f6ac74 38590 * include/grub/types.h (grub_host_to_target16): New macro.
38591 (grub_host_to_target32): Likewise.
38592 (grub_host_to_target64): Likewise.
38593 (grub_target_to_host16): Likewise.
38594 (grub_target_to_host32): Likewise.
38595 (grub_target_to_host64): Likewise.
5db82af6 38596
38597 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
38598 Renamed from to ...
38599 (GRUB_MOD_ALIGN): ...this. Update all users.
38600
68f6ac74 38601 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
38602 grub_host_to_target32.
38603 Replace grub_be_to_cpu32 with grub_target_to_host32.
38604 (load_modules): Likewise.
38605 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
38606 Replace grub_be_to_cpu32 with grub_target_to_host32.
38607 Replace grub_cpu_to_be16 with grub_host_to_target16.
38608 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 38609
3cf497cc 386102007-10-12 Robert Millan <rmh@aybabtu.com>
38611
38612 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
38613 * util/elf/grub-mkimage.c: ... here.
38614
38615 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
38616 `util/powerpc/ieee1275/grub-mkimage.c'.
38617
c8cc3692 386182007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 38619
c8cc3692 38620 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
38621 and make it easier to figure out.
38622 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
38623 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
38624 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
38625 leave us with less than HEAP_MIN_SIZE total heap.
38626 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 38627
5c58b791 386282007-10-03 Robert Millan <rmh@aybabtu.com>
38629
38630 * include/grub/i386/io.h: New file.
38631 * commands/i386/pc/play.c (inb): Removed.
38632 (outb): Removed.
38633 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
38634 with grub_outb().
afcd2ef8 38635 * term/i386/pc/serial.c (inb): Removed.
38636 (outb): Removed.
38637 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
38638 with grub_outb().
38639 * term/i386/pc/vga.c (inb): Removed.
38640 (outb): Removed.
38641 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
38642 with grub_outb().
5c58b791 38643
1a477ed6 386442007-10-02 Robert Millan <rmh@aybabtu.com>
38645
38646 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
38647 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38648 Reported by Marcin Kurek.
38649
6b5d80fa 386502007-09-07 Robert Millan <rmh@aybabtu.com>
38651
38652 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
38653 SmartFirmware version updates (as released by Sven Luther), and avoid
38654 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
38655 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
38656 known broken.
38657
5618afbf 386582007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
38659
38660 From Hitoshi Ozeki:
38661 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
38662 when merging two regions.
38663
6139dcd9 386642007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
38665
508e39ee 38666 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
38667 * normal/completion.c (grub_normal_do_completion): Likewise.
38668 Reported by Hitoshi Ozeki.
38669
386702007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 38671
6139dcd9 38672 Do not use devices at boot in chainloading.
f19dbdb7 38673
6139dcd9 38674 * loader/i386/pc/chainloader.c (boot_drive): New variable.
38675 (boot_part_addr): Likewise.
38676 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
38677 with BOOT_DRIVE and BOOT_PART_ADDR.
38678 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
38679 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
38680
38da6516 386812007-08-29 Robert Millan <rmh@aybabtu.com>
38682
38683 Patch from Simon Peter <dn.tlp@gmx.net>:
38684 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
38685 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
38686 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
38687 util/i386/pc/grub-setup.c_DEPENDENCIES.
38688 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
38689 util/grub-probe.c_DEPENDENCIES.
38690 * conf/powerpc-ieee1275.rmk: Likewise.
38691
29d0928c 386922007-08-28 Robert Millan <rmh@aybabtu.com>
38693
38694 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
38695 to tell grub-mkdevicemap how to name devices.
38696 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
38697 feature).
38698
38699 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
38700 util/i386/get_disk_name.c.
38701 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
38702 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
38703 util/ieee1275/get_disk_name.c.
38704
38705 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
38706
38707 * DISTLIST: Add util/i386/get_disk_name.c and
38708 util/ieee1275/get_disk_name.c.
38709
38710 * util/grub-mkdevicemap.c: Replace device naming logic with
38711 grub_util_get_disk_name() calls.
38712
5a0d3cca 387132007-08-20 Robert Millan <rmh@aybabtu.com>
38714
38715 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
38716 (so that it works for both plural and singular quantities).
38717
8b72db2f 387182007-08-05 Robert Millan <rmh@aybabtu.com>
38719
38720 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
38721 so that [xz] isn't taken into account when determining order.
38722
352466bf 387232007-08-02 Marco Gerards <marco@gnu.org>
38724
38725 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
38726 `include/multiboot2.h', `include/grub/elfload.h',
38727 `include/multiboot.h', `include/grub/multiboot.h',
38728 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
38729 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
38730 `kern/elf.c', `loader/multiboot_loader.c',
38731 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
38732 `loader/i386/pc/multiboot2.c',
38733 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
38734 `util/i386/pc/grub-mkrescue.in'. Remove
38735 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
38736 `include/grub/i386/pc/util/biosdisk.h' and
38737 `include/grub/powerpc/ieee1275/multiboot.h'.
38738
8f096014 387392007-08-02 Bean <bean123ch@gmail.com>
38740
38741 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
38742 (ntfs_mod_SOURCES): New variable.
38743 (ntfs_mod_CFLAGS): Likewise.
38744 (ntfs_mod_LDFLAGS): Likewise.
38745
38746 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
38747 (grub_probe_SOURCES): Likewise.
38748 (grub_emu_SOURCES): Likewise.
38749
38750 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
38751 (grub_emu_SOURCES): Likewise.
38752
38753 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
38754 (grub_emu_SOURCES): Likewise.
f19dbdb7 38755
8f096014 38756 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
38757
38758 * fs/ntfs.c: New file.
38759
9959f7db 387602007-08-02 Bean <bean123ch@gmail.com>
38761
38762 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
38763
38764 * file.h (grub_file): Likewise.
38765
38766 * fshelp.h (grub_fshelp_read_file): Likewise.
38767
38768 * util/i386/pc/grub-setup.c (setup): Likewise.
38769 (save_first_sector): Likewise.
38770 (save_blocklists): Likewise.
f19dbdb7 38771
9959f7db 38772 * fs/affs.c (grub_affs_read_file): Likewise.
38773
38774 * fs/ext2.c (grub_ext2_read_file): Likewise.
38775
38776 * fs/fat.c (grub_fat_read_data): Likewise.
38777
38778 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
38779
38780 * fs/hfs.c (grub_hfs_read_file): Likewise.
38781
38782 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
38783
38784 * fs/jfs.c (grub_jfs_read_file): Likewise.
38785
38786 * fs/minix.c (grub_minix_read_file): Likewise.
38787
38788 * fs/sfs.c (grub_sfs_read_file): Likewise.
38789
38790 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 38791
9959f7db 38792 * fs/xfs.c (grub_xfs_read_file): Likewise.
38793
38794 * command/blocklist.c (read_blocklist): Likewise.
38795 (print_blocklist): Likewise.
38796
0a203f83 387972007-08-02 Marco Gerards <marco@gnu.org>
38798
38799 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
38800 `util/hostfs.c'.
38801
38802 * disk/host.c: New file.
38803
38804 * util/hostfs.c: Likewise.
38805
38806 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
38807 return `GRUB_ERR_BAD_FS'.
38808 * fs/sfs.c (grub_sfs_mount): Likewise.
38809 * fs/xfs.c (grub_xfs_mount): Likewise.
38810
38811 * include/grub/disk.h (enum grub_disk_dev_id): Add
38812 `GRUB_DISK_DEVICE_HOST_ID'.
38813
38814 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
38815
e5dfe777 388162007-07-24 Jerone Young <jerone@gmail.com>
38817
f19dbdb7 38818 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 38819 modules for compilation.
38820 * conf/powerpc-ieee1275.rmk: Likewise.
38821
38822 * include/multiboot.h: Move multiboot definitions to one file. Rename
38823 many definitions to not get grub specific.
38824 * include/multiboot2.h: Create header with multiboot 2 definitions.
38825 * include/grub/multiboot.h: Header for grub specific function
38826 prototypes and definitions.
38827 * include/grub/multiboot2.h: Likewise.
38828 * include/grub/multiboot_loader.h: Likewise.
38829 * include/grub/i386/pc/multiboot.h: Removed.
38830 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
38831
38832 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
38833 and 2 to allow for one multiboot and module commands.
38834 * loader/multiboot2.c: Add multiboot2 functionality.
38835 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
38836 and definition names.
38837 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
38838 2 functions.
38839 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
38840 ieee1275 specific multiboot2 code.
38841
38842 * kern/i386/pc/startup.S: Change headers and definition names for
38843 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
38844
daf0f0ba 388452007-07-22 Robert Millan <rmh@aybabtu.com>
38846
38847 * geninitheader.sh: Process file specified in first parameter rather
38848 than hardcoding grub_modules_init.lst.
fe6b695a 38849 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 38850 than hardcoding grub_modules_init.h.
38851
38852 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
38853 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
38854 grub_probe_init.[ch] and grub_setup_init.[ch].
38855
38856 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
38857 grub_modules_init.h with grub_emu_init.h.
38858 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
38859 grub_probe_init.[ch] files.
38860 * conf/i386-efi.rmk: Likewise.
38861 * conf/i386-pc.rmk: Likewise.
38862 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
38863 grub_setup_init.[ch] files.
38864
38865 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
38866 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
38867 to initialize modules rather than a list of hardcoded functions.
38868 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
38869 grub_init_all() to initialize modules rather than a list of hardcoded
38870 functions.
38871
54cdc1cc 388722007-07-22 Robert Millan <rmh@aybabtu.com>
38873
38874 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
38875 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
38876
ad0686cc 388772007-07-22 Robert Millan <rmh@aybabtu.com>
38878
38879 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
38880 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
38881 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
38882 flag when running on SmartFirmware.
38883 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
38884 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
38885 was set.
38886
38887 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
38888 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
38889 rather than decreasing it.
38890
38891 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
38892 there's not enough space to do it, fail in the same way as when it
38893 can't be done because there are no partitions.
38894
38895 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
38896 when nvsetenv failed.
38897
969c02ec 388982007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
38899
38900 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
38901 because this rule is automatically generated.
38902 (grub-mkrescue): Removed for the same reason as above.
38903
5a79f472 389042007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
38905
38906 Migrate to GNU General Public License Version 3.
f19dbdb7 38907
5a79f472 38908 * COPYING: Replaced with the plain text version of GPLv3.
38909
38910 * config.guess: Updated from gnulib.
38911 * config.sub: Likewise.
38912
38913 * geninit.sh: Output a GPLv3 copyright notice.
38914 * geninitheader.sh: Likewise.
38915 * genmodsrc.sh: Likewise.
38916 * gensymlist.sh.in: Likewise.
38917
38918 * boot/i386/pc/boot.S: Upgraded to GPLv3.
38919 * boot/i386/pc/diskboot.S: Likewise.
38920 * boot/i386/pc/pxeboot.S: Likewise.
38921 * commands/blocklist.c: Likewise.
38922 * commands/boot.c: Likewise.
38923 * commands/cat.c: Likewise.
38924 * commands/cmp.c: Likewise.
38925 * commands/configfile.c: Likewise.
38926 * commands/echo.c: Likewise.
38927 * commands/help.c: Likewise.
38928 * commands/ls.c: Likewise.
38929 * commands/search.c: Likewise.
38930 * commands/terminal.c: Likewise.
38931 * commands/test.c: Likewise.
38932 * commands/videotest.c: Likewise.
38933 * commands/i386/cpuid.c: Likewise.
38934 * commands/i386/pc/halt.c: Likewise.
38935 * commands/i386/pc/play.c: Likewise.
38936 * commands/i386/pc/reboot.c: Likewise.
38937 * commands/i386/pc/vbeinfo.c: Likewise.
38938 * commands/i386/pc/vbetest.c: Likewise.
38939 * commands/ieee1275/halt.c: Likewise.
38940 * commands/ieee1275/reboot.c: Likewise.
38941 * commands/ieee1275/suspend.c: Likewise.
38942 * disk/loopback.c: Likewise.
38943 * disk/lvm.c: Likewise.
38944 * disk/raid.c: Likewise.
38945 * disk/efi/efidisk.c: Likewise.
38946 * disk/i386/pc/biosdisk.c: Likewise.
38947 * disk/ieee1275/ofdisk.c: Likewise.
38948 * font/manager.c: Likewise.
38949 * fs/affs.c: Likewise.
38950 * fs/ext2.c: Likewise.
38951 * fs/fat.c: Likewise.
38952 * fs/fshelp.c: Likewise.
38953 * fs/hfs.c: Likewise.
38954 * fs/hfsplus.c: Likewise.
38955 * fs/iso9660.c: Likewise.
38956 * fs/jfs.c: Likewise.
38957 * fs/minix.c: Likewise.
38958 * fs/sfs.c: Likewise.
38959 * fs/ufs.c: Likewise.
38960 * fs/xfs.c: Likewise.
38961 * hello/hello.c: Likewise.
38962 * include/grub/acorn_filecore.h: Likewise.
38963 * include/grub/arg.h: Likewise.
38964 * include/grub/bitmap.h: Likewise.
38965 * include/grub/boot.h: Likewise.
38966 * include/grub/cache.h: Likewise.
38967 * include/grub/device.h: Likewise.
38968 * include/grub/disk.h: Likewise.
38969 * include/grub/dl.h: Likewise.
38970 * include/grub/elfload.h: Likewise.
38971 * include/grub/env.h: Likewise.
38972 * include/grub/err.h: Likewise.
38973 * include/grub/file.h: Likewise.
38974 * include/grub/font.h: Likewise.
38975 * include/grub/fs.h: Likewise.
38976 * include/grub/fshelp.h: Likewise.
38977 * include/grub/gzio.h: Likewise.
38978 * include/grub/hfs.h: Likewise.
38979 * include/grub/kernel.h: Likewise.
38980 * include/grub/loader.h: Likewise.
38981 * include/grub/lvm.h: Likewise.
38982 * include/grub/misc.h: Likewise.
38983 * include/grub/mm.h: Likewise.
38984 * include/grub/net.h: Likewise.
38985 * include/grub/normal.h: Likewise.
38986 * include/grub/parser.h: Likewise.
38987 * include/grub/partition.h: Likewise.
38988 * include/grub/pc_partition.h: Likewise.
38989 * include/grub/raid.h: Likewise.
38990 * include/grub/rescue.h: Likewise.
38991 * include/grub/script.h: Likewise.
38992 * include/grub/setjmp.h: Likewise.
38993 * include/grub/symbol.h: Likewise.
38994 * include/grub/term.h: Likewise.
38995 * include/grub/terminfo.h: Likewise.
38996 * include/grub/tparm.h: Likewise.
38997 * include/grub/types.h: Likewise.
38998 * include/grub/video.h: Likewise.
38999 * include/grub/efi/api.h: Likewise.
39000 * include/grub/efi/chainloader.h: Likewise.
39001 * include/grub/efi/console.h: Likewise.
39002 * include/grub/efi/console_control.h: Likewise.
39003 * include/grub/efi/disk.h: Likewise.
39004 * include/grub/efi/efi.h: Likewise.
39005 * include/grub/efi/pe32.h: Likewise.
39006 * include/grub/efi/time.h: Likewise.
39007 * include/grub/i386/linux.h: Likewise.
39008 * include/grub/i386/setjmp.h: Likewise.
39009 * include/grub/i386/types.h: Likewise.
39010 * include/grub/i386/efi/kernel.h: Likewise.
39011 * include/grub/i386/efi/loader.h: Likewise.
39012 * include/grub/i386/efi/time.h: Likewise.
39013 * include/grub/i386/pc/biosdisk.h: Likewise.
39014 * include/grub/i386/pc/boot.h: Likewise.
39015 * include/grub/i386/pc/chainloader.h: Likewise.
39016 * include/grub/i386/pc/console.h: Likewise.
39017 * include/grub/i386/pc/init.h: Likewise.
39018 * include/grub/i386/pc/kernel.h: Likewise.
39019 * include/grub/i386/pc/loader.h: Likewise.
39020 * include/grub/i386/pc/memory.h: Likewise.
39021 * include/grub/i386/pc/multiboot.h: Likewise.
39022 * include/grub/i386/pc/serial.h: Likewise.
39023 * include/grub/i386/pc/time.h: Likewise.
39024 * include/grub/i386/pc/vbe.h: Likewise.
39025 * include/grub/i386/pc/vbeblit.h: Likewise.
39026 * include/grub/i386/pc/vbefill.h: Likewise.
39027 * include/grub/i386/pc/vbeutil.h: Likewise.
39028 * include/grub/i386/pc/vga.h: Likewise.
39029 * include/grub/ieee1275/ieee1275.h: Likewise.
39030 * include/grub/ieee1275/ofdisk.h: Likewise.
39031 * include/grub/powerpc/libgcc.h: Likewise.
39032 * include/grub/powerpc/setjmp.h: Likewise.
39033 * include/grub/powerpc/types.h: Likewise.
39034 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
39035 * include/grub/powerpc/ieee1275/console.h: Likewise.
39036 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
39037 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
39038 * include/grub/powerpc/ieee1275/loader.h: Likewise.
39039 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
39040 * include/grub/powerpc/ieee1275/time.h: Likewise.
39041 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
39042 * include/grub/sparc64/libgcc.h: Likewise.
39043 * include/grub/sparc64/setjmp.h: Likewise.
39044 * include/grub/sparc64/types.h: Likewise.
39045 * include/grub/sparc64/ieee1275/console.h: Likewise.
39046 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
39047 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
39048 * include/grub/sparc64/ieee1275/time.h: Likewise.
39049 * include/grub/util/biosdisk.h: Likewise.
39050 * include/grub/util/getroot.h: Likewise.
39051 * include/grub/util/lvm.h: Likewise.
39052 * include/grub/util/misc.h: Likewise.
39053 * include/grub/util/raid.h: Likewise.
39054 * include/grub/util/resolve.h: Likewise.
39055 * io/gzio.c: Likewise.
39056 * kern/device.c: Likewise.
39057 * kern/disk.c: Likewise.
39058 * kern/dl.c: Likewise.
39059 * kern/elf.c: Likewise.
39060 * kern/env.c: Likewise.
39061 * kern/err.c: Likewise.
39062 * kern/file.c: Likewise.
39063 * kern/fs.c: Likewise.
39064 * kern/loader.c: Likewise.
39065 * kern/main.c: Likewise.
39066 * kern/misc.c: Likewise.
39067 * kern/mm.c: Likewise.
39068 * kern/parser.c: Likewise.
39069 * kern/partition.c: Likewise.
39070 * kern/rescue.c: Likewise.
39071 * kern/term.c: Likewise.
39072 * kern/efi/efi.c: Likewise.
39073 * kern/efi/init.c: Likewise.
39074 * kern/efi/mm.c: Likewise.
39075 * kern/i386/dl.c: Likewise.
39076 * kern/i386/efi/init.c: Likewise.
39077 * kern/i386/efi/startup.S: Likewise.
39078 * kern/i386/pc/init.c: Likewise.
39079 * kern/i386/pc/lzo1x.S: Likewise.
39080 * kern/i386/pc/startup.S: Likewise.
39081 * kern/ieee1275/ieee1275.c: Likewise.
39082 * kern/powerpc/cache.S: Likewise.
39083 * kern/powerpc/dl.c: Likewise.
39084 * kern/powerpc/ieee1275/cmain.c: Likewise.
39085 * kern/powerpc/ieee1275/crt0.S: Likewise.
39086 * kern/powerpc/ieee1275/init.c: Likewise.
39087 * kern/powerpc/ieee1275/openfw.c: Likewise.
39088 * kern/sparc64/cache.S: Likewise.
39089 * kern/sparc64/dl.c: Likewise.
39090 * kern/sparc64/ieee1275/init.c: Likewise.
39091 * kern/sparc64/ieee1275/openfw.c: Likewise.
39092 * loader/efi/chainloader.c: Likewise.
39093 * loader/efi/chainloader_normal.c: Likewise.
39094 * loader/i386/efi/linux.c: Likewise.
39095 * loader/i386/efi/linux_normal.c: Likewise.
39096 * loader/i386/pc/chainloader.c: Likewise.
39097 * loader/i386/pc/chainloader_normal.c: Likewise.
39098 * loader/i386/pc/linux.c: Likewise.
39099 * loader/i386/pc/linux_normal.c: Likewise.
39100 * loader/i386/pc/multiboot.c: Likewise.
39101 * loader/i386/pc/multiboot_normal.c: Likewise.
39102 * loader/powerpc/ieee1275/linux.c: Likewise.
39103 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39104 * normal/arg.c: Likewise.
39105 * normal/cmdline.c: Likewise.
39106 * normal/command.c: Likewise.
39107 * normal/completion.c: Likewise.
39108 * normal/execute.c: Likewise.
39109 * normal/function.c: Likewise.
39110 * normal/lexer.c: Likewise.
39111 * normal/main.c: Likewise.
39112 * normal/menu.c: Likewise.
39113 * normal/menu_entry.c: Likewise.
39114 * normal/misc.c: Likewise.
39115 * normal/parser.y: Likewise.
39116 * normal/script.c: Likewise.
39117 * normal/i386/setjmp.S: Likewise.
39118 * normal/powerpc/setjmp.S: Likewise.
39119 * normal/sparc64/setjmp.S: Likewise.
39120 * partmap/acorn.c: Likewise.
39121 * partmap/amiga.c: Likewise.
39122 * partmap/apple.c: Likewise.
39123 * partmap/gpt.c: Likewise.
39124 * partmap/pc.c: Likewise.
39125 * partmap/sun.c: Likewise.
39126 * term/gfxterm.c: Likewise.
39127 * term/terminfo.c: Likewise.
39128 * term/efi/console.c: Likewise.
39129 * term/i386/pc/console.c: Likewise.
39130 * term/i386/pc/serial.c: Likewise.
39131 * term/i386/pc/vesafb.c: Likewise.
39132 * term/i386/pc/vga.c: Likewise.
39133 * term/ieee1275/ofconsole.c: Likewise.
39134 * util/biosdisk.c: Likewise.
39135 * util/console.c: Likewise.
39136 * util/genmoddep.c: Likewise.
39137 * util/getroot.c: Likewise.
39138 * util/grub-emu.c: Likewise.
39139 * util/grub-mkdevicemap.c: Likewise.
39140 * util/grub-probe.c: Likewise.
39141 * util/lvm.c: Likewise.
39142 * util/misc.c: Likewise.
39143 * util/raid.c: Likewise.
39144 * util/resolve.c: Likewise.
39145 * util/update-grub.in: Likewise.
39146 * util/update-grub_lib.in: Likewise.
39147 * util/grub.d/00_header.in: Likewise.
39148 * util/grub.d/10_hurd.in: Likewise.
39149 * util/grub.d/10_linux.in: Likewise.
39150 * util/i386/efi/grub-install.in: Likewise.
39151 * util/i386/efi/grub-mkimage.c: Likewise.
39152 * util/i386/pc/grub-install.in: Likewise.
39153 * util/i386/pc/grub-mkimage.c: Likewise.
39154 * util/i386/pc/grub-mkrescue.in: Likewise.
39155 * util/i386/pc/grub-setup.c: Likewise.
39156 * util/i386/pc/misc.c: Likewise.
39157 * util/powerpc/ieee1275/grub-install.in: Likewise.
39158 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
39159 * util/powerpc/ieee1275/misc.c: Likewise.
39160 * video/bitmap.c: Likewise.
39161 * video/video.c: Likewise.
39162 * video/i386/pc/vbe.c: Likewise.
39163 * video/i386/pc/vbeblit.c: Likewise.
39164 * video/i386/pc/vbefill.c: Likewise.
39165 * video/i386/pc/vbeutil.c: Likewise.
39166 * video/readers/tga.c: Likewise.
39167
3572d015 391682007-07-02 Robert Millan <rmh@aybabtu.com>
39169
39170 * conf/i386-efi.rmk: Replace obsolete reference to
39171 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
39172 with util/getroot.c.
39173 * conf/powerpc-ieee1275.rmk: Likewise.
39174 * conf/sparc64-ieee1275.rmk: Likewise.
39175
39176 * util/grub-emu.c (main): Fix unchecked pointer handling.
39177
2c2a681b 391782007-07-02 Robert Millan <rmh@aybabtu.com>
39179
39180 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
39181 invocation to fail, in order to support partition-less media.
39182
39183 * util/i386/pc/grub-install.in: Likewise.
39184
39185 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
39186 which fs or partmap modules are needed (akin to its sister scripts).
39187
39188 Also use grub-probe to get rid of unportable /proc/mounts check.
39189
39190 Print the same informational message that the other scripts do, before
fe6b695a 39191 exiting.
2c2a681b 39192
6193defe 391932007-06-23 Robert Millan <rmh@aybabtu.com>
39194
fe6b695a 39195 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 39196 a font file can be found and, if so, echo the GRUB path to it.
39197
39198 * util/update-grub.in: Handle multiple terminals depending on user
39199 input, platform availability and font file presence. Propagate
39200 variables of our findings to /etc/grub.d/ children.
39201
39202 * util/grub.d/00_header.in: Handle multiple terminals, based on
39203 environment setup by update-grub.
39204
eface1dc 392052007-06-23 Robert Millan <rmh@aybabtu.com>
39206
ba50d28f 39207 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 39208
bf697e28 392092007-06-21 Robert Millan <rmh@aybabtu.com>
39210
39211 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
39212 indicate end of data section in kernel image.
39213 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
39214 GRUB_KERNEL_MACHINE_DATA_END.
39215
39216 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
39217 space for it.
39218 * kern/i386/efi/startup.S: Likewise.
39219
39220 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
39221 during image generation. Implement --prefix option to override this
39222 patch.
39223 * util/i386/efi/grub-mkimage.c: Likewise.
39224
39225 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
39226 code to make path relative to its root into a separate function.
39227
39228 * util/i386/pc/grub-install.in: Use newly provided
39229 make_system_path_relative_to_its_root() to convert ${grubdir}, then
39230 pass the result to grub-install --prefix.
39231
baa574b4 392322007-06-13 Robert Millan <rmh@aybabtu.com>
39233
39234 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
39235 DEFAULT_DEVICE_MAP.
39236 * util/grub-emu.c: Use above definitions from misc.h instead of
39237 defining them.
39238 * util/grub-mkdevicemap.c: Likewise.
39239 * util/i386/pc/grub-setup.c: Likewise.
39240 * util/grub-probe.c: Likewise.
39241 (probe): Abort with grub_util_error() when either
39242 grub_guess_root_device or grub_util_get_grub_dev fails.
39243
0215dcbf 392442007-06-12 Robert Millan <rmh@aybabtu.com>
39245
39246 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
39247 "pager" assignment.
39248 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
39249 "pcdata".
39250 * util/grub-probe.c (probe): Likewise for "drive_name".
39251
8af2ab7b 392522007-06-11 Robert Millan <rmh@aybabtu.com>
39253
39254 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
39255 not just the cdrom one.
39256
59d31694 392572007-06-11 Robert Millan <rmh@aybabtu.com>
39258
39259 * util/i386/pc/grub-mkrescue.in: Add "set -e".
39260 Add --pkglibdir=DIR option to override pkglibdir.
39261 Mention --image-type=TYPE in help output.
39262 Fix --grub-mkimage (it was a no-op).
fe6b695a 39263 Abort gracefully when no parameter is given.
59d31694 39264
7ee367e4 392652007-06-11 Robert Millan <rmh@aybabtu.com>
39266
39267 * util/i386/pc/grub-mkrescue.in: New file.
39268 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
39269 * Makefile.in: Handle bin_SCRIPTS.
39270
29b0ed46 392712007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
39272
39273 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
39274 list of video modes.
39275
c0f90770 392762007-06-06 Robert Millan <rmh@aybabtu.com>
39277
39278 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
39279 file doesn't exist, or if it is in a filesystem grub can't read.
39280
39281 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
39282 not abort if GRUB_DRIVE could not be defined. Rearrange generated
39283 header comment to fit in 80 columns when the variables are resolved.
39284
39285 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
39286 could be identified by update-grub. Remove redundant check for
fe6b695a 39287 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 39288 handles that).
39289
fb36dc26 392902007-06-04 Robert Millan <rmh@aybabtu.com>
39291
39292 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
39293
39294 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
39295
39296 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
39297
0c68c93e 392982007-06-04 Robert Millan <rmh@aybabtu.com>
39299
39300 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
39301
39302 * include/grub/partition.h: Declare grub_apple_partition_map_init and
39303 grub_apple_partition_map_fini.
39304
39305 * util/biosdisk.c
39306 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
39307 to access >2 TiB disks).
39308
39309 Print disk->total_sectors with %llu instead of %lu, since this
39310 variable is always 64-bit (prevents wrong disk size from being displayed
39311 on either >2 TiB disk or big-endian CPU).
39312
39313 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
39314 into a generic case that supports all (sane) partition maps.
39315
39316 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
39317 breaks big-endian.
39318
39319 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
39320 and grub_apple_partition_map_fini() after that.
39321
0f23eb74 393222007-06-01 Robert Millan <rmh@aybabtu.com>
39323
39324 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
39325
39326 * util/grub.d/00_header.in: Only enable gfxterm when
39327 convert_system_path_to_grub_path() succeeds.
39328
42c71976 393292007-05-20 Robert Millan <rmh@aybabtu.com>
39330
39331 * util/update-grub_lib.in: New file.
39332 * DISTLIST: Add update-grub_lib.in.
39333 * conf/common.rmk: Generate update-grub_lib and install it in
39334 $(lib_DATA).
39335 * Makefile.in: Add install routine for $(lib_DATA).
39336
39337 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
39338 function provided by update-grub_lib to support arbitrary paths of
39339 unifont.pff.
39340 * util/update-grub.in: Use convert_system_path_to_grub_path() to
39341 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
39342
5beb2291 393432007-05-19 Robert Millan <rmh@aybabtu.com>
39344
39345 * commands/i386/cpuid.c: New module.
39346 * DISTLIST: Add it.
39347 * conf/i386-efi.rmk: Enable cpuid.mod.
39348 * conf/i386-pc.rmk: Likewise.
39349
7262eca1 393502007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
39351
39352 * kern/disk.c (grub_disk_read): Check return value of
39353 grub_realloc().
39354
260ba823 393552007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
39356
39357 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
39358 arrays.
39359 * disk/raid.c (grub_raid_open): Likewise.
39360
1ecb6cf2 393612007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
39362
39363 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
39364 stack instead of on the heap.
39365
39366 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
39367 before doing a read on it.
39368
39369 * configure.ac: Only use -fno-stack-protector for the target
39370 environment.
f19dbdb7 39371
21c8cbb1 393722007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
39373
39374 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
39375 __attribute_ ((unused)) to mode_type argument.
39376
39377 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 39378
21c8cbb1 39379 * kern/misc.c (memcmp): Fix prototype.
39380
39381 * include/grub/partition.h [GRUB_UTIL]
39382 (grub_gpt_partition_map_init): Add prototype.
39383 (grub_gpt_partition_map_fini): Likewise.
39384
39385 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
39386 at the right place.
39387
39388 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
39389 (grub_fat_read_data): Likewise.
39390 (grub_fat_find_dir): Likewise.
39391
39392 * font/manager.c (find_glyph): Make table a const.
39393 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 39394
849d55d3 393952007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
39396
39397 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
39398 code, first search for device in /dev/mapper, then in /dev.
39399 (grub_util_get_grub_dev): New function.
39400 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
39401 prototype.
39402 * util/grub-probe.c (probe): Remove check for RAID, call
39403 grub_util_get_grub_dev() instead of
39404 grub_util_biosdisk_get_grub_dev().
39405 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
39406 grub_util_biosdisk_get_grub_dev().
39407 * util/i386/pc/grub-setup.c (main): Likewise.
39408
8fff7c2f 394092007-05-16 Robert Millan <rmh@aybabtu.com>
39410
39411 * DISTLIST: Update for the latest changes.
39412 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
39413 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
39414 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
39415 grub/util/biosdisk.h.
39416 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
39417 grub/util/biosdisk.h.
39418
48e12b52 394192007-05-16 Robert Millan <rmh@aybabtu.com>
39420
39421 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
39422
46b9d128 394232007-05-16 Robert Millan <rmh@aybabtu.com>
39424
39425 * util/i386/efi/grub-install.in: New.
39426 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
39427 newly added grub-install.
39428 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
39429 include.
39430 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
39431 grub/util/biosdisk.h.
39432 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
39433 grub/util/biosdisk.h.
39434
2d1a40a9 394352007-05-16 Robert Millan <rmh@aybabtu.com>
39436
39437 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
39438 * include/grub/util/biosdisk.h: ... here.
39439 * util/i386/pc/biosdisk.c: Moved to ...
39440 * util/biosdisk.c: ... here.
39441 * util/i386/pc/getroot.c: Moved to ...
39442 * util/getroot.c: ... here.
39443 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
39444 * util/grub-mkdevicemap.c: ... here.
39445 * util/i386/pc/grub-probe.c: Moved to ...
39446 * util/grub-probe.c: ... here.
39447
9e26e3bc 394482007-05-15 Robert Millan <rmh@aybabtu.com>
39449
39450 * util/update-grub.in: Remove duplicated line in grub.cfg header
39451 message.
39452
57f96397 394532007-05-13 Robert Millan <rmh@aybabtu.com>
39454
39455 * util/update-grub.in: Fix a few assumptions about the devices holding
39456 /, /boot and /boot/grub being the same.
39457 * util/grub.d/00_header.in: Likewise.
39458 * util/grub.d/10_hurd.in: Likewise.
39459 * util/grub.d/10_linux.in: Likewise.
39460
39461 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
39462 patterns. Use that to define the `.old' suffix as older than `'.
39463
39464 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
39465
39466 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
39467 the grub.cfg header message.
39468
2e610d62 394692007-05-11 Robert Millan <rmh@aybabtu.com>
39470
39471 * util/update-grub.in: Create device.map if it doesn't already exist,
39472 before attempting to run grub-probe.
39473 Check for grub-probe and grub-mkdevicemap with the same code
39474 grub-install is using.
39475 Remove test mode.
39476
3f6a10ef 394772007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
39478
39479 * Makefile.in: Add the datarootdir autoconf variable.
39480
02e7b75e 394812007-05-09 Robert Millan <rmh@aybabtu.com>
39482
39483 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 39484 fail gracefully if dev->disk->partition == NULL.
02e7b75e 39485
75f396cc 394862007-05-07 Robert Millan <rmh@aybabtu.com>
39487
39488 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
39489 determine partition map module.
39490 * util/i386/pc/grub-install.in: Use this feature to decide which
39491 partition module to load, instead of hardcoding pc and gpt.
39492
da65cb36 394932007-05-07 Robert Millan <rmh@aybabtu.com>
39494
39495 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
39496 source directory differs from build directory.
39497
b57d6a91 394982007-05-05 Robert Millan <rmh@aybabtu.com>
39499
39500 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
39501 initialisation.
39502
509d00f1 395032007-05-05 Robert Millan <rmh@aybabtu.com>
39504
39505 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
39506
c48f23ef 395072007-05-05 Robert Millan <rmh@aybabtu.com>
39508
39509 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
39510 command-line arguments via ${GRUB_CMDLINE_LINUX}.
39511
20b97658 395122007-05-05 Robert Millan <rmh@aybabtu.com>
39513
39514 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
39515 (grub_probe_SOURCES): Likewise.
39516 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
39517 GPT and initialize dos_part and bsd_part accordingly.
39518 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
39519 install_bsd_part.
39520 (main): Activate gpt module for use during partition identification,
39521 and deactivate it afterwards.
39522 * util/i386/pc/grub-install.in: Add gpt module to core.img.
39523 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
39524 partition identification, and deactivate it afterwards.
39525
99123174 395262007-05-05 Robert Millan <rmh@aybabtu.com>
39527
39528 * term/i386/pc/console.c (grub_console_fini): Call
39529 grub_term_set_current() before grub_term_unregister().
39530
ebd97f6e 395312007-05-04 Robert Millan <rmh@aybabtu.com>
39532
39533 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
39534 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
39535 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
39536 and update-grub_DATA.
39537 * conf/common.rmk: Build and install update-grub components.
39538 * conf/common.mk: Regenerate.
39539 * util/update-grub.in: New. Core of update-grub.
39540 * util/grub.d/00_header.in: New. Generates grub.cfg header.
39541 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
39542 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
39543 * util/grub.d/README: New. Document grub.d directory layout.
39544
b06a264d 395452007-05-01 Robert Millan <rmh@aybabtu.com>
39546
39547 * util/grub-emu.c: Move initialization functions
39548 grub_util_biosdisk_init() and grub_init_all() before
39549 grub_util_biosdisk_get_grub_dev(), which relies on them.
39550
41f0050e 395512007-04-19 Robert Millan <rmh@aybabtu.com>
39552
39553 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
39554 it is used later.
39555
04582bb3 395562007-04-18 Jerone Young <jerone@gmail.com>
39557
f19dbdb7 39558 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 39559 stanza.
39560
08db4632 395612007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 39562
08db4632 39563 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
39564 continue on and look for device node with real device name.
39565
801b76be 395662007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 39567
fe6b695a 39568 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 39569 ability.
39570 * Makefile.in: Add autoconf package transformation code.
39571 * util/i386/pc/grub-install.in: Likewise.
39572 * util/powerpc/ieee1275/grub-install.in: Likewise.
39573
6795c4e1 395742007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
39575
39576 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
39577 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
39578 (EXT2_REVISION): Likewise.
39579 (EXT2_INODE_SIZE): Likewise.
39580 (struct grub_ext2_block_group): Added a missing member
39581 "used_dirs".
39582 (grub_ext2_read_inode): Divide by the inode size in a superblock
39583 instead of 128 to obtain INODES_PER_BLOCK.
39584 Use the macro EXT2_INODE_SIZE instead of directly using
39585 SBLOCK->INODE_SIZE.
39586
d70af616 395872007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
39588
39589 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
39590 superblock instead of the structure size to compute an
39591 offset. This fixes the problem that GRUB could not read a
39592 filesystem when inode size is different from 128-byte.
39593
3b801603 395942007-03-05 Marco Gerards <marco@gnu.org>
39595
39596 * normal/main.c (read_config_file): When "menu" is not set, create
39597 an initial context.
39598
4785bfe4 395992007-02-21 Hollis Blanchard <hollis@penguinppc.org>
39600
39601 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
39602 (HEAP_LIMIT): New macro.
39603 (grub_claim_heap): Claim memory up to `heaplimit'.
39604
a0cbb023 396052007-02-21 Hollis Blanchard <hollis@penguinppc.org>
39606
39607 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
39608 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
39609 (_start): Likewise.
39610 (grub_arch_modules_addr): Return address after `_end'.
39611 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
39612 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
39613 (add_segments): Calculate `_end' from phdr size and location.
39614 (ALIGN_UP): Moved to ...
39615 * include/grub/misc.h: here.
39616 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
39617 New macro.
39618 (GRUB_IEEE1275_MODULE_BASE): Removed.
39619
fd7d8eba 396202007-02-20 Hollis Blanchard <hollis@penguinppc.org>
39621
39622 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
39623 loop boundary.
39624
9b09e6fc 396252007-02-20 Hollis Blanchard <hollis@penguinppc.org>
39626
39627 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
39628 All users updated.
39629 (grub_elf64_load_hook_t): Likewise.
39630 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
39631 debug output.
39632
3ce27299 396332007-02-20 Hollis Blanchard <hollis@penguinppc.org>
39634
39635 * kern/mm.c: Update copyright.
39636 (grub_mm_debug): Correct syntax error.
39637 (grub_mm_dump_free): New function.
39638 (grub_debug_free): Call `grub_free'.
39639 * include/grub/mm.h: Update copyright.
39640 (grub_mm_dump_free): Add declaration.
39641
077d5fee 396422007-02-12 Hollis Blanchard <hollis@penguinppc.org>
39643
39644 * include/grub/ieee1275/ieee1275.h: Update copyright.
39645 * kern/powerpc/ieee1275/init.c: Likewise.
39646 * kern/powerpc/ieee1275/openfw.c: Likewise.
39647
39648 * loader/powerpc/ieee1275/linux.c: Likewise.
39649 * include/grub/elfload.h: Likewise.
39650 * kern/elf.c: Likewise.
39651 (grub_elf32_load): Pass `base' and `size' parameters. Update all
39652 callers.
39653 (grub_elf64_load): Likewise.
39654 (grub_elf32_load_segment): Move to a nested function.
39655 (grub_elf64_load_segment): Likewise.
39656
dc946850 396572007-02-12 Hollis Blanchard <hollis@penguinppc.org>
39658
39659 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
39660 prototype.
39661 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
39662 (grub_heap_len): Likewise.
39663 (HEAP_SIZE): New macro.
39664 (grub_claim_heap): New function.
39665 (grub_machine_init): Don't claim heap directly. Call
39666 `grub_claim_heap'.
39667 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
39668 (grub_available_iterate): New function.
39669
baa2a121 396702007-02-03 Thomas Schwinge <tschwinge@gnu.org>
39671
39672 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
39673 * configure.ac: Use it for testing the HOST and TARGET compilers.
39674
4fe9862e 396752006-12-13 Thomas Schwinge <tschwinge@gnu.org>
39676
39677 * Makefile.in (enable_grub_emu): New variable.
39678 * configure.ac (--enable-grub-emu): New option.
39679 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
39680 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
39681 * conf/i386-pc.rmk: Likewise.
39682 * conf/powerpc-ieee1275.rmk: Likewise.
39683 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
39684
a8aa5762 396852006-12-12 Marco Gerards <marco@gnu.org>
39686
39687 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
39688
39689 * kern/env.c (grub_env_unset): Don't free the member `value' when
39690 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
39691 pointer.
39692
39693 * normal/main.c (current_menu): Removed.
39694 (free_menu): Unset the `menu' environment variable.
39695 (grub_normal_menu_addentry): Make use of the environment variable
39696 `menu', instead of using the global `current_menu'. Allocate
39697 memory for the sourcecode of this entry.
39698 (read_config_file): New argument `nested', changed all callers.
39699 Only in the case of a new context, initialize a new menu. Set the
39700 `menu' environment variable.
39701 (grub_normal_execute): Don't set and unset the environment
39702 variable `menu' here anymore. Only free the menu when leaving the
39703 context.
39704
39705 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
39706 leak.
39707
957b3a3e 397082006-12-11 Marco Gerards <marco@gnu.org>
39709
39710 * normal/menu_entry.c (run): Fix off by one bug so the last line
39711 is executed. Move the loader check to outside the loop.
39712
ef875714 397132006-12-08 Hollis Blanchard <hollis@penguinppc.org>
39714
39715 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
39716
4e739985 397172006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
39718
39719 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
39720 the number of sectors. Reported by Andrey Shuvikov
39721 <mr_hyro@yahoo.com>.
f19dbdb7 39722
790707f2 397232006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
39724
39725 * kern/disk.c (grub_disk_read): When there is a read error, always
39726 try to read only the necessary data.
f19dbdb7 39727
790707f2 39728 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
39729 disk/raid.c.
39730 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
39731 prototype.
39732 [GRUB_UTIL] (grub_raid_fini): Likewise.
39733 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 39734 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 39735 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
39736 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
39737 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
39738 and grub_raid_fini().
f19dbdb7 39739
03e58196 397402006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
39741
39742 * include/grub/types.h (__unused): Rename to UNUSED.
39743 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
39744 (grub_elf64_size): Likewise.
f19dbdb7 39745
ae4f23bf 397462006-11-03 Hollis Blanchard <hollis@penguinppc.org>
39747
39748 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
39749 grub_error_push and grub_error_pop in the error-handling path.
39750 (grub_elf32_load_segment): Only call grub_file_read with non-zero
39751 length.
39752
2166cc83 397532006-11-03 Hollis Blanchard <hollis@penguinppc.org>
39754
39755 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
39756 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39757 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39758 (kernel_elf_SOURCES): Likewise.
39759 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
39760 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
39761 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
39762 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
39763 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
39764 (elf_mod_SOURCES): New variable.
39765 (elf_mod_CFLAGS): Likewise.
39766 (elf_mod_LDFLAGS): Likewise.
39767 * include/grub/types.h (__unused): New macro.
39768 * include/grub/elfload.h: New file.
39769 * kern/elf.c: Likewise.
39770 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
39771 (ELF32_LOADMASK): New macro.
39772 (ELF64_LOADMASK): Likewise.
39773 (vmlinux): Removed.
39774 (grub_linux_load32): New function.
39775 (grub_linux_load64): Likewise.
39776 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
39777 Use grub_elf_t instead of grub_file_t.
39778
a09d5aa5 397792006-11-02 Hollis Blanchard <hollis@penguinppc.org>
39780
39781 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
39782 `catch_result' to struct set_color_args.
39783
d976fc51 397842006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
39785
39786 * normal/menu.c: Include grub/script.h.
39787 * normal/menu_entry.c: Likewise.
39788 * include/grub/normal.h: Do not include grub/script.h.
39789
67507549 397902006-10-27 Hollis Blanchard <hollis@penguinppc.org>
39791
39792 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
39793
69203a99 397942006-10-27 Hollis Blanchard <hollis@penguinppc.org>
39795
39796 * kern/disk.c (grub_disk_open): Print debug messages when opening a
39797 disk.
39798 (grub_disk_close): Print debug messages when closing a disk.
39799 (grub_disk_read): Print debug messages when disk read fails.
39800 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
39801 filesystem type.
39802 * kern/partition.c: Include misc.h.
39803 (grub_partition_iterate): Print debug messages when detecting
39804 partition type.
39805
e2b8278c 398062006-10-27 Hollis Blanchard <hollis@penguinppc.org>
39807
39808 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
39809 is negative.
39810 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
39811
97b2f2ff 398122006-10-26 Hollis Blanchard <hollis@penguinppc.org>
39813
39814 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
39815 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
39816
6555d655 398172006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
39818
39819 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
39820 instead of sizeof(lv). Patch by Michael Guntsche.
39821
4d42b77f 398222006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
39823
39824 * disk/lvm.c: Rename VGS to VG_LIST.
39825 (grub_lvm_iterate): Change VGS->LV to VG-LV.
39826 (grub_lvm_open): Likewise.
39827 Thanks to Michael Guntsche for finding this bug.
39828
5d74d927 398292006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
39830
39831 * configure.ac (AC_INIT): Bumped to 1.95.
39832
a1bb27e4 398332006-10-14 Robert Millan <rmh@aybabtu.com>
39834
39835 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
39836 with "/dev/.static/dev/md".
39837
e0994b8b 398382006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
39839
39840 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
39841 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
39842 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
39843 DRIVE_NAME are always freed.
39844
39845 * util/i386/pc/biosdisk.c (make_device_name): Add one into
39846 DOS_PART, as a DOS partition is counted from one instead of zero
39847 now. Reported by Robert Millan.
39848
ddd5cee9 398492006-10-14 Robert Millan <rmh@aybabtu.com>
39850
39851 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
39852 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
39853 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
39854 string returned by grub_guess_root_device.
39855 * util/i386/pc/grub-setup.c: Likewise.
39856 * util/i386/pc/grub-probefs.c: Likewise.
39857
39858 * util/i386/pc/grub-probefs.c: Rename to ...
39859 * util/i386/pc/grub-probe.c: ... this.
39860 * DISTLIST: Remove grub-probefs, add grub-probe.
39861 * conf/i386-efi.rmk: Likewise.
39862 * conf/i386-pc.rmk: Likewise.
39863 * util/i386/pc/grub-install.in: Likewise.
39864
39865 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
39866 choose which information we want to print.
39867
2b002173 398682006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
39869
39870 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
39871 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
39872 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
39873 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
39874 video/readers/tga.c and video/i386/pc/vbeutil.c.
39875
398762006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
39877
39878 Added support for RAID and LVM.
f19dbdb7 39879
2b002173 39880 * disk/lvm.c: New file.
39881 * disk/raid.c: Likewise.
39882 * include/grub/lvm.h: Likewise.
f19dbdb7 39883 * include/grub/raid.h: Likewise.
2b002173 39884 * include/grub/util/lvm.h: Likewise.
39885 * include/grub/util/raid.h: Likewise.
39886 * util/lvm.c: Likewise.
39887 * util/raid.c: Likewise.
39888
39889 * include/grub/disk.h (grub_disk_dev_id): Add
39890 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
39891 (grub_disk_get_size): New prototype.
39892 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
39893 returns a partition.
39894 (grub_disk_get_size): New function.
f19dbdb7 39895
2b002173 39896 * kern/i386/pc/init.c (make_install_device): Copy the prefix
39897 verbatim if grub_install_dos_part is -2.
39898
39899 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
39900 and LVM devices.
39901
39902 * util/i386/pc/grub-setup.c (setup): New argument
39903 MUST_EMBED. Force embedding of GRUB when the argument is
39904 true. Close FILE before returning.
39905 (main): Add support for RAID and LVM.
f19dbdb7 39906
2b002173 39907 * conf/common.rmk: Add RAID and LVM modules.
39908 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
39909 util/lvm.c.
39910 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
39911
39912 * kern/misc.c (grub_strstr): New function.
39913 * include/grub/misc.h (grub_strstr): New prototype.
39914
050548d0 399152006-10-10 Tristan Gingold <tristan.gingold@bull.net>
39916
39917 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
39918
da849d2d 399192006-10-05 Tristan Gingold <tristan.gingold@bull.net>
39920
39921 * kern/misc.c (grub_strtoull): Guess the base only if not
39922 specified.
39923
97b2f2ff 399242006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 39925
39926 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
39927 PowerMac support.
39928
97b2f2ff 399292006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 39930
39931 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
39932
39933 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
39934 Remove `flags' argument. All callers changed.
39935 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
39936 (IEEE1275_IHANDLE_INVALID): New variable.
39937 (IEEE1275_CELL_INVALID): New variable.
39938 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
39939 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
39940 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
39941 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
39942 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
39943 codes from Open Firmware. All callers updated.
39944 (grub_ieee1275_next_property): Directly return Open Firmware return
39945 code.
39946 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
39947 Standardize error checking from `grub_ieee1275_get_property'.
39948 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
39949 `devalias' to `aliases'. Correct comments. Consolidate error paths.
39950
97b2f2ff 399512006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 39952
39953 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
39954 `instance_to_package_args' to `instance_to_path_args'.
39955
39956 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
39957 `grub_ieee1275_chosen'.
39958
39959 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
39960 `grub_ieee1275_interpret'.
39961
97b2f2ff 399622006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 39963
39964 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
39965
97b2f2ff 399662006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 39967
39968 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
39969 (__cmpdi): Likewise.
39970
39971 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
39972 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
39973 `grub_ssize_t'.
39974
02bb8acc 39975 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 39976
39977 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
39978 to type `grub_ssize_t'.
39979 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
39980
7f9a8531 399812006-09-22 Marco Gerards <marco@gnu.org>
39982
39983 * normal/script.c (grub_script_create_cmdmenu): Skip leading
39984 newlines.
39985
b5ef1102 399862006-09-22 Marco Gerards <marco@gnu.org>
39987
39988 * commands/echo.c: New file.
39989
39990 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
39991
39992 * conf/common.rmk (echo_mod_SOURCES): New variable.
39993 (echo_mod_CFLAGS): Likewise.
39994 (echo_mod_LDFLAGS): Likewise.
39995
2cff3677 399962006-09-22 Marco Gerards <marco@gnu.org>
39997
39998 * normal/main.c (get_line): Malloc memory instead of using
39999 preallocated memory. Removed the arguments `cmdline' and
40000 `max_len'. Updated all callers.
40001
6ba4688b 400022006-09-22 Marco Gerards <marco@gnu.org>
40003
40004 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
40005 (normal_mod_DEPENDENCIES): Likewise.
40006
40007 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
40008 (normal_mod_DEPENDENCIES): Likewise.
40009
40010 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
40011
e02ac02c 400122006-09-22 Johan Rydberg <jrydberg@gnu.org>
40013
40014 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
40015 programs.
40016 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
40017 (normal_mod_DEPENDENCIES): Likewise.
40018 * conf/i386-pc.mk: Regenerate.
40019 * conf/i386-efi.mk: Likewise
40020 * conf/common.mk: Likewise.
40021 * conf/powerpc-ieee1275.mk: Likewise.
40022 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 40023
8d252e44 400242006-09-22 Robert Millan <rmh@aybabtu.com>
40025
40026 Sync with i386 version.
40027 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
40028 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
40029
209bf7ac 400302006-09-21 Robert Millan <rmh@aybabtu.com>
40031
40032 Import from GRUB Legacy (lib/device.c):
40033 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
40034 (init_device_map) [__linux__]: Add support for I2O devices.
40035
6b146090 400362006-09-14 Marco Gerards <marco@gnu.org>
40037
40038 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
40039 `-melf_i386'.
40040
e38600a8 400412006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 40042
40043 * util/i386/pc/grub-install.in: Skip menu.lst when removing
40044 /boot/grub/*.lst.
78fa1790 40045
2952da5d 40046 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 40047
2952da5d 40048 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
40049 before adding it to device.map.
40050
01b82a64 400512006-08-15 Johan Rydberg <jrydberg@gnu.org>
40052
fe6b695a 40053 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 40054 compiles a file; using the -MD option.
40055 * conf/common.mk: Regenerate.
40056 * conf/i386-pc.mk: Likewise.
40057 * conf/i386-efi.mk: Likewise.
40058 * conf/powerpc-ieee1275.mk: Likewise.
40059 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 40060
1064790d 400612006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
40062
40063 Move the prototypes of grub_setjmp and grub_longjmp to
40064 cpu/setjmp.h, so that each architecture may specify different
40065 attributes.
f19dbdb7 40066
1064790d 40067 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
40068 (grub_longjmp): Likewise.
40069 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
40070 (grub_longjmp): Likewise.
40071 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
40072 (grub_longjmp): Likewise.
40073
40074 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
40075 [!GRUB_UTIL] (grub_longjmp): Removed.
40076
29dda3ed 400772006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
40078
40079 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
40080 "color!" method does not return any value.
40081
ad2a06ed 400822006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40083
40084 * include/grub/bitmap.h: New file.
40085
40086 * include/grub/i386/pc/vbeutil.h: Likewise.
40087
40088 * video/bitmap.c: Likewise.
40089
40090 * video/readers/tga.c: Likewise.
40091
40092 * video/i386/pc/vbeutil.c: Likewise.
40093
40094 * commands/videotest.c: Code cleanup and updated to reflect to new
40095 video API.
40096
40097 * term/gfxterm.c: Likewise.
40098
40099 * video/video.c: Likewise.
40100
40101 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
40102 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
40103 (bitmap_mod_SOURCES): New entry.
40104 (bitmap_mod_CFLAGS): Likewise.
40105 (bitmap_mod_LDFLAGS): Likewise.
40106 (tga_mod_SOURCES): Likewise.
40107 (tga_mod_CFLAGS): Likewise.
40108 (tga_mod_LDFLAGS): Likewise.
40109
40110 * include/grub/video.h (grub_video_blit_operators): New enum type.
40111 (grub_video_render_target): Changed as forward declaration and moved
40112 actual definition to be video driver specific.
40113 (grub_video_adapter.blit_bitmap): Added blitting operator.
40114 (grub_video_adapter.blit_render_target): Likewise.
40115 (grub_video_blit_bitmap): Likewise.
40116 (grub_video_blit_render_target): Likewise.
40117
40118 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
40119 driver specific render target definition.
40120 (grub_video_vbe_map_rgba): Added driver internal helper.
40121 (grub_video_vbe_unmap_color): Updated to use
40122 grub_video_i386_vbeblit_info.
40123 (grub_video_vbe_get_video_ptr): Likewise.
40124
40125 * include/grub/i386/pc/vbeblit.h
40126 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
40127 grub_video_i386_vbeblit_info.
40128 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40129 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40130 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40131 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40132 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40133 (grub_video_i386_vbeblit_index_index): Likewise.
40134 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
40135 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40136 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40137 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
40138 operator.
40139 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
40140 operator.
40141
40142 * video/i386/pc/vbeblit.c: Updated to reflect changes on
40143 include/grub/i386/pc/vbeblit.h.
40144
40145 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
40146 Updated to use grub_video_i386_vbeblit_info.
40147 (grub_video_i386_vbefill_R8G8B8): Likewise.
40148 (grub_video_i386_vbefill_index): Likewise.
40149 (grub_video_i386_vbefill): Added generic filler.
40150
40151 * video/i386/pc/vbefill.c: Updated to reflect changes on
40152 include/grub/i386/pc/vbefill.h.
40153
40154 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
40155 grub_video_i386_vbeblit_info.
40156 (grub_video_vbe_unmap_color): Likewise.
40157 (grub_video_vbe_blit_glyph): Likewise.
40158 (grub_video_vbe_scroll): Likewise.
40159 (grub_video_vbe_draw_pixel): Removed function.
40160 (grub_video_vbe_get_pixel): Likewise.
40161 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
40162 updated code to use it.
40163 (common_blitter): Added common blitter for render target and bitmap.
40164 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
40165 (grub_video_vbe_blit_render_target): Likewise.
40166
bc8c036d 401672006-07-30 Johan Rydberg <jrydberg@gnu.org>
40168
40169 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
40170 is in text mode if there is no console control protocol instance
40171 available.
40172
684a8eff 401732006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40174
40175 * include/grub/video.h: Code cleanup.
40176
40177 * include/grub/i386/pc/vbe.h: Likewise.
40178
40179 * video/i386/pc/vbe.c: Likewise.
40180
40181 * video/i386/pc/vbeblit.c: Likewise.
40182
40183 * video/i386/pc/vbefill.c: Likewise.
40184
40185 * video/video.c: Likewise. Also added more comments.
40186
5915059b 401872006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40188
40189 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
40190 (struct grub_biosdisk_dap): Likewise.
40191
40192 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
40193 linkage settings for all functions.
40194
90ce5d56 401952006-07-12 Marco Gerards <marco@gnu.org>
40196
40197 * configure.ac (--enable-mm-debug): Fix typo.
40198
40199 * genkernsyms.sh.in: Use proper quoting for `CC'.
40200
43e7f879 402012006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
40202
40203 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
40204 (normal_mod_ASFLAGS): Remove "-m32".
40205
4889bdec 402062006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
40207
40208 * util/misc.c: Include config.h.
40209 [!HAVE_MEMALIGN]: Do not include malloc.h.
40210 (grub_memalign): Use posix_memalign, if present. Then, use
40211 memalign, if present. Otherwise, emit an error.
40212
40213 * util/grub-emu.c: Do not include malloc.h.
40214
40215 * include/grub/util/misc.h: Include unistd.h. This is required for
40216 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
40217 D. Eades III <hde@foobar-qux.org>.
40218
40219 * configure.ac (AC_GNU_SOURCE): Added.
40220 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
40221 type.
40222
fd39d4da 402232006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
40224
40225 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
40226 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
40227
b786f3b5 402282006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
40229
40230 * include/grub/types.h (grub_host_addr_t): Rename to
40231 grub_target_addr_t.
40232 (grub_host_off_t): Rename to grub_target_off_t.
40233 (grub_host_size_t): Rename to grub_target_size_t.
40234 (grub_host_ssize_t): Rename to grub_target_ssize_t.
40235 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
40236
40237 * include/grub/kernel.h (struct grub_module_header): Change type
40238 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
40239 (grub_module_info): Likewise.
f19dbdb7 40240
051988bb 402412006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
40242
40243 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
40244 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
40245 Velazquez <jesus.velazquez@gmail.com>.
40246
deae281b 402472006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
40248
40249 Count partitions from 1 instead of 0 in the string representation
40250 of partitions. Still use 0-based internally.
f19dbdb7 40251
deae281b 40252 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
40253 (sun_partition_map_iterate): Use grub_partition_t instead of
40254 struct grub_partition *. Cast DESC->START_CYLINDER to
40255 grub_uint64_t after converting the endian.
40256 (sun_partition_map_probe): Subtract 1 for PARTNUM.
40257 (sun_partition_map_get_name): Add 1 to P->INDEX.
40258
40259 * partmap/pc.c (grub_partition_parse): Subtract 1 for
40260 PCDATA->DOS_PART.
40261 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
40262
40263 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
40264 zero instead of one.
40265 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
40266 (gpt_partition_map_get_name): Add 1 into P->INDEX.
40267
40268 * partmap/apple.c (apple_partition_map_iterate): Change the type
40269 of POS to unsigned.
40270 (apple_partition_map_probe): Subtract 1 for PARTNUM.
40271 (apple_partition_map_get_name): Add 1 into P->INDEX.
40272
40273 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
40274 of POS to unsigned.
40275 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
40276 calculate the offset of a partition.
40277 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
40278 (amiga_partition_map_get_name): Add 1 into P->INDEX.
40279
40280 * partmap/acorn.c (acorn_partition_map_find): Change the type of
40281 SECTOR to grub_disk_addr_t.
40282 (acorn_partition_map_iterate): Likewise.
40283 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
40284 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
40285 top.
40286 (acorn_partition_map_get_name): Add 1 into P->INDEX.
40287
40288 * kern/i386/pc/init.c (make_install_device): Add 1 into
40289 GRUB_INSTALL_DOS_PART.
40290
40291 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
40292 conditional.
40293
524a1e6a 402942006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
40295
40296 Clean up the code to support 64-bit addressing in disks and
40297 files. This change is not enough for filesystems yet.
f19dbdb7 40298
524a1e6a 40299 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
40300 type of "start" to grub_uint64_t.
40301 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
40302 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
40303 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
40304 convert addresses.
40305
40306 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
40307 to grub_disk_addr_t.
40308
40309 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
40310 string.
40311
40312 * partmap/pc.c (pc_partition_map_iterate): Likewise.
40313
40314 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
40315 to char *.
40316
40317 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
40318
40319 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
40320
40321 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
40322
40323 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
40324 to grub_off_t, to detect an error from grub_file_seek.
40325 (grub_multiboot_load_elf32): Likewise.
40326
40327 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
40328 maximum unsigned long value when an overflow is detected.
40329 (grub_strtoull): New function.
40330 (grub_divmod64): Likewise.
40331 (grub_lltoa): use grub_divmod64.
40332
40333 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
40334 grub_disk_addr_t.
40335 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
40336 the pointer to next character. Use grub_strtoull instead of
40337 grub_strtoul.
40338 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
40339 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
40340 respectively.
40341
fe6b695a 40342 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 40343 return value is signed.
40344 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
40345 test if OFFSET is less than zero, as OFFSET is unsigned now.
40346
40347 * kern/disk.c (struct grub_disk_cache): Change the type of
40348 "sector" to grub_disk_addr_t.
40349 (grub_disk_cache_get_index): Change the type of SECTOR to
40350 grub_disk_addr_t. Calculate the hash with SECTOR casted to
40351 unsigned after shifting.
40352 (grub_disk_cache_invalidate): Change the type of SECTOR to
40353 grub_disk_addr_t.
40354 (grub_disk_cache_unlock): Likewise.
40355 (grub_disk_cache_store): Likewise.
40356 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
40357 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
40358 grub_disk_addr_t and grub_uint64_t, respectively.
40359 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
40360 body, as the value of OFFSET is tweaked by
40361 grub_disk_check_range. Change the types of START_SECTOR, LEN and
40362 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
40363 respectively.
40364 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
40365 body, as the value of OFFSET is tweaked by
40366 grub_disk_check_range. Change the types of LEN and N to
40367 grub_size_t.
40368
40369 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
40370 and "saved_offset" to grub_off_t.
40371 (test_header): Cast BUF to char *.
40372 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
40373 to char *.
40374 (grub_gzio_read): Change the types of OFFSET and SIZE to
40375 grub_off_t and grub_size_t, respectively.
40376
40377 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
40378 Removed.
40379 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
40380 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
40381 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
40382 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
40383 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
40384
40385 * include/grub/types.h (grub_off_t): Unconditionally set to
40386 grub_uint64_t.
40387 (grub_disk_addr_t): Changed to grub_uint64_t.
40388
40389 * include/grub/partition.h (struct grub_partition): Change the
40390 types of "start", "len" and "offset" to grub_disk_addr_t,
40391 grub_uint64_t and grub_disk_addr_t, respectively.
40392 (grub_partition_get_start): Return grub_disk_addr_t.
40393 (grub_partition_get_len): Return grub_uint64_t.
40394
40395 * include/grub/misc.h (grub_strtoull): New prototype.
40396 (grub_divmod64): Likewise.
40397
40398 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
40399 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
40400 grub_off_t, respectively.
40401 All callers and references changed.
40402
40403 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
40404 grub_size_t in "read".
40405 All callers and references changed.
40406
40407 * include/grub/file.h (struct grub_file): Change the types of
40408 "offset" and "size" to grub_off_t and grub_off_t,
40409 respectively. Change the type of SECTOR to grub_disk_addr_t in
40410 "read_hook".
40411 (grub_file_read): Change the type of LEN to grub_size_t.
40412 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
40413 grub_off_t.
40414 (grub_file_size): Return grub_off_t.
40415 (grub_file_tell): Likewise.
40416 All callers and references changed.
40417
40418 * include/grub/disk.h (struct grub_disk_dev): Change the types of
40419 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
40420 "write".
40421 (struct grub_disk): Change the type of "total_sectors" to
40422 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 40423 "read_hook".
524a1e6a 40424 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
40425 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
40426 (grub_disk_write): Likewise.
40427 All callers and references changed.
40428
40429 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
40430 char * for grub_strncmp to silence gcc.
40431 (grub_iso9660_mount): Likewise.
40432 (grub_iso9660_mount): Likewise.
40433 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
40434 return statement.
40435 (grub_iso9660_iterate_dir): Likewise.
40436 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
40437
40438 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
40439 LEN to grub_disk_addr_t and grub_size_t, respectively.
40440
40441 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
40442
40443 * fs/jfs.c (grub_jfs_read_file): Likewise.
40444
40445 * fs/minix.c (grub_jfs_read_file): Likewise.
40446
40447 * fs/sfs.c (grub_jfs_read_file): Likewise.
40448
40449 * fs/ufs.c (grub_jfs_read_file): Likewise.
40450
40451 * fs/xfs.c (grub_jfs_read_file): Likewise.
40452
40453 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
40454 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
40455 respectively.
40456
40457 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
40458 BLKNR to -1 instead of returning GRUB_ERRNO.
40459 (grub_ext2_read_file): Change the types of SECTOR and
40460 LEN to grub_disk_addr_t and grub_size_t, respectively.
40461
40462 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
40463 LEN to grub_disk_addr_t and grub_size_t, respectively.
40464
40465 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
40466 grub_file_read.
40467
40468 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
40469 string. Do not cast SECTOR explicitly.
40470
40471 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
40472 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
40473 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
40474 grub_disk_addr_t and grub_size_t, respectively. If the sector is
40475 over 2TB and LBA mode is not supported, raise an error.
40476 (get_safe_sectors): New function.
40477 (grub_biosdisk_read): Use get_safe_sectors.
40478 (grub_biosdisk_write): Likewise.
40479
40480 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
40481 (grub_efidisk_write): Likewise.
40482
40483 * disk/loopback.c (delete_loopback): Cosmetic changes.
40484 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
40485 correctly.
40486 (grub_loopback_open): Likewise.
40487 (grub_loopback_read): Likewise. Also, change the type of POS to
40488 grub_off_t, and fix the usage of grub_memset.
40489
40490 * commands/i386/pc/play.c: Include grub/machine/time.h.
40491
40492 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
40493 print FILE->SIZE.
40494
40495 * commands/configfile.c: Include grub/env.h.
40496
40497 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
40498 GRUB_ERRNO directly instead. Change the type of POS to
40499 grub_off_t. Follow the coding standard.
40500
40501 * commands/blocklist.c: Include grub/partition.h.
40502 (grub_cmd_blocklist): Return an error if the underlying device is
40503 not a disk. Take the starting sector of a partition into account,
40504 if a partition is used.
40505
40506 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
40507 a length field.
40508 (lba_mode): Support 64-bit addresses.
40509 (chs_mode): Likewise.
40510 (copy_buffer): Adapted to the new offsets of a length field and a
40511 segment field.
40512 (blocklist_default_start): Allocate 64-bit space.
40513
40514 * boot/i386/pc/boot.S (force_lba): Removed.
40515 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 40516 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 40517 space.
40518 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
40519 is useless.
40520 (lba_mode): Refactored to support a 64-bit address. More size
40521 optimization.
40522 (setup_sectors): Likewise.
40523
53af98ad 405242006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
40525
40526 * DISTLIST: Added include/grub/i386/linux.h. Removed
40527 include/grub/i386/pc/linux.h
40528
40529 * configure.ac (AC_INIT): Bumped to 1.94.
40530
40531 * config.guess: Updated from gnulib.
40532 * config.sub: Likewise.
40533 * install-sh: Likewise.
40534 * mkinstalldirs: Likewise.
40535
b4c1940a 405362006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
40537
40538 * conf/common.rmk (grub_modules_init.lst): Depended on
40539 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
40540 MODSRCFILES.
40541
40542 * genmk.rb (PModule::rule): Reverted the previous change.
40543
cfca1cfd 405442006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
40545
40546 * conf/common.rmk (grub_modules_init.lst): Depends on
40547 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
40548 that the target does not exist before producing.
40549 (grub_modules_init.h): Remove the target before generating.
40550 (grub_emu_init.c): Likewise.
40551
40552 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
40553
aa6d7826 405542006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
40555
40556 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
40557 for the target-specific tests. Make sure that we also have the
40558 up-to-date target variables for those tests.
40559
26c607b9 405602006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
40561
40562 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
40563 (PModule::rule): Likewise.
40564
0162321a 405652006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
40566
40567 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
40568 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
40569 target-specific flags should be prefixed.
40570 (PModule::rule): Likewise.
40571
6c826348 405722006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
40573
40574 * configure.ac (CMP): Check if cmp is available explicitly.
40575
b977bf01 405762006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
40577
40578 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
40579 (target_cpu): New variable.
40580 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 40581
b977bf01 40582 * util/i386/pc/grub-install.in (host_cpu): Removed.
40583 (target_cpu): New variable.
40584 (pkglibdir): Use target_cpu instead of host_cpu.
40585
40586 * util/genmoddep.c: Removed.
f19dbdb7 40587
b977bf01 40588 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
40589 instead of GRUB_HOST_SIZEOF_VOID_P.
40590 * kern/dl.c: Likewise.
40591
40592 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
40593 ...
40594 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
40595 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
40596 (GRUB_TARGET_SIZEOF_LONG): ... this.
40597 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
40598 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
40599 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
40600 to ...
40601 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
40602 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
40603 (GRUB_TARGET_SIZEOF_LONG): ... this.
40604 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
40605 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
40606 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
40607 to ...
40608 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
40609 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
40610 (GRUB_TARGET_SIZEOF_LONG): ... this.
40611 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
40612 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
40613
40614 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
40615 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
40616 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
40617 instead of GRUB_HOST_SIZEOF_LONG.
40618 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
40619 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
40620 GRUB_CPU_WORDS_BIGENDIAN.
40621 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
40622 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
40623 grub_host_ssize_t.
40624
40625 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
40626 (genmoddep_SOURCES): Likewise.
40627 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
40628 (genmoddep_SOURCES): Likewise.
40629 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
40630 (genmoddep_SOURCES): Likewise.
40631 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
40632 Likewise.
40633 (genmoddep_SOURCES): Likewise.
40634
40635 * genmoddep.awk: New file.
40636
40637 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
40638 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
40639 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
40640 (PModule::rule): Likewise.
40641 (Program::rule): Likewise.
40642 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
40643 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
40644 respectively.
40645
40646 * configure.ac: Rewritten intensively to use host and target
40647 instead of build and host, respectively.
40648
40649 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
40650 (host_cpu): Removed.
40651 (target_cpu): New variable.
40652 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
40653 (BUILD_CC): Removed.
40654 (BUILD_CFLAGS): Likewise.
40655 (BUILD_CPPFLAGS): Likewise.
40656 (TARGET_CC): New variable.
40657 (TARGET_CFLAGS): Likewise.
40658 (TARGET_CPPFLAGS): Likewise.
40659 (TARGET_LDFLAGS): Likewise.
40660 (AWK): Likewise.
40661 (include): Use target_cpu instead of host_cpu.
40662 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 40663
b977bf01 40664 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
40665
f09771a1 406662006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
40667
40668 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
40669 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
40670 field 'false' to 'exec_on_false'.
40671 (grub_script_create_cmdif): Renamed argument names to reflect above
40672 changes.
40673
40674 * normal/execute.c (grub_script_execute_cmdif): Likewise.
40675
40676 * normal/script.c (grub_script_create_cmdif): Likewise.
40677
118f4fb3 406782006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
40679
40680 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
40681 top.
40682 (grub_hfsplus_btree_recptr): Likewise.
40683 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
40684 FILEBLOCK both to pass a block number and store next block
40685 number.
40686 (grub_hfsplus_read_block): Rewritten heavily to support an extent
40687 overflow file correctly. Specify errors appropriately, because
40688 fshelp expects that GRUB_ERRNO is set when fails. Reuse
40689 grub_hfsplus_btree_recptr to get the pointer to a found key.
40690 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
40691 is found.
40692
40693 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
40694 linux.mod.
40695 (_linux_mod_SOURCES): New variable.
40696 (_linux_mod_CFLAGS): Likewise.
40697 (_linux_mod_LDFLAGS): Likewise.
40698 (linux_mod_SOURCES): Likewise.
40699 (linux_mod_CFLAGS): Likewise.
40700 (linux_mod_LDFLAGS): Likewise.
40701
40702 * DISTLIST: Added loader/i386/efi/linux.c,
40703 loader/i386/efi/linux_normal.c and
40704 include/grub/i386/efi/loader.h.
40705
40706 * loader/i386/efi/linux.c: New file.
40707 * loader/i386/efi/linux_normal.c: Likewise.
40708 * include/grub/i386/efi/loader.h: Likewise.
40709
89a7d726 407102006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
40711
40712 * commands/blocklist.c: New file.
40713
40714 * DISTLIST: Added commands/blocklist.c.
40715
40716 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 40717 color for the background, and a darker color for the foreground.
89a7d726 40718 (grub_console_checkkey): Return READ_KEY.
40719 (grub_console_cls): Set the background to
40720 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
40721
40722 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
40723
40724 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
40725 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
40726
40727 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
40728 prototype.
40729
40730 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
40731 BG. The spec is wrong again.
40732
40733 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
40734 prototype.
40735 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
40736
40737 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40738 commands/blocklist.c.
40739 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 40740
89a7d726 40741 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
40742 (blocklist_mod_SOURCES): New variable.
40743 (blocklist_mod_CFLAGS): Likewise.
40744 (blocklist_mod_LDFLAGS): Likewise.
40745
75c8f258 407462006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
40747
40748 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
40749 duplication.
40750 (lba_mode): Use %eax more intensively to reduce the code size.
40751
da2eb181 407522006-05-20 Marco Gerards <marco@gnu.org>
40753
40754 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
40755
40756 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
40757 for `menuentry'.
40758 (script): Accept leading newlines.
40759 (newlines): New rule to describe 0 or more newlines.
40760 (commands): Accept `command' with trailing newline. Fixed the
40761 order in which arguments were passed to `grub_script_add_cmd'.
40762 Accept commands separated by newlines.
40763 (function): Changed to accept newlines.
40764 (menuentry) Rewritten.
40765
40766 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
40767 front of the list, instead of to the end.
40768
577b4050 407692006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
40770
40771 * util/i386/pc/grub-install.in (bindir): New variable.
40772 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
40773 Shaver <lbgwjl@gmail.com>.
40774
0d6e1189 407752006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
40776
40777 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
40778 grub/machine/linux.h
40779 * loader/i386/pc/linux.c: Likewise.
40780
40781 * include/grub/i386/pc/linux.h: Moved to ...
40782 * include/grub/i386/linux.h: ... here.
40783
40784 * include/grub/i386/linux.h (struct linux_kernel_params): New
40785 struct.
f19dbdb7 40786
31b86e9f 407872006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
40788
40789 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
40790 checking.
40791 (grub_video_vbe_blit_glyph): Likewise.
40792 (grub_video_vbe_blit_bitmap): Likewise.
40793 (grub_video_vbe_blit_render_target): Likewise.
40794
83b984de 407952006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
40796
40797 * configure.ac (--with-platform): Properly quote the square
40798 brackets.
40799
5f0413bd 408002006-05-08 Marco Gerards <marco@gnu.org>
40801
40802 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
40803 this...
40804 (kernel_elf_HEADERS): ...to this. Updated all users.
40805 (grubof_symlist.c): Renamed from this...
40806 (kernel_elf_symlist.c): ...to this. Updated all users.
40807 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
40808 (grubof_SOURCES): Renamed from this...
40809 (kernel_elf_SOURCES): ...to this.
40810 (grubof_HEADERS): Renamed from this...
40811 (kernel_elf_HEADERS): ...to this.
40812 (grubof_CFLAGS): Renamed from this...
40813 (kernel_elf_CFLAGS): ...to this.
40814 (grubof_ASFLAGS): Renamed from this...
40815 (kernel_elf_ASFLAGS): ...to this.
40816 (grubof_LDFLAGS): Renamed from this...
40817 (kernel_elf_LDFLAGS): ...to this.
40818
40819 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
40820 this...
40821 (kernel_elf_HEADERS): ...to this. Updated all users.
40822 (grubof_symlist.c): Renamed from this...
40823 (kernel_elf_symlist.c): ...to this. Updated all users.
40824 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
40825 (grubof_SOURCES): Renamed from this...
40826 (kernel_elf_SOURCES): ...to this.
40827 (grubof_HEADERS): Renamed from this...
40828 (kernel_elf_HEADERS): ...to this.
40829 (grubof_CFLAGS): Renamed from this...
40830 (kernel_elf_CFLAGS): ...to this.
40831 (grubof_ASFLAGS): Renamed from this...
40832 (kernel_elf_ASFLAGS): ...to this.
40833 (grubof_LDFLAGS): Renamed from this...
40834 (kernel_elf_LDFLAGS): ...to this.
40835
40836 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
40837 `kernel.elf' instead of `grubof'.
40838
05568c2e 408392006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
40840
40841 Add --with-platform to configure. Use pkglibdir instead of
40842 pkgdatadir. This is reported by Roger Leigh.
40843
40844 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
40845 (host_vendor): Likewise.
40846 (host_os): Likewise.
40847 (pkgdatadir): Likewise.
40848 (platform): New variable.
40849 (pkglibdir): Likewise.
40850 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 40851
05568c2e 40852 * util/i386/pc/grub-install.in (datadir): Removed.
40853 (host_vendor): Likewise.
40854 (host_os): Likewise.
40855 (pkgdatadir): Likewise.
40856 (platform): New variable.
40857 (pkglibdir): Likewise.
40858 Use PKGLIBDIR instead of PKGDATADIR.
40859
40860 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
40861 instead of GRUB_DATADIR.
40862 (main): Likewise.
40863 * util/i386/pc/grub-mkimage.c (usage): Likewise.
40864 (main): Likewise.
40865 * util/i386/efi/grub-mkimage.c (usage): Likewise.
40866 (main): Likewise.
40867
40868 * configure.ac (--with-platform): New option.
40869 Use PLATFORM instead of HOST_VENDOR to specify a platform.
40870
40871 * Makefile.in: Include a makefile based on PLATFORM instead of
40872 HOST_VENDOR.
40873 (pkgdatadir): Not appended by the machine type.
40874 (pkglibdir): Appended by the machine type.
40875 (host_vendor): Removed.
40876 (platform): New variable.
40877 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
40878 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
40879 (uninstall): Likewise.
40880
4e93851c 408812006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
40882
40883 Use the environment context in the menu. Remove the commands
40884 "default" and "timeout", and use variables instead.
f19dbdb7 40885
4e93851c 40886 * normal/menu.c: Include grub/env.h.
40887 (print_entry): Cast TITLE to silence gcc.
40888 (get_timeout): New function.
40889 (set_timeout): Likewise.
40890 (get_entry_number): Likewise.
40891 (run_menu): Use a default entry, a fallback entry and a timeout
40892 in the environment variables "default", "fallback" and
40893 "timeout". Also, tweak the default entry if it is not within the
40894 current menu entries.
40895 (grub_menu_run): Use a fallback entry in the environment variable
40896 "fallback".
40897
40898 * normal/main.c (read_config_file): Do not initialize
40899 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
40900 NEWMENU->TIMEOUT.
40901 (grub_normal_execute): Use a data slot to store the menu.
40902
40903 * include/grub/normal.h (struct grub_menu): Removed default_entry,
40904 fallback_entry and timeout.
40905 (struct grub_menu_list): Removed.
40906 (grub_menu_list_t): Likewise.
40907 (struct grub_context): Likewise.
40908 (grub_context_t): Likewise.
40909 (grub_context_get): Likewise.
40910 (grub_context_get_current_menu): Likewise.
40911 (grub_context_push_menu): Likewise.
40912 (grub_context_pop_menu): Likewise.
40913 (grub_default_init): Likewise.
40914 (grub_default_fini): Likewise.
40915 (grub_timeout_init): Likewise.
40916 (grub_timeout_fini): Likewise.
40917
40918 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
40919 and timeout.mod.
40920 (normal_mod_SOURCES): Removed normal/context.c.
40921
40922 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
40923 commands/default.c, commands/timeout.c and normal/context.c.
40924 (normal_mod_SOURCES): Removed normal/context.c.
40925
40926 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
40927 commands/timeout.c and normal/context.c.
40928 (normal_mod_SOURCES): Removed normal/context.c.
40929
40930 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
40931 commands/default.c, commands/timeout.c and normal/context.c.
40932 (normal_mod_SOURCES): Removed normal/context.c.
40933
40934 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
40935 timeout.mod.
40936 (default_mod_SOURCES): Removed.
40937 (default_mod_CFLAGS): Likewise.
40938 (default_mod_LDFLAGS): Likewise.
40939 (timeout_mod_SOURCES): Removed.
40940 (timeout_mod_CFLAGS): Likewise.
40941 (timeout_mod_LDFLAGS): Likewise.
40942
40943 * DISTLIST: Removed commands/default.c, commands/timeout.c and
40944 normal/context.c.
40945
40946 * commands/default.c: Removed.
40947 * commands/timeout.c: Likewise.
40948 * normal/context.c: Likewise.
40949
1eb9cc1d 409502006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
40951
40952 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
40953
385bd9c1 409542006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
40955
40956 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
40957 "next" to "prev" for readability.
40958 (struct grub_env_sorted_var): New struct.
40959 (grub_env_context): Renamed to ...
40960 (initial_context): ... this.
40961 (grub_env_var_context): Renamed to ...
40962 (current_context): ... this.
40963 (grub_env_find): Look only at CURRENT_CONTEXT.
40964 (grub_env_context_open): Rewritten to copy exported variables from
40965 previous context.
40966 (grub_env_context_close): Rewritten according to the new
40967 scheme. Also, add an assertion to prevent the initial context from
40968 removed.
40969 (grub_env_insert): Removed the code for the sorted list.
40970 (grub_env_remove): Likewise.
40971 (grub_env_export): Simply mark the variable with
40972 GRUB_ENV_VAR_GLOBAL.
40973 (grub_env_set): A cosmetic change for naming consistency.
40974 (grub_env_get): Likewise.
40975 (grub_env_unset): Likewise.
40976 (grub_env_iterate): Rewritten to sort variables within this
40977 function.
40978 (grub_register_variable_hook): Fixed for naming consistency. Call
40979 grub_env_find again, only if NAME is not found at the first time.
40980 (mangle_data_slot_name): New function.
40981 (grub_env_set_data_slot): Likewise.
40982 (grub_env_get_data_slot): Likewise.
40983 (grub_env_unset_data_slot): Likewise.
40984
40985 * include/grub/env.h (grub_env_var_type): New enum.
40986 (GRUB_ENV_VAR_LOCAL): New constant.
40987 (GRUB_ENV_VAR_GLOBAL): Likewise.
40988 (GRUB_ENV_VAR_DATA): Likewise.
40989 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
40990 "type".
40991 (grub_env_set): Replace VAR with NAME for consistency.
40992 (grub_register_variable_hook): Likewise.
40993 (grub_env_export): Specify the name of the argument.
40994 (grub_env_set_data_slot): New prototype.
40995 (grub_env_get_data_slot): Likewise.
40996 (grub_env_unset_data_slot): Likewise.
40997
7f362539 409982006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
40999
41000 Extend the loader so that GRUB can accept a loader which comes
41001 back to GRUB when a loaded image exits. Also, this change adds
41002 support for a chainloader on EFI.
f19dbdb7 41003
7f362539 41004 * term/efi/console.c: Include grub/misc.h.
41005 (grub_console_checkkey): Display a scan code on the top for
41006 debugging. This will be removed once the EFI port gets stable.
41007 Correct the scan code mapping.
41008
41009 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
41010 allocate memory from larger regions, in order to reduce the number
41011 of allocated regions. Otherwise, the MacOSX loader panics.
41012 (filter_memory_map): Avoid less than 1MB for compatibility with
41013 other loaders.
41014 (add_memory_regions): Allocate from the tail of a region, if
41015 possible, to avoid allocating a region near to 1MB, for the MacOSX
41016 loader.
41017
41018 * kern/efi/init.c (grub_efi_set_prefix): Specify
41019 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
41020
41021 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
41022 argument IMAGE_HANDLE and specify it to get a loaded image.
41023 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
41024 grub_efi_get_loaded_image.
fe6b695a 41025 (grub_efi_get_filename): Divide the length by the size of
7f362539 41026 grub_efi_char16_t.
41027 (grub_efi_get_device_path): New function.
41028 (grub_efi_print_device_path): Print End Device Path nodes. Divide
41029 the length by the size of grub_efi_char16_t for a file path device
41030 path node.
41031
41032 * kern/loader.c (grub_loader_noreturn): New variable.
41033 (grub_loader_set): Accept a new argument NORETURN. Set
41034 GRUB_LOADER_NORETURN to NORETURN.
41035 All callers changed.
41036 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
41037 grub_machine_fini.
41038
41039 * include/grub/efi/efi.h (grub_efi_get_device_path): New
41040 prototype.
41041 (grub_efi_get_loaded_image): Take an argument to specify an image
41042 handle.
41043
41044 * include/grub/loader.h (grub_loader_set): Added one more argument
41045 NORETURN.
41046
41047 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
41048 instead of grub_efi_open_protocol.
41049 (grub_efidisk_get_device_name): Likewise.
41050 (grub_efidisk_close): Print a newline.
41051 (grub_efidisk_get_device_handle): Fixed to use
41052 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
41053 GRUB_EFI_DEVICE_PATH_TYPE.
41054
41055 * disk/efi/efidisk.c (device_path_guid): Moved to ...
41056 * kern/efi/efi.c (device_path_guid): ... here.
41057
41058 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
41059 chain.mod.
41060 (kernel_mod_HEADERS): Added efi/disk.h.
41061 (_chain_mod_SOURCES): New variable.
41062 (_chain_mod_CFLAGS): Likewise.
41063 (_chain_mod_LDFLAGS): Likewise.
41064 (chain_mod_SOURCES): Likewise.
41065 (chain_mod_CFLAGS): Likewise.
41066 (chain_mod_LDFLAGS): Likewise.
41067
41068 * DISTLIST: Added include/grub/efi/chainloader.h,
41069 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
41070
41071 * include/grub/efi/chainloader.h: New file.
41072 * loader/efi/chainloader.c: Likewise.
41073 * loader/efi/chainloader_normal.c: Likewise.
41074
c0111d6e 410752006-04-30 Marco Gerards <marco@gnu.org>
41076
41077 * commands/configfile.c (grub_cmd_source): New function.
41078 (GRUB_MOD_INIT): Register the commands `source' and `.'.
41079 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
41080
df5341da 410812006-04-30 Marco Gerards <marco@gnu.org>
41082
41083 * normal/execute.c (grub_script_execute_cmd): Change the return
41084 type to `grub_err_t'. Correctly return the error.
41085 (grub_script_execute_cmdline): In case a command line is not a
41086 command or a function, try to interpret it as an assignment.
41087
f85934bd 410882006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
41089
41090 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
41091 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
41092 skip a node whose name is obviously invalid as UTF-16,
41093 i.e. contains a NUL character. Stop the iteration when the last
41094 directory entry is found. Instead of using the return value of
41095 grub_hfsplus_btree_iterate_node, store the value in RET and use
41096 it, because the iterator can be stopped by the last directory
41097 entry.
41098
8f8a2cf8 410992006-04-30 Marco Gerards <marco@gnu.org>
41100
41101 * include/grub/env.h (grub_env_export): New prototype. Reported
41102 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
41103
a27e84ce 411042006-04-30 Marco Gerards <marco@gnu.org>
41105
41106 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
41107 size of the extents in a catalog file record.
41108
eaef0553 411092006-04-29 Marco Gerards <marco@gnu.org>
41110
41111 * commands/configfile.c (grub_cmd_configfile): Execute the
41112 configfile within its own context.
41113
41114 * include/grub/env.h (grub_env_context_open): New prototype.
41115 (grub_env_context_close): Likewise.
41116
41117 * kern/env.c (grub_env): Removed.
41118 (grub_env_sorted): Likewise.
41119 (grub_env_context): New variable.
41120 (grub_env_var_context): Likewise.
41121 (grub_env_find): Search both the active context and the global
41122 context.
41123 (grub_env_context_open): New function.
41124 (grub_env_context_close): Likewise.
41125 (grub_env_insert): Likewise.
41126 (grub_env_remove): Likewise.
41127 (grub_env_export): Likewise.
41128 (grub_env_set): Changed to use helper functions to avoid code
41129 duplication.
41130 (grub_env_iterate): Rewritten so both the current context and the
41131 global context are being used.
41132
41133 * normal/command.c (export_command): New function.
41134 (grub_command_init): Register the `export' function.
41135
7b455f4d 411362006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
41137
41138 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
41139 explicitly to suppress gcc's warnings.
41140 * fs/fat.c (grub_fat_find_dir): Likewise.
41141 (grub_fat_label): Likewise.
41142 * fs/xfs.c (grub_xfs_read_inode): Likewise.
41143 (grub_xfs_mount): Likewise.
41144 (grub_xfs_label): Likewise.
41145 * fs/affs.c (grub_affs_mount): Likewise.
41146 (grub_affs_label): Likewise.
41147 (grub_affs_iterate_dir): Likewise.
41148 * fs/sfs.c (grub_sfs_mount): Likewise.
41149 (grub_sfs_iterate_dir): Likewise.
41150 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
41151 * fs/hfs.c (grub_hfs_mount): Likewise.
41152 (grub_hfs_cmp_catkeys): Likewise.
41153 (grub_hfs_find_dir): Likewise.
41154 (grub_hfs_dir): Likewise.
41155 (grub_hfs_label): Likewise.
41156 * fs/jfs.c (grub_jfs_mount): Likewise.
41157 (grub_jfs_opendir): Likewise.
41158 (grub_jfs_getent): Likewise.
41159 (grub_jfs_lookup_symlink): Likewise.
41160 (grub_jfs_label): Likewise.
41161 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
41162 (grub_hfsplus_iterate_dir): Likewise.
41163 (grub_hfsplus_btree_iterate_node): Made static.
41164
41165 * util/grub-emu.c (prefix): New variable.
41166 (grub_machine_set_prefix): New function.
41167 (main): Do not set the environment variable "prefix" here. Only
41168 set PREFIX, which is used later by grub_machine_set_prefix.
41169
41170 * include/grub/video.h: Do not include grub/symbol.h.
41171 (grub_video_register): Not exported. This symbol is not defined in
41172 the kernel.
41173 (grub_video_unregister): Likewise.
41174 (grub_video_iterate): Likewise.
41175 (grub_video_setup): Likewise.
41176 (grub_video_restore): Likewise.
41177 (grub_video_get_info): Likewise.
41178 (grub_video_get_blit_format): Likewise.
41179 (grub_video_set_palette): Likewise.
41180 (grub_video_get_palette): Likewise.
41181 (grub_video_set_viewport): Likewise.
41182 (grub_video_get_viewport): Likewise.
41183 (grub_video_map_color): Likewise.
41184 (grub_video_map_rgb): Likewise.
41185 (grub_video_map_rgba): Likewise.
41186 (grub_video_fill_rect): Likewise.
41187 (grub_video_blit_glyph): Likewise.
41188 (grub_video_blit_bitmap): Likewise.
41189 (grub_video_blit_render_target): Likewise.
41190 (grub_video_scroll): Likewise.
41191 (grub_video_swap_buffers): Likewise.
41192 (grub_video_create_render_target): Likewise.
41193 (grub_video_delete_render_target): Likewise.
41194 (grub_video_set_active_render_target): Likewise.
41195
41196 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
41197 Undefined.
41198 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
41199
41200 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
41201 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41202 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41203 instead of $(srcdir)/genkernsyms.sh.
41204
41205 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
41206 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41207 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41208 instead of $(srcdir)/genkernsyms.sh.
41209
41210 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
41211 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41212 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41213 instead of $(srcdir)/genkernsyms.sh.
41214
41215 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
41216 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41217 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41218 instead of $(srcdir)/genkernsyms.sh.
41219
41220 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
41221 genkernsyms.sh.
41222
41223 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
41224 genkernsyms.sh.
41225 (gensymlist.sh): New target.
41226 (genkernsyms.sh): Likewise.
41227
41228 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
41229 genkernsyms.sh.in and gensymlist.sh.in.
41230
41231 * genkernsyms.sh: Removed.
41232 * gensymlist.sh: Likewise.
f19dbdb7 41233
7b455f4d 41234 * genkernsyms.sh.in: New file.
41235 * gensymlist.sh.in: Likewise.
41236
1885bb27 412372006-04-25 Hollis Blanchard <hollis@penguinppc.org>
41238
41239 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
41240 clobber "prefix", since we may have already set it manually.
41241
71538dff 412422006-04-25 Hollis Blanchard <hollis@penguinppc.org>
41243
41244 * kern/misc.c (abort): New alias for grub_abort.
41245
2965c7cc 412462006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
41247
41248 A new machine-specific function "grub_machine_set_prefix" is
41249 defined. This is called after loading modules, so that a prefix
41250 initialization can use modules. Also, this change adds an
41251 intensive debugging feature for the memory manager via the
41252 configure option "--enable-mm-debug".
f19dbdb7 41253
2965c7cc 41254 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
41255 PART.LEN.
41256
41257 * kern/sparc64/ieee1275/init.c (abort): Removed.
41258 (grub_stop): Likewise.
41259 (grub_exit): New function.
41260 (grub_set_prefix): Renamed to ...
41261 (grub_machine_set_prefix): ... this.
41262 (grub_machine_init): Do not call grub_set_prefix.
41263
41264 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
41265 (grub_machine_set_prefix): ... this.
41266 (grub_machine_init): Do not call grub_set_prefix.
41267
41268 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
41269 (grub_machine_init): Do not set the prefix here.
41270
41271 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
41272
41273 * kern/efi/init.c: Include grub/mm.h.
41274 (grub_efi_set_prefix): New function.
41275
41276 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
41277 (grub_efi_get_filename): New function.
41278 (grub_print_device_path): Renamed to ...
41279 (grub_efi_print_device_path): ... this.
41280
41281 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
41282 [MM_DEBUG] (grub_realloc): Likewise.
41283 [MM_DEBUG] (grub_free): Likewise.
41284 [MM_DEBUG] (grub_memalign): Likewise.
41285 [MM_DEBUG] (grub_mm_debug): New variable.
41286 [MM_DEBUG] (grub_debug_malloc): New function.
41287 [MM_DEBUG] (grub_debug_free): New function.
41288 [MM_DEBUG] (grub_debug_realloc): New function.
41289 [MM_DEBUG] (grub_debug_memalign): New function.
41290
41291 * kern/misc.c (grub_abort): Print a newline to distinguish
41292 the message.
41293
41294 * kern/main.c (grub_main): Call grub_machine_set_prefix and
41295 grub_set_root_dev after loading modules. This is necessary when
41296 setting a prefix depends on modules.
41297
41298 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
41299 (grub_efi_print_device_path): ... this.
41300 (grub_efi_get_filename): New prototype.
41301 (grub_efi_set_prefix): Likewise.
41302
41303 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
41304 and grub/disk.h.
41305 (grub_efidisk_get_device_handle): New prototype.
41306 (grub_efidisk_get_device_name): Likewise.
41307
41308 * include/grub/mm.h: Include config.h.
41309 (MM_DEBUG): Removed.
41310 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
41311 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
41312 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
41313 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
41314 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
41315 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
41316 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
41317 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
41318 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
41319
41320 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
41321
41322 * disk/efi/efidisk.c: Include grub/partition.h.
41323 (iterate_child_devices): New function.
41324 (add_device): First, compare only last device path nodes, so that
41325 devices are sorted by the types.
41326 (grub_efidisk_get_device_handle): New function.
41327 (grub_efidisk_get_device_name): Likewise.
41328
41329 * configure.ac (--enable-mm-debug): New option to enable the
41330 memory manager debugging feature. This makes the binary much
41331 bigger, so is disabled by default.
41332
9cacaa17 413332006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
41334
41335 Use grub_abort instead of grub_stop, and grub_exit must be
41336 define in each architecture now. Also, this change adds support
41337 for EFI disks.
f19dbdb7 41338
9cacaa17 41339 * util/i386/pc/grub-probefs.c: Include grub/term.h.
41340 (grub_getkey): New function.
41341 (grub_term_get_current): Likewise.
41342
41343 * util/i386/pc/grub-setup.c: Include grub/term.h.
41344 (grub_getkey): New function.
41345 (grub_term_get_current): Likewise.
41346
41347 * util/misc.c (grub_stop): Renamed to ...
41348 (grub_exit): ... this.
41349
41350 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
41351 (grub_exit): ... this.
41352 (grub_machine_init): Use grub_abort instead of abort.
41353 (grub_stop): Removed.
41354
41355 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
41356 abort.
41357
41358 * kern/i386/pc/startup.S (grub_exit): New function.
41359 (cold_reboot): New label.
41360
41361 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
41362 (grub_efi_init): Call grub_efidisk_init.
41363 (grub_efi_fini): Call grub_efidisk_fini.
41364
41365 * kern/efi/efi.c: Include grub/mm.h.
41366 (grub_efi_console_control_guid): Renamed to ...
41367 (console_control_guid): ... this.
41368 (grub_efi_loaded_image_guid): Renamed to ...
41369 (loaded_image_guid): ... this.
41370 (grub_efi_locate_handle): New function.
41371 (grub_efi_open_protocol): Likewise.
41372 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
41373 GRUB_EFI_CONSOLE_CONTROL_GUID.
41374 (grub_efi_exit): Removed.
41375 (grub_stop): Likewise.
41376 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
41377 (grub_exit): New function.
41378 (grub_print_device_path): Likewise.
41379
41380 * kern/rescue.c (grub_rescue_cmd_exit): New function.
41381 (grub_enter_rescue_mode): Register "exit".
41382
41383 * kern/misc.c (grub_real_dprintf): A cosmetic change.
41384 (grub_abort): New function.
41385
41386 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
41387
41388 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
41389
41390 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
41391
41392 * include/grub/efi/efi.h (grub_efi_exit): Removed.
41393 (grub_print_device_path): New prototype.
41394 (grub_efi_locate_handle): Likewise.
41395 (grub_efi_open_protocol): Likewise.
41396
41397 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
41398 * disk/efi/efidisk.c: Likewise.
41399
41400 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
41401
41402 * include/grub/efi/console_control.h
41403 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
41404
41405 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
41406 last 8 bytes as an array.
41407 (GRUB_EFI_DISK_IO_GUID): New macro.
41408 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
41409 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
41410 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
41411 grub_uint8_t.
41412 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
41413 (struct grub_efi_device_path): Rename the member "sub_type" to
41414 "subtype".
41415 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
41416 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
41417 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
41418 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
41419 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
41420 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
41421 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
41422 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
41423 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
41424 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
41425 (struct grub_efi_pci_device_path): New structure.
41426 (grub_efi_pci_device_path_t): New type.
41427 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
41428 (struct grub_efi_pccard_device_path): New structure.
41429 (grub_efi_pccard_device_path_t): New type.
41430 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
41431 (struct grub_efi_memory_mapped_device_path): New structure.
41432 (grub_efi_memory_mapped_device_path_t): New type.
41433 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
41434 (struct grub_efi_vendor_device_path): New structure.
41435 (grub_efi_vendor_device_path_t): New type.
41436 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
41437 (struct grub_efi_controller_device_path): New structure.
41438 (grub_efi_controller_device_path_t): New type.
41439 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
41440 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
41441 (struct grub_efi_acpi_device_path): New structure.
41442 (grub_efi_acpi_device_path_t): New type.
41443 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
41444 (struct grub_efi_expanded_acpi_device_path): New structure.
41445 (grub_efi_expanded_acpi_device_path_t): New type.
41446 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
41447 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
41448 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
41449 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
41450 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
41451 (struct grub_efi_atapi_device_path): New structure.
41452 (grub_efi_atapi_device_path_t): New type.
41453 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
41454 (struct grub_efi_fibre_channel_device_path): New structure.
41455 (grub_efi_fibre_channel_device_path_t): New type.
41456 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
41457 (struct grub_efi_1394_device_path): New structure.
41458 (grub_efi_1394_device_path_t): New type.
41459 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
41460 (struct grub_efi_usb_device_path): New structure.
41461 (grub_efi_usb_device_path_t): New type.
41462 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
41463 (struct grub_efi_usb_class_device_path): New structure.
41464 (grub_efi_usb_class_device_path_t): New type.
41465 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
41466 (struct grub_efi_i2o_device_path): New structure.
41467 (grub_efi_i2o_device_path_t): New type.
41468 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
41469 (struct grub_efi_mac_address_device_path): New structure.
41470 (grub_efi_mac_address_device_path_t): New type.
41471 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
41472 (struct grub_efi_ipv4_device_path): New structure.
41473 (grub_efi_ipv4_device_path_t): New type.
41474 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
41475 (struct grub_efi_ipv6_device_path): New structure.
41476 (grub_efi_ipv6_device_path_t): New type.
41477 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
41478 (struct grub_efi_infiniband_device_path): New structure.
41479 (grub_efi_infiniband_device_path_t): New type.
41480 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
41481 (struct grub_efi_uart_device_path): New structure.
41482 (grub_efi_uart_device_path_t): New type.
41483 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
41484 (struct grub_efi_vendor_messaging_device_path): New structure.
41485 (grub_efi_vendor_messaging_device_path_t): New type.
41486 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
41487 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
41488 (struct grub_efi_hard_drive_device_path): New structure.
41489 (grub_efi_hard_drive_device_path_t): New type.
41490 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
41491 (struct grub_efi_cdrom_device_path): New structure.
41492 (grub_efi_cdrom_device_path_t): New type.
41493 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
41494 (struct grub_efi_vendor_media_device_path): New structure.
41495 (grub_efi_vendor_media_device_path_t): New type.
41496 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
41497 (struct grub_efi_file_path_device_path): New structure.
41498 (grub_efi_file_path_device_path_t): New type.
41499 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
41500 (struct grub_efi_protocol_device_path): New structure.
41501 (grub_efi_protocol_device_path_t): New type.
41502 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
41503 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
41504 (struct grub_efi_bios_device_path): New structure.
41505 (grub_efi_bios_device_path_t): New type.
41506 (struct grub_efi_disk_io): New structure.
41507 (grub_efi_disk_io_t): New type.
41508 (struct grub_efi_block_io_media): New structure.
41509 (grub_efi_block_io_media_t): New type.
41510 (struct grub_efi_block_io): New structure.
41511 (grub_efi_block_io_t): New type.
41512
41513 * include/grub/misc.h (grub_stop): Removed.
41514 (grub_exit): New prototype.
41515 (grub_abort): Likewise.
41516
41517 * include/grub/disk.h (enum grub_disk_dev_id): Added
41518 GRUB_DISK_DEVICE_EFIDISK_ID.
41519
41520 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
41521 disk/efi/efidisk.c.
41522 (kernel_syms.lst): Remove the target if an error occurs.
41523
49986a9f 415242006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
41525
41526 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
41527 as it was simply too buggy.
41528
970d3b8a 415292006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
41530
41531 * kern/misc.c (grub_lltoa): New function.
41532 (grub_vsprintf): Added support for the long long suffix,
41533 i.e. "ll".
41534
ff04ec24 415352006-04-20 Hollis Blanchard <hollis@penguinppc.org>
41536
41537 * Makefile.in (LDFLAGS): Add variable.
41538 (LD): Remove variable.
41539 * configure.ac: Add -m32 to LDFLAGS.
41540 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
41541 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
41542 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
41543 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
41544 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
41545 variables.
41546 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
41547 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
41548 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
41549
37e5e1a4 415502006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
41551
41552 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
41553 length for unknown glyph.
41554
c352d8dd 415552006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
41556
2eab1c0d 41557 Add support for pre-loaded modules into the EFI port.
f19dbdb7 41558
2eab1c0d 41559 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
41560 completely. Accept one more argument DIR. The caller has changed.
41561
41562 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
41563
41564 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
41565 (grub_efi_loaded_image_guid): New variable.
41566 (grub_efi_get_loaded_image): New function.
41567 (grub_arch_modules_addr): Likewise.
41568
41569 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
41570 prototype.
41571
41572 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
41573 (struct grub_efi_loaded_image): New structure.
41574 (grub_efi_loaded_image_t): New type.
41575
415762006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 41577
c352d8dd 41578 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
41579 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
41580 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
41581
6d01d6b4 415822006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
41583
41584 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
41585
976a4ea0 415862006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
41587
41588 * DISTLIST: Added include/grub/efi/console.h,
41589 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
41590 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
41591
41592 * include/grub/efi/console.h: New file.
41593 * include/grub/efi/time.h: Likewise.
41594 * include/grub/i386/efi/kernel.h: Likewise.
41595 * kern/efi/init.c: Likewise.
41596 * kern/efi/mm.c: Likewise.
41597 * term/efi/console.c: Likewise.
f19dbdb7 41598
976a4ea0 41599 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
41600 (grub_stop): Removed.
41601 (grub_get_rtc): Likewise.
41602 (grub_machine_init): Simply call grub_efi_init.
41603 (grub_machine_fini): Call grub_efi_fini.
41604
41605 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
41606 (grub_efi_output_string): Removed.
41607 (grub_efi_stall): New function.
41608 (grub_stop): Likewise.
41609 (grub_get_rtc): Likewise.
41610
41611 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
41612 (grub_efi_stall): New prototype.
41613 (grub_efi_allocate_pages): Likewise.
41614 (grub_efi_free_pages): Likewise.
41615 (grub_efi_get_memory_map): Likewise.
41616 (grub_efi_mm_init): Likewise.
41617 (grub_efi_mm_fini): Likewise.
41618 (grub_efi_init): Likewise.
41619 (grub_efi_fini): Likewise.
41620
41621 * include/grub/i386/efi/time.h: Do not include
41622 grub/symbol.h. Include grub/efi/time.h.
41623 (GRUB_TICKS_PER_SECOND): Removed.
41624 (grub_get_rtc): Likewise.
41625
41626 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
41627 Added padding. The EFI spec is buggy.
41628 (GRUB_EFI_BLACK): New macro.
41629 (GRUB_EFI_BLUE): Likewise.
41630 (GRUB_EFI_GREEN): Likewise.
41631 (GRUB_EFI_CYAN): Likewise.
41632 (GRUB_EFI_RED): Likewise.
41633 (GRUB_EFI_MAGENTA): Likewise.
41634 (GRUB_EFI_BROWN): Likewise.
41635 (GRUB_EFI_LIGHTGRAY): Likewise.
41636 (GRUB_EFI_BRIGHT): Likewise.
41637 (GRUB_EFI_DARKGRAY): Likewise.
41638 (GRUB_EFI_LIGHTBLUE): Likewise.
41639 (GRUB_EFI_LIGHTGREEN): Likewise.
41640 (GRUB_EFI_LIGHTCYAN): Likewise.
41641 (GRUB_EFI_LIGHTRED): Likewise.
41642 (GRUB_EFI_LIGHTMAGENTA): Likewise.
41643 (GRUB_EFI_YELLOW): Likewise.
41644 (GRUB_EFI_WHITE): Likewise.
41645 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
41646 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
41647 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
41648 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
41649 (GRUB_EFI_BACKGROUND_RED): Likewise.
41650 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
41651 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
41652 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
41653 (GRUB_EFI_TEXT_ATTR): Likewise.
41654
41655 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
41656 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
41657 (kernel_mod_HEADERS): Added efi/time.h.
41658
83709125 416592006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
41660
41661 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
41662 include/grub/efi/api.h, include/grub/efi/console_control.h,
41663 include/grub/efi/efi.h, include/grub/efi/pe32.h,
41664 include/grub/i386/efi/time.h, kern/efi/efi.c,
41665 kern/i386/efi/init.c, kern/i386/efi/startup.S,
41666 and util/i386/efi/grub-mkimage.c.
41667
41668 * Makefile.in (RMKFILES): Added i386-efi.rmk.
41669
41670 * genmk.rb (PModule#rule): Do not export symbols if
41671 #{prefix}_EXPORTS is set to "no".
41672
41673 * conf/i386-efi.mk: New file.
41674 * conf/i386-efi.rmk: Likewise.
41675 * include/grub/efi/api.h: Likewise.
41676 * include/grub/efi/console_control.h: Likewise.
41677 * include/grub/efi/efi.h: Likewise.
41678 * include/grub/efi/pe32.h: Likewise.
41679 * include/grub/i386/efi/time.h: Likewise.
41680 * kern/efi/efi.c: Likewise.
41681 * kern/i386/efi/init.c: Likewise.
41682 * kern/i386/efi/startup.S: Likewise.
41683 * util/i386/efi/grub-mkimage.c: Likewise.
41684
416852006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 41686
41687 * include/grub/script.h: Include <grub/parser.h> and
41688 "grub_script.tab.h".
41689 (struct grub_lexer_param): New struct.
41690 (struct grub_parser_param): Likewise.
41691 (grub_script_create_arglist): Pass the state in an argument.
41692 (grub_script_add_arglist): Likewise.
41693 (grub_script_create_cmdline): Likewise.
41694 (grub_script_create_cmdblock): Likewise.
41695 (grub_script_create_cmdif): Likewise.
41696 (grub_script_create_cmdmenu): Likewise.
41697 (grub_script_add_cmd): Likewise.
41698 (grub_script_arg_add): Likewise.
41699 (grub_script_lexer_ref): Likewise.
41700 (grub_script_lexer_deref): Likewise.
41701 (grub_script_lexer_record_start): Likewise.
41702 (grub_script_lexer_record_stop): Likewise.
41703 (grub_script_mem_record): Likewise.
41704 (grub_script_mem_record_stop): Likewise.
41705 (grub_script_malloc): Likewise.
41706 (grub_script_yylex): Likewise.
41707 (grub_script_yyparse): Likewise.
41708 (grub_script_yyerror): Likewise.
41709 (grub_script_yylex): Likewise.
41710 (grub_script_lexer_init): Return the state.
41711
41712 * normal/lexer.c (grub_script_lexer_state): Removed variable.
41713 (grub_script_lexer_done): Likewise.
41714 (grub_script_lexer_getline): Likewise.
41715 (grub_script_lexer_refs): Likewise.
41716 (script): Likewise.
41717 (newscript): Likewise.
41718 (record): Likewise.
41719 (recording): Likewise.
41720 (recordpos): Likewise.
41721 (recordlen): Likewise.
41722 (grub_script_lexer_init): Return the state instead of setting
41723 global variables.
41724 (grub_script_lexer_ref): Use the newly added argument for state
41725 instead of globals.
41726 (grub_script_lexer_deref): Likewise.
41727 (grub_script_lexer_record_start): Likewise.
41728 (grub_script_lexer_record_stop): Likewise.
41729 (recordchar): Likewise.
41730 (nextchar): Likewise.
41731 (grub_script_yylex2): Likewise.
41732 (grub_script_yylex): Likewise.
41733 (grub_script_yyerror): Likewise.
41734
41735 * normal/parser.y (func_mem): Removed variable.
41736 (menu_entry): Likewise.
41737 (err): Likewise.
41738 (%lex-param): New parser option.
41739 (%parse-param): Likewise.
41740 (script): Always return the AST.
41741 (argument): Pass the state around.
41742 (arguments): Likewise.
41743 (grubcmd): Likewise.
41744 (commands): Likewise.
41745 (function): Likewise.
41746 (menuentry): Likewise.
41747 (if_statement): Likewise.
41748 (if): Likewise.
41749
41750 * normal/script.c (grub_script_memused): Removed variable.
41751 (grub_script_parsed): Likewise.
41752 (grub_script_malloc): Added a state argument. Use that instead of
41753 global variables.
41754 (grub_script_mem_record): Likewise.
41755 (grub_script_mem_record_stop): Likewise.
41756 (grub_script_arg_add): Likewise.
41757 (grub_script_add_arglist): Likewise.
41758 (grub_script_create_cmdline): Likewise.
41759 (grub_script_create_cmdif): Likewise.
41760 (grub_script_create_cmdmenu): Likewise.
41761 (grub_script_add_cmd): Likewise.
41762 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 41763
e2a8c904 417642006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 41765
41766 * normal/command.c (grub_command_init): Remove the title command.
41767
41768 * normal/lexer.c (grub_script_yylex): Renamed from this...
41769 (grub_script_yylex2): ... to this.
41770 (grub_script_yylex): New function. Temporary
41771 introduced to filter some tokens.
41772 (grub_script_yyerror): Print a newline.
41773
41774 * normal/main.c (read_config_file): Output information about the
41775 lines that contain errors. Wait for a key after all lines have
41776 been processed. Don't return an empty menu.
41777
41778 * normal/parser.y (func_mem): Don't initialize.
41779 (menu_entry): Likewise.
41780 (err): New variable.
41781 (script): Don't return anything when an error was encountered.
41782 (ws, returns): Removed rules.
41783 (argument): Disabled concatenated variable support.
41784 (arguments): Remove explicit separators.
41785 (grubcmd): Likewise.
41786 (function): Likewise.
41787 (menuentry): Likewise.
41788 (if): Likewise.
41789 (commands): Likewise. Add error handling.
41790
41791 * normal/script.c (grub_script_create_cmdline): If
41792 `grub_script_parsed' is 0, assume the parser encountered an error.
41793
c9a86192 417942006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
41795
41796 * configure.ac: Add support for EFI. Fix the typo
41797 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
41798
70f3b243 417992006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
41800
41801 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
41802 foreign multibyte characters should be shown correctly.
41803
65f201ad 418042006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
41805
41806 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
41807 calculation.
41808 (read_config_file): Made it to close file before returning.
41809
b4b93674 418102006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
41811
41812 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
41813 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
41814 video/i386/pc/vbefill.c.
41815
41816 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
41817 video/i386/pc/vbefill.c.
41818
41819 * include/grub/video.h (grub_video_blit_format): New enum.
41820 (grub_video_mode_info): Added new member blit_format.
41821 (grub_video_get_blit_format): New function prototype.
41822
41823 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
41824 function prototype.
41825 (grub_video_vbe_map_rgb): Likewise.
41826 (grub_video_vbe_unmap_color): Likewise.
41827
41828 * include/grub/i386/pc/vbeblit.h: New file.
41829
41830 * include/grub/i386/pc/vbefill.h: New file.
41831
41832 * video/video.c (grub_video_get_blit_format): New function.
41833 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
41834 (grub_video_vbe_map_rgb): Likewise.
41835 (grub_video_vbe_unmap_color): Likewise.
41836
41837 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
41838 optimized fills.
41839 (grub_video_vbe_blit_render_target): Changed to use more optimized
41840 blits.
41841 (grub_video_vbe_setup): Added detection for optimized settings.
41842 (grub_video_vbe_create_render_target): Likewise.
41843
41844 * video/i386/pc/vbeblit.c: New file.
41845
41846 * video/i386/pc/vbefill.c: New file.
41847
c2379b9c 418482006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
41849
41850 * font/manager.c (grub_font_get_glyph): Removed font fixup from
41851 here...
41852
41853 * util/unifont2pff.rb: ... and moved it to here. Improved argument
41854 parsing to support both hex and dec ranges. If filename was missing
41855 show usage information.
41856
bd0d7896 418572006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
41858
41859 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
41860 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
41861
41862 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
41863 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
41864 (video_mod_SOURCES): Added.
41865 (video_mod_CFLAGS): Likewise.
41866 (video_mod_LDFLAGS): Likewise.
41867 (gfxterm_mod_SOURCES): Likewise.
41868 (gfxterm_mod_CFLAGS): Likewise.
41869 (gfxterm_mod_LDFLAGS): Likewise.
41870 (videotest_mod_SOURCES): Likewise.
41871 (videotest_mod_CFLAGS): Likewise.
41872 (videotest_mod_LDFLAGS): Likewise.
41873 (vesafb_mod_SOURCES): Removed.
41874 (vesafb_mod_CFLAGS): Likewise.
41875 (vesafb_mod_LDFLAGS): Likewise.
41876 (vga_mod_SOURCES): Likewise.
41877 (vga_mod_CFLAGS): Likewise.
41878 (vga_mod_LDFLAGS): Likewise.
41879
41880 * commands/videotest.c: New file.
41881
41882 * font/manager.c (fill_with_default_glyph): Modified to use
41883 grub_font_glyph.
41884 (grub_font_get_glyph): Likewise.
41885 (fontmanager): Renamed from this...
41886 (font_manager): ... to this.
41887
41888 * include/grub/font.h (grub_font_glyph): Added new structure.
41889 (grub_font_get_glyph): Modified to use grub_font_glyph.
41890
41891 * include/grub/misc.h (grub_abs): Added as inline function.
41892
41893 * include/grub/video.h: New file.
41894
41895 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
41896 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
41897 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
41898 (grub_vbe_get_controller_info): Renamed from this...
41899 (grub_vbe_bios_get_controller_info): ... to this.
41900 (grub_vbe_get_mode_info): Renamed from this...
41901 (grub_vbe_bios_get_mode_info): ... to this.
41902 (grub_vbe_set_mode): Renamed from this...
41903 (grub_vbe_bios_set_mode): ... to this.
41904 (grub_vbe_get_mode): Renamed from this...
41905 (grub_vbe_bios_get_mode): ... to this.
41906 (grub_vbe_set_memory_window): Renamed from this...
41907 (grub_vbe_bios_set_memory_window): ... to this.
41908 (grub_vbe_get_memory_window): Renamed from this...
41909 (grub_vbe_bios_get_memory_window): ... to this.
41910 (grub_vbe_set_scanline_length): Renamed from this...
41911 (grub_vbe_set_scanline_length): ... to this.
41912 (grub_vbe_get_scanline_length): Renamed from this...
41913 (grub_vbe_bios_get_scanline_length): ... to this.
41914 (grub_vbe_set_display_start): Renamed from this...
41915 (grub_vbe_bios_set_display_start): ... to this.
41916 (grub_vbe_get_display_start): Renamed from this...
41917 (grub_vbe_bios_get_display_start): ... to this.
41918 (grub_vbe_set_palette_data): Renamed from this...
41919 (grub_vbe_bios_set_palette_data): ... to this.
41920 (grub_vbe_set_pixel_rgb): Removed.
41921 (grub_vbe_set_pixel_index): Likewise.
41922
41923 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
41924 from this...
41925 (grub_vbe_bios_get_controller_info): ... to this.
41926 (grub_vbe_get_mode_info): Renamed from this...
41927 (grub_vbe_bios_get_mode_info): ... to this.
41928 (grub_vbe_set_mode): Renamed from this...
41929 (grub_vbe_bios_set_mode): ... to this.
41930 (grub_vbe_get_mode): Renamed from this...
41931 (grub_vbe_bios_get_mode): ... to this.
41932 (grub_vbe_set_memory_window): Renamed from this...
41933 (grub_vbe_bios_set_memory_window): ... to this.
41934 (grub_vbe_get_memory_window): Renamed from this...
41935 (grub_vbe_bios_get_memory_window): ... to this.
41936 (grub_vbe_set_scanline_length): Renamed from this...
41937 (grub_vbe_set_scanline_length): ... to this.
41938 (grub_vbe_get_scanline_length): Renamed from this...
41939 (grub_vbe_bios_get_scanline_length): ... to this.
41940 (grub_vbe_set_display_start): Renamed from this...
41941 (grub_vbe_bios_set_display_start): ... to this.
41942 (grub_vbe_get_display_start): Renamed from this...
41943 (grub_vbe_bios_get_display_start): ... to this.
41944 (grub_vbe_set_palette_data): Renamed from this...
41945 (grub_vbe_bios_set_palette_data): ... to this.
41946 (grub_vbe_bios_get_controller_info): Fixed problem with registers
41947 getting corrupted after calling it. Added more pushes and pops.
41948 (grub_vbe_bios_set_mode): Likewise.
41949 (grub_vbe_bios_get_mode): Likewise.
41950 (grub_vbe_bios_get_memory_window): Likewise.
41951 (grub_vbe_bios_set_scanline_length): Likewise.
41952 (grub_vbe_bios_get_scanline_length): Likewise.
41953 (grub_vbe_bios_get_display_start): Likewise.
41954 (grub_vbe_bios_set_palette_data): Likewise.
41955
41956 * normal/cmdline.c (cl_set_pos): Refresh the screen.
41957 (cl_insert): Likewise.
41958 (cl_delete): Likewise.
41959
41960 * term/gfxterm.c: New file.
41961
41962 * term/i386/pc/vesafb.c: Removed file.
41963
41964 * video/video.c: New file.
41965
41966 * video/i386/pc/vbe.c (real2pm): Added new function.
41967 (grub_video_vbe_draw_pixel): Likewise.
41968 (grub_video_vbe_get_video_ptr): Likewise.
41969 (grub_video_vbe_get_pixel): Likewise
41970 (grub_video_vbe_init): Likewise.
41971 (grub_video_vbe_fini): Likewise.
41972 (grub_video_vbe_setup): Likewise.
41973 (grub_video_vbe_get_info): Likewise.
41974 (grub_video_vbe_set_palette): Likewise.
41975 (grub_video_vbe_get_palette): Likewise.
41976 (grub_video_vbe_set_viewport): Likewise.
41977 (grub_video_vbe_get_viewport): Likewise.
41978 (grub_video_vbe_map_color): Likewise.
41979 (grub_video_vbe_map_rgb): Likewise.
41980 (grub_video_vbe_map_rgba): Likewise.
41981 (grub_video_vbe_unmap_color): Likewise.
41982 (grub_video_vbe_fill_rect): Likewise.
41983 (grub_video_vbe_blit_glyph): Likewise.
41984 (grub_video_vbe_blit_bitmap): Likewise.
41985 (grub_video_vbe_blit_render_target): Likewise.
41986 (grub_video_vbe_scroll): Likewise.
41987 (grub_video_vbe_swap_buffers): Likewise.
41988 (grub_video_vbe_create_render_target): Likewise.
41989 (grub_video_vbe_delete_render_target): Likewise.
41990 (grub_video_vbe_set_active_render_target): Likewise.
41991 (grub_vbe_set_pixel_rgb): Remove function.
41992 (grub_vbe_set_pixel_index): Likewise.
41993 (index_color_mode): Remove static variable.
41994 (active_mode): Likewise.
41995 (framebuffer): Likewise.
41996 (bytes_per_scan_line): Likewise.
41997 (grub_video_vbe_adapter): Added new static variable.
41998 (framebuffer): Likewise.
41999 (render_target): Likewise.
42000 (initial_mode): Likewise.
42001 (mode_in_use): Likewise.
42002 (mode_list): Likewise.
42003
5f97350b 420042006-03-10 Marco Gerards <marco@gnu.org>
42005
42006 * configure.ac (AC_INIT): Bumped to 1.93.
42007
42008 * DISTLIST: Added `include/grub/hfs.h'.
42009
a3c5c6f8 420102006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
42011
42012 * boot/i386/pc/boot.S (general_error): Before looping, try INT
42013 18H, which might help the BIOS falling back to next boot media.
42014
6de53d26 420152006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
42016
42017 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
42018 Poe Chen <poe.poechen@gmail.com>.
42019
77c4a393 420202006-01-17 Marco Gerards <marco@gnu.org>
42021
42022 * include/grub/normal.h: Include <grub/script.h>.
42023 (grub_command_list): Removed struct.
42024 (grub_command_list_t): Removed type.
42025 (grub_menu_entry): Remove members `num' and `command_list'. Add
42026 members `commands' and `sourcecode'.
42027 * include/grub/script.h: Add inclusion guards.
42028 (grub_script_cmd_menuentry): New struct.
42029 (grub_script_execute_menuentry): New prototype.
42030 (grub_script_lexer_record_start): Likewise.
42031 (grub_script_lexer_record_stop): Likewise.
42032 * normal/execute.c (grub_script_execute_menuentry): New function.
42033 * normal/lexer.c (record, recording, recordpos, recordlen): New
42034 variables.
42035 (grub_script_lexer_record_start): New function.
42036 (grub_script_lexer_record_stop): Likewise.
42037 (recordchar): Likewise.
42038 (nextchar): Likewise.
42039 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
42040 2048 as the buffer size. Add the tokens `menuentry' and `@'.
42041 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
42042 (current_menu): New variable.
42043 (free_menu): Mainly rewritten.
42044 (grub_normal_menu_addentry): New function.
42045 (read_config_file): Rewritten.
42046 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 42047 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 42048 the menu entry.
42049 (run): Mainly rewritten.
42050 * normal/parser.y (menu_entry): New variable.
42051 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
42052 (menuentry): New rule.
42053 (command): Add `menuentry'.
42054 (if_statement): Allow additional returns before `fi'.
42055 * normal/script.c (grub_script_create_cmdmenu): New function.
42056
144f1f98 420572006-01-03 Marco Gerards <marco@gnu.org>
42058
42059 * INSTALL: GNU Bison is required.
42060 * configure.ac: Rewritten the test to detect Bison.
42061 * Makefile.in (YACC): New variable. Reported by Xun Sun
42062 <xun.sun.cn@gmail.com>.
42063
af4b2d89 420642006-01-03 Marco Gerards <marco@gnu.org>
42065
42066 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
42067 the HFS+ filesystem to filesystem blocks.
42068 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
42069 GCC warning is silenced.
42070
15643b71 420712006-01-03 Marco Gerards <marco@gnu.org>
42072
42073 * partmap/apple.c (apple_partition_map_iterate): Convert the data
42074 read from disk from big endian to host byte order.
42075
00905879 420762006-01-03 Hollis Blanchard <hollis@penguinppc.org>
42077
42078 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
42079 documentation.
42080 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
42081 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
42082 embedded HFS+ filesystem.
42083 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
42084 (grub_hfs_sblock): Move from here...
42085 * include/grub/hfs.h: To here... New file.
42086 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
42087 documentation.
42088 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
42089 New macros.
42090 (grub_hfsplus_volheader): Change type of member `magic' to
42091 `grub_uint16_t'.
42092 (grub_hfsplus_data): Add new member `embedded_offset'.
42093 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
42094 returned block.
42095 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
42096 Calculate the offset.
42097
8899bc3e 420982005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42099
42100 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
42101 Removed.
42102 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
42103
ae8c0277 421042005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42105
42106 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
42107 ENV->NAME is NULL after allocating ENV->VALUE.
42108
07084456 421092005-12-25 Marco Gerards <marco@gnu.org>
42110
42111 * kern/env.c (grub_env_set): Rewritten the error handling code.
42112
4750f5f1 421132005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42114
42115 * geninit.sh: Made more robust, and more portable.
42116
50214199 421172005-12-25 Marco Gerards <marco@gnu.org>
42118
42119 Add support for Apple HFS+ filesystems.
f19dbdb7 42120
50214199 42121 * fs/hfsplus.c: New file.
42122
42123 * DISTLIST: Added `fs/hfsplus.c'.
42124
42125 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
42126 (hfsplus_mod_SOURCES): New variable.
42127 (hfsplus_mod_CFLAGS): Likewise.
42128 (hfsplus_mod_LDFLAGS): Likewise.
42129 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
42130 (grub_setup_SOURCES): Likewise.
42131 (grub_mkdevicemap_SOURCES): Likewise.
42132 (grub_emu_SOURCES): Likewise.
42133 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42134
42135 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
42136
42137 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
42138
befaed6c 421392005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42140
42141 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
42142 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
42143 include/grub/parser.h, include/grub/script.h, kern/parser.c,
42144 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
42145 normal/lexer.c, normal/parser.y, normal/script.c, and
42146 partmap/gpt.c.
42147 Removed kern/sparc64/cache.c.
42148
42149 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
42150 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
42151 grub_emu_init.c.
42152
42153 * configure.ac (AC_INIT): Bumped to 1.92.
42154
6a124103 421552005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
42156
42157 * kern/err.c (grub_error_push): Added new function to support error
42158 stacks.
42159 (grub_error_pop): Likewise.
42160 (grub_error_stack_items): New local variable to support error stacks.
42161 (grub_error_stack_pos): Likewise.
42162 (grub_error_stack_assert): Likewise.
42163 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
42164 stack depth.
42165 (grub_print_error): Added support to print errors from error stack.
42166
42167 * include/grub/err.h (grub_error_push): Added function prototype.
42168 (grub_error_pop): Likewise.
42169
be973c1b 421702005-12-09 Hollis Blanchard <hollis@penguinppc.org>
42171
42172 * configure.ac: Accept `powerpc64' as host_cpu.
42173 (amd64): Rename to `biarch32'.
42174
42175 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
42176 non-cacheline-aligned addresses.
42177
42178 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
42179 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
42180 if `size' is non-zero.
42181
b04216ab 421822005-12-03 Marco Gerards <mgerards@xs4all.nl>
42183
42184 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
42185 and `cd' to make sure the filename is not prefixed with a
42186 directory name.
42187 (pkgdata_MODULES): Add `gpt.mod'.
42188 (gpt_mod_SOURCES): New variable.
42189 (gpt_mod_CFLAGS): Likewise.
42190 (gpt_mod_LDFLAGS): Likewise.
42191
42192 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
42193
42194 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
42195 New macro.
42196
42197 * partmap/gpt.c: New file.
42198
42199 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
42200 GPT partition map is detected.
42201
41730ed9 422022005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
42203
42204 * commands/i386/pc/play.c: New file.
42205 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
42206 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
42207 macros.
f19dbdb7 42208
95dc3643 422092005-11-27 Marco Gerards <mgerards@xs4all.nl>
42210
42211 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
42212 ((unused))' to silence gcc warning.
42213
1569ec51 422142005-11-26 Hollis Blanchard <hollis@penguinppc.org>
42215
42216 * configure.ac: Correct `AC_PROG_YACC' test.
42217
9abde152 422182005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42219
42220 * util/powerpc/ieee1275/grub-install.in: Run the mount point
42221 check before installing files.
42222
44b83271 422232005-11-22 Mike Small <smallm@panix.com>
42224
42225 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
42226 number regex so multidigit numbers are recognized correctly.
42227
422282005-11-22 Mike Small <smallm@panix.com>
42229
42230 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
42231 debugging message before attempting to claim memory.
42232 (grub_rescue_cmd_initrd): Add a claim debugging message and try
42233 multiple addresses in case of failure.
42234
9c12956b 422352005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42236
42237 * term/tparm.c (get_space): Remove empty `if' statement.
42238
42239 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
42240
42241 * kern/parser.c (check_varstate): Rename `state' to 's'.
42242
aeaf81d9 422432005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42244
42245 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
42246 variable definitions to the beginning of each function. Sort stack
42247 variables by size.
42248 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
42249 `buf' argument to `char *'.
42250
79bbb63f 422512005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42252
42253 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
42254 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 42255 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 42256 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
42257 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
42258 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
42259 configfile.mod, search.mod, gzio.mod and test.mod.
42260 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
42261 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
42262 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
42263 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
42264 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
42265 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
42266 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
42267 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
42268 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
42269 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
42270 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42271 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42272 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
42273 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
42274 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
42275 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
42276 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42277 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
42278 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
42279 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
42280 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
42281 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
42282 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
42283
42284 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
42285 `grep --include'.
42286 (pkgdata_MODULES): Add test.mod.
42287
233b1628 422882005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42289
42290 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
42291 appending to variables with "+=".
42292 (PModule): Use full pathname to generate *.lst filenames.
42293
42294 * Makefile.in: Fixed list rules moved from genmk.rb.
42295 (.DELETE_ON_ERROR): New special target.
42296 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
42297
42298 * conf/i386-pc.rmk: Include conf/common.mk.
42299 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 42300 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 42301 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
42302 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
42303 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
42304 configfile.mod, search.mod, gzio.mod and test.mod.
42305 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
42306 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
42307 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
42308 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
42309 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
42310 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
42311 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
42312 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
42313 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
42314 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
42315 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42316 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42317 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
42318 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
42319 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
42320 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
42321 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42322 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
42323 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
42324 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
42325 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
42326 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
42327 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
42328 here...
42329 * conf/common.rmk: ... to here. New file.
42330
42331 * conf/common.mk: New file.
42332
16f820c8 423332005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
42334
42335 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
42336 (grub_script.tab.c): ... here.
42337
42338 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
42339 (grub_script.tab.c): ... here.
42340
42341 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
42342 (grub_script.tab.c): ... here.
42343
42344 * normal/command.c (grub_command_find): Fixed a memory leak of
42345 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
42346
63ba1554 423472005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42348
42349 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
42350 "@" which marks the start of a comment on ARM.
42351 (VARIABLE): Likewise.
42352
7f67dc13 423532005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42354
79bbb63f 42355 Add support for Linux/ADFS partition tables.
7f67dc13 42356
42357 * partmap/acorn.c: New file.
42358
42359 * include/grub/acorn_filecore.h: Likewise.
42360
42361 * DISTLIST: Added `partmap/acorn.c' and
42362 `include/grub/acorn_filecore.h'.
f19dbdb7 42363
7f67dc13 42364 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42365 `partmap/acorn.c'.
42366 (pkgdata_MODULES): Add `acorn.mod'.
42367 (acorn_mod_SOURCES): New variable.
42368 (acorn_mod_CFLAGS): Likewise.
42369
42370 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
42371 `partmap/acorn.c'.
42372 (pkgdata_MODULES): Add `acorn.mod'.
42373 (acorn_mod_SOURCES): New variable.
42374 (acorn_mod_CFLAGS): Likewise.
42375
42376 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
42377 (pkgdata_MODULES): Add `acorn.mod'.
42378 (acorn_mod_SOURCES): New variable.
42379 (acorn_mod_CFLAGS): Likewise.
42380 (acorn_mod_LDFLAGS): Likewise.
42381
42382 * include/types.h (grub_disk_addr_t): New typedef.
42383
6d099807 423842005-11-13 Marco Gerards <mgerards@xs4all.nl>
42385
42386 * geninit.sh: New file.
42387
42388 * geninitheader.sh: Likewise.
42389
42390 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
42391 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
42392 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
42393 * commands/configfile.c (grub_configfile_init)
42394 (grub_configfile_fini): Likewise.
42395 * commands/default.c (grub_default_init, grub_default_fini):
42396 Likewise.
42397 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
42398 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
42399 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
42400 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
42401 Likewise.
42402 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
42403 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
42404 Likewise.
42405 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 42406 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 42407 Likewise.
42408 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
42409 Likewise.
fe6b695a 42410 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 42411 Likewise.
42412 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
42413 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
42414 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
42415 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
42416 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
42417 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
42418 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
42419 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
42420 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
42421 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
42422 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
42423 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
42424 * partmap/amiga.c (grub_amiga_partition_map_init)
42425 (grub_amiga_partition_map_fini): Likewise.
42426 * partmap/apple.c (grub_apple_partition_map_init)
42427 (grub_apple_partition_map_fini): Likewise.
42428 * partmap/pc.c (grub_pc_partition_map_init)
42429 (grub_pc_partition_map_fini): Likewise.
42430 * partmap/sun.c (grub_sun_partition_map_init,
42431 grub_sun_partition_map_fini): Likewise.
42432 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
42433 Likewise.
42434
42435 * util/grub-emu.c: Include <grub_modules_init.h>.
42436 (main): Don't initialize and de-initialize any modules directly,
42437 use `grub_init_all' and `grub_fini_all' instead.
42438
42439 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
42440 `grub_vesafb_mod_init'.
42441 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
42442 all users.
42443 * term/i386/pc/vga.c (grub_vga_init): Renamed to
42444 `grub_vga_mod_init'. Updated all users.
42445 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 42446
6d099807 42447 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
42448 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
42449 rules.
42450
42451 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
42452 Generate a function to initialize the module in utilities.
42453 Updated all callers.
42454 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
42455 initialize the module in utilities. Updated all callers.
42456
9046bcf0 424572005-11-09 Hollis Blanchard <hollis@penguinppc.org>
42458
42459 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
42460 escape sequence and a literal ^L to clear the screen.
42461
42462 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
42463 when returning from Open Firmware.
42464
d13ea639 424652005-11-09 Hollis Blanchard <hollis@penguinppc.org>
42466
42467 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
42468 (grub_ofconsole_height): Likewise.
42469 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
42470 manually insert a '\n'.
42471 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
42472 `grub_ofconsole_height'. Return early if these are already set.
42473
a8fcf206 424742005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
42475
42476 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
42477 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
42478 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
42479 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
42480 and `normal/script.c'.
42481 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
42482 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42483 (test_mod_SOURCES): New variable.
42484 (test_mod_CFLAGS): Likewise.
42485 (test_mod_LDFLAGS): Likewise.
42486 (pkgdata_MODULES): Add `test.mod'.
42487 (grub_script.tab.c): New rule.
42488 (grub_script.tab.h): Likewise.
42489
b6b32745 424902005-11-07 Marco Gerards <mgerards@xs4all.nl>
42491
42492 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42493 `commands/test.c', `normal/execute.c', `normal/lexer.c',
42494 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42495 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
42496 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42497 (test_mod_SOURCES): New variable.
42498 (test_mod_CFLAGS): Likewise.
42499 (pkgdata_MODULES): Add `test.mod'.
42500 (grub_script.tab.c): New rule.
42501 (grub_script.tab.h): Likewise.
42502
daac212a 425032005-11-06 Marco Gerards <mgerards@xs4all.nl>
42504
42505 Add initial scripting support.
42506
42507 * commands/test.c: New file.
42508 * include/grub/script.h: Likewise.
42509 * normal/execute.c: Likewise.
42510 * normal/function.c: Likewise.
42511 * normal/lexer.c: Likewise.
42512 * normal/parser.y: Likewise.
42513 * normal/script.c: Likewise.
42514
42515 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 42516
daac212a 42517 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
42518 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
42519 `normal/function.c' and `normal/script.c'.
42520 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
42521 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 42522 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
42523 variables.
daac212a 42524 (pkgdata_MODULES): Add `test.mod'.
42525 (grub_script.tab.c): New rule.
42526 (grub_script.tab.h): Likewise.
42527
42528 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
42529
42530 * include/grub/normal.h (grub_test_init): New prototype.
42531 (grub_test_fini): Likewise.
f19dbdb7 42532
daac212a 42533 * normal/command.c: Include <grub/script.h>.
42534 (grub_command_execute): Rewritten.
f19dbdb7 42535
daac212a 42536 * util/grub-emu.c (main): Call `grub_test_init' and
42537 `grub_test_fini'.
42538
77500b2b 425392005-11-03 Hollis Blanchard <hollis@penguinppc.org>
42540
42541 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
42542 to 0.
42543 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
42544 there are no pending characters.
42545
e45deb9e 425462005-11-03 Hollis Blanchard <hollis@penguinppc.org>
42547
42548 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
42549 `grub_strndup' to drop device arguments. Replace unnecessary
42550 `grub_strndup' with `grub_strdup'.
42551
4ce32619 425522005-11-03 Hollis Blanchard <hollis@penguinppc.org>
42553
42554 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
42555 `debug' environment variable has been set.
42556
425572005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 42558
4ce32619 42559 * Makefile.in (install-local): Use $(DATA).
42560 (uninstall): Likewise.
42561 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
42562 (sbin_UTILITIES): ... to here.
42563 (sbin_SCRIPTS): New variable.
42564 (grub_install_SOURCES): New variable.
42565 * util/powerpc/ieee1275/grub-install.in: New file.
42566 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
42567 variable.
42568 (add_segments): Call `grub_util_get_path'.
42569
25fe6f03 425702005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
42571
42572 From Timothy Baldwin:
42573 * commands/ls.c (grub_ls_list_files): Close FILE with
42574 grub_file_close.
42575 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
42576
04ccf3ec 425772005-10-24 Marco Gerards <mgerards@xs4all.nl>
42578
42579 * include/grub/parser.h: New file.
42580
42581 * kern/parser.c: Likewise.
42582
42583 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
42584 (grub_setup_SOURCES): Likewise.
42585 (grub_probefs_SOURCES): Likewise.
42586 (grub_emu_SOURCES): Likewise.
42587 (kernel_img_HEADERS): Add `parser.h'.
42588
42589 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
42590 (grub_emu_SOURCES): Add `kern/parser.c'.
42591 (grubof_SOURCES): Likewise.
42592
42593 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
42594 (grubof_SOURCES): Add `kern/parser.c'.
42595
42596 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
42597
42598 * kern/misc.c (grub_split_cmdline): Removed function.
42599
42600 * kern/rescue.c: Include <grub/parser.h>.
42601 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
42602 of `grub_split_cmdline'.
42603
42604 * normal/command.c: Include <grub/parser.h>.
42605 (grub_command_execute): Use `grub_parser_split_cmdline' instead
42606 of `grub_split_cmdline'.
42607
42608 * normal/completion.c: Include <grub/parser.h>.
42609 (cmdline_state): New variable.
42610 (iterate_dir): End the filename with a quote depending on the
42611 command line state.
42612 (get_state): new function.
42613 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
42614 split the arguments and determine the current argument. When the
42615 argument string is not quoted, escape all spaces.
42616
6d8f4b0e 426172005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
42618
42619 * normal/sparc64/setjmp.S: New file.
42620
15cf03ed 426212005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
42622
42623 * include/grub/sparc64/libgcc.h: New file.
42624 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
42625 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
42626 normal/sparc64/setjmp.c.
42627
03e8661a 426282005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
42629
42630 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
42631 * kern/sparc64/cache.S: New file.
42632 * kern/sparc64/cache.c: Removed.
42633 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
42634 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
42635 -mtune=ultrasparc.
42636 (COMMON_LDFLAGS): Add -melf64_sparc.
42637 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
42638 (grubof_SOURCES): Use cache.S instead of cache.c.
42639 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
42640 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
42641 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
42642 commented though.
42643 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
42644 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
42645 (linux_mod_CFLAGS): Commented out.
42646 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
42647 out because module isn't built.
42648 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
42649 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
42650 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
42651 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
42652 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
42653 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
42654 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
42655 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
42656 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
42657 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
42658 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42659 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42660 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
42661 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
42662
34eeec8a 426632005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
42664
42665 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
42666 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
42667 longer, because HFS should not be used on PC.
42668
708367a3 426692005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42670
42671 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
42672 consistently within the loop.
42673
6fa1251a 426742005-10-15 Marco Gerards <mgerards@xs4all.nl>
42675
42676 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
42677 directory can not be read.
42678
4801580b 426792005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
42680
42681 * configure.ac (AC_INIT): Increase the version number to 1.91.
42682
42683 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
42684 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
42685 term/i386/pc/serial.c.
42686
219ad426 426872005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
42688
42689 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
42690 file size must be permitted.
42691
42692 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
42693 between %ah and %al.
42694
688e5699 426952005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
42696
42697 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
42698 grub_uint64_t.
42699 Call the hook with a NUL-terminated filename.
42700 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
42701 grub_cpu_to_be32.
42702
42703 * kern/term.c (cursor_state): New variable.
42704 (grub_term_set_current): Reset the cursor state on a new
42705 terminal.
42706 (grub_setcursor): Rewritten to use CURSOR_STATE.
42707 (grub_getcursor): New function.
42708
42709 * include/grub/term.h (grub_getcursor): New prototype.
42710
42711 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
42712 integers on ARM. Reported by Timothy Baldwin
42713 <T.E.Baldwin99@members.leeds.ac.uk>.
42714
bb34586c 427152005-10-11 Marco Gerards <mgerards@xs4all.nl>
42716
42717 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
42718 allocated.
42719 (grub_sfs_dir): Likewise.
42720
9a909877 427212005-10-09 Marco Gerards <mgerards@xs4all.nl>
42722
42723 Add support for the SFS filesystem.
42724
42725 * fs/sfs.c: New file.
42726
42727 * DISTLIST: Added `fs/sfs.c'.
42728
42729 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
42730 (grub_probefs_SOURCES): Likewise.
42731 (grub_emu_SOURCES): Likewise.
42732 (pkgdata_MODULES): Add `sfs.mod'.
42733 (sfs_mod_SOURCES): New variable.
42734 (sfs_mod_CFLAGS): Likewise.
42735 (sfs_mod_LDFLAGS): Likewise.
42736
42737 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
42738 (pkgdata_MODULES): Add `sfs.mod'.
42739 (sfs_mod_SOURCES): New variable.
42740 (sfs_mod_CFLAGS): Likewise.
42741
42742 * util/grub-emu.c (main): Call `grub_sfs_init' and
42743 `grub_sfs_fini'.
42744
42745 * include/grub/fs.h (grub_sfs_init): New prototype.
42746 (grub_sfs_fini): Likewise.
42747
57bdbde3 427482005-10-07 Marco Gerards <mgerards@xs4all.nl>
42749
42750 Add support for the AFFS filesystem.
42751
42752 * fs/affs.c: New file.
42753
42754 * DISTLIST: Added `fs/affs.c'.
42755
42756 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
42757 (grub_probefs_SOURCES): Likewise.
42758 (grub_emu_SOURCES): Likewise.
42759 (pkgdata_MODULES): Add `affs.mod'.
42760 (affs_mod_SOURCES): New variable.
42761 (affs_mod_CFLAGS): Likewise.
42762 (affs_mod_LDFLAGS): Likewise.
42763
42764 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
42765 (pkgdata_MODULES): Add `affs.mod'.
42766 (affs_mod_SOURCES): New variable.
42767 (affs_mod_CFLAGS): Likewise.
42768
42769 * util/grub-emu.c (main): Call `grub_affs_init' and
42770 `grub_affs_fini'.
42771
42772 * include/grub/fs.h (grub_affs_init): New prototype.
42773 (grub_affs_fini): Likewise.
42774
047b67e0 427752005-10-01 Marco Gerards <mgerards@xs4all.nl>
42776
42777 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
42778
59b8208a 427792005-10-01 Marco Gerards <mgerards@xs4all.nl>
42780
42781 * configure.ac: Accept `x86_64' as host_cpu. In that case add
42782 `-m32' to CFLAGS.
42783
42784 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
42785 linking.
f19dbdb7 42786
59b8208a 42787 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
42788 (COMMON_LDFLAGS): New variable.
42789 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
42790 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
42791 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
42792 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
42793 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
42794 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
42795 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
42796 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
42797 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
42798 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
42799 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
42800 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
42801 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
42802 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
42803 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
42804 variables.
42805 (normal_mod_ASFLAGS): Add `-m32'.
42806
42807 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
42808 (grub_host_size_t, grub_host_ssize_t): New types.
42809 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 42810 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 42811 `GRUB_HOST_SIZEOF_VOID_P'.
42812
42813 * include/grub/kernel.h (struct grub_module_header): Type of
42814 member offset changed to `grub_host_off_t'. Type of member size
42815 changed to `grub_host_size_t'.
42816 (struct grub_module_info): Type of member offset changed to
42817 `grub_host_off_t'. Type of member size changed to
42818 `grub_host_size_t'.
42819
b4093103 428202005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
42821
42822 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 42823
b4093103 42824 * kern/i386/pc/startup.S (multiboot_header): New label.
42825 (multiboot_entry): Likewise.
42826 (multiboot_trampoline): Likewise.
42827
42828 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
42829 Increased to 0x4A0.
42830
42831 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
42832 put parentheses after a question mark.
42833 [!GRUB_UTIL] (my_mod): New variable.
42834
42835 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
42836
b2499b29 428372005-09-28 Marco Gerards <mgerards@xs4all.nl>
42838
42839 Adds support for the XFS filesystem. Btrees are not supported
42840 yet.
42841
42842 * fs/xfs.c: New file.
42843
42844 * DISTLIST: Added `fs/xfs.c'.
42845
42846 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
42847 (grub_probefs_SOURCES): Likewise.
42848 (grub_emu_SOURCES): Likewise.
42849 (pkgdata_MODULES): Add `xfs.mod'.
42850 (xfs_mod_SOURCES): New variable.
42851 (xfs_mod_CFLAGS): Likewise.
42852
42853 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
42854 (pkgdata_MODULES): Add `xfs.mod'.
42855 (xfs_mod_SOURCES): New variable.
42856 (xfs_mod_CFLAGS): Likewise.
42857
42858 * util/grub-emu.c (main): Call `grub_xfs_init' and
42859 `grub_xfs_fini'.
42860
42861 * include/grub/fs.h (grub_xfs_init): New prototype.
42862 (grub_xfs_fini): Likewise.
42863
f19dbdb7 42864
83d37a62 428652005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
42866
42867 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
42868 color modes, allow greater than 16 colors to be configured as
42869 a default palette.
42870
47d2d65e 428712005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
42872
42873 * normal/completion.c (complete_arguments): Add the qualifier
42874 const into OPTIONS.
42875
42876 From Omniflux <omniflux+lists@omniflux.com>:
42877 * include/grub/terminfo.h: New file.
42878 * include/grub/tparm.h: Likewise.
42879 * include/grub/i386/pc/serial.h: Likewise.
42880 * term/terminfo.c: Likewise.
42881 * term/tparm.c: Likewise.
42882 * term/i386/pc/serial.c: Likewise.
42883 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
42884 serial.mod.
42885 (terminfo_mod_SOURCES): New variable.
42886 (terminfo_mod_CFLAGS): Likewise.
42887 (serial_mod_SOURCES): Likewise.
42888 (serial_mod_CFLAGS): Likewise.
42889
48b671ff 428902005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
42891
42892 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
42893 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
42894 and kern/powerpc/ieee1275/cmain.c, respectively.
42895
42896 * boot/powerpc/ieee1275/crt0.S: Moved to ...
42897 * kern/powerpc/ieee1275/crt0.S: ... here.
42898
42899 * boot/powerpc/ieee1275/cmain.c: Moved to ...
42900 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 42901
48b671ff 42902 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
42903 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
42904 instead of boot/powerpc/ieee1275/crt0.S and
42905 boot/powerpc/ieee1275/cmain.c, respectively.
42906
42907 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
42908 sectors. It was not used anyway.
42909
09fc77a7 429102005-08-30 Hollis Blanchard <hollis@penguinppc.org>
42911
42912 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
42913 `unused parameter' warning.
42914
003789c7 429152005-08-30 Hollis Blanchard <hollis@penguinppc.org>
42916
42917 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
42918 function.
42919 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
42920 getcharwidth.
42921
67f44c86 429222005-08-28 Marco Gerards <metgerards@student.han.nl>
42923
42924 * include/grub/normal.h (enum grub_completion_type): Added
42925 `GRUB_COMPLETION_TYPE_ARGUMENT'.
42926
42927 * normal/cmdline.c (print_completion): Handle
42928 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
42929 * normal/menu_entry.c (store_completion): Likewise.
42930
42931 * normal/completion.c (complete_arguments): New function.
42932 (grub_normal_do_completion): Call `complete_arguments' when the
42933 current words start with a dash.
42934
0b5abe02 429352005-08-27 Marco Gerards <metgerards@student.han.nl>
42936
42937 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
42938 `gzio.mod' instead of `io.mod').
42939
d9864ee1 429402005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
42941
42942 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
42943 (DISTDIRS): Added io and video.
42944 Rewrite the search routine to make an output consistently.
42945
42946 * DISTLIST: Added conf/sparc64-ieee1275.mk,
42947 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
42948 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
42949 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
42950 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
42951 util/powerpc/ieee1275/misc.c.
f19dbdb7 42952
d9864ee1 42953 * include/grub/gzio.h: New file.
42954 * io/gzio.c: Likewise.
f19dbdb7 42955
d9864ee1 42956 * kern/file.c (grub_file_close): Call grub_device_close only if
42957 FILE->DEVICE is not NULL.
42958
42959 * include/grub/mm.h [!NULL] (NULL): New macro.
42960
42961 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
42962
42963 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
42964 (pkgdata_MODULES): Added gzio.mod.
42965 (gzio_mod_SOURCES): New variable.
42966 (gzio_mod_CFLAGS): Likewise.
42967
42968 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
42969 (pkgdata_MODULES): Added gzio.mod.
42970 (gzio_mod_SOURCES): New variable.
42971 (gzio_mod_CFLAGS): Likewise.
42972
42973 * commands/cat.c: Include grub/gzio.h.
42974 (grub_cmd_cat): Use grub_gzfile_open instead of
42975 grub_file_open.
f19dbdb7 42976
d9864ee1 42977 * commands/cmp.c: Include grub/gzio.h.
42978 (grub_cmd_cmp): Use grub_gzfile_open instead of
42979 grub_file_open.
42980
42981 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
42982 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
42983 grub_file_open.
42984 (grub_rescue_cmd_module): Likewise.
42985
fa46f4b5 429862005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
42987
42988 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
42989 kern/sparc64/ieee1275/init.c because it contains _start.
42990 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
42991
e9211b5d 429922005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
42993
42994 * configure.ac: Add support for sparc64 host with ieee1275
42995 firmware.
42996 * configure: Generated from configure.ac.
42997 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
42998 instead of int.
42999 (grub_ofdisk_read): Likewise.
43000 (grub_ofdisk_open): Use %p to print pointer values, and cast the
43001 pointers as (void *) to remove a warning.
43002 (grub_ofdisk_close): Likewise.
43003 (grub_ofdisk_read): Likewise.
43004 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
43005 returns, so make it return void to remove a warning.
43006 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
43007 Corresponding prototype change.
43008 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
43009 values, and cast the pointers as (void *) to remove a warning.
43010 (grub_mm_dump): Likewise.
43011 * conf/sparc64-ieee1275.mk: New file.
43012 * conf/sparc64-ieee1275.rmk: Likewise.
43013 * include/grub/sparc64/setjmp.h: Likewise.
43014 * include/grub/sparc64/types.h: Likewise.
43015 * include/grub/sparc64/ieee1275/console.h: Likewise.
43016 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
43017 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
43018 * include/grub/sparc64/ieee1275/time.h: Likewise.
43019 * kern/sparc64/cache.c: Likewise.
43020 * kern/sparc64/dl.c: Likewise.
43021 * kern/sparc64/ieee1275/init.c: Likewise.
43022 * kern/sparc64/ieee1275/openfw.c: Likewise.
43023
385c6a92 430242005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
43025
43026 * util/console.c (grub_ncurses_putchar): If C is greater than
43027 0x7f, set C to a question mark.
43028 (grub_ncurses_getcharwidth): New function.
43029 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
43030 getcharwidth.
43031
43032 * normal/menu.c (print_entry): Made aware of Unicode. First,
43033 convert TITLE to UCS-4, and predict the cursor position by
43034 grub_getcharwidth.
43035
43036 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
43037 const to SRC.
43038 * kern/misc.c (grub_utf16_to_utf8): Likewise.
43039
16ccb8b1 430402005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43041
43042 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
43043 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
43044 grub_strcat.
43045
43046 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
43047 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
43048 grub_strcpy and grub_strlen. Take it into account that a space
43049 character is inserted as a delimiter.
43050
6a85ce79 430512005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43052
43053 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 43054 invalid magic in the error.
6a85ce79 43055
43056 * commands/search.c: New file.
f19dbdb7 43057
6a85ce79 43058 * util/grub-emu.c (main): Call grub_search_init and
43059 grub_search_fini.
43060
43061 * kern/rescue.c (grub_rescue_print_disks): Removed.
43062 (grub_rescue_print_devices): New function.
43063 (grub_rescue_cmd_ls): Use grub_device_iterate with
43064 grub_rescue_print_devices instead of grub_disk_dev_iterate with
43065 grub_rescue_print_disks.
43066
43067 * kern/partition.c (grub_partition_iterate): Return the result of
43068 PARTMAP->ITERATE instead of GRUB_ERRNO.
43069
43070 * kern/device.c: Include grub/partition.h.
43071 (grub_device_iterate): New function.
43072
43073 * include/grub/partition.h (grub_partition_iterate): Return int
43074 instead of grub_err_t.
43075
43076 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
43077 prototype.
43078 [GRUB_UTIL] (grub_search_fini): Likewise.
43079
43080 * include/grub/device.h (grub_device_iterate): New prototype.
43081
43082 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43083 commands/search.c.
43084 (pkgdata_MODULES): Added search.mod.
43085 (search_mod_SOURCES): New variable.
43086 (search_mod_CFLAGS): Likewise.
43087
43088 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
43089 (pkgdata_MODULES): Added search.mod.
43090 (search_mod_SOURCES): New variable.
43091 (search_mod_CFLAGS): Likewise.
43092
43093 * commands/ls.c (grub_ls_list_disks): Renamed to ...
43094 (grub_ls_list_devices): ... this, and use grub_device_iterate.
43095 All callers changed.
43096
43097 * DISTLIST: Added commands/search.c.
43098
ef095434 430992005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43100
43101 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
43102 conversion.
43103 (grub_getcharwidth): New function.
43104
43105 * kern/misc.c (grub_utf8_to_ucs4): New function.
43106
43107 * include/grub/term.h (struct grub_term): Added a new member
43108 "getcharwidth".
43109 (grub_getcharwidth): New prototype.
43110
43111 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
43112
43113 * term/i386/pc/console.c (map_char): New function. Segregated from
43114 grub_console_putchar.
43115 (grub_console_putchar): Use map_char.
43116 (grub_console_getcharwidth): New function.
43117 (grub_console_term): Specified grub_console_getcharwidth as
43118 getcharwidth.
43119
43120 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
43121 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
43122
43123 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
43124 GRUB_ERRNO.
43125 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
43126 on grub_strtoul completely.
43127 (write_char): Declare local variables in the beginning of the
43128 function.
43129 (grub_vesafb_getcharwidth): New function.
43130 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
43131 getcharwidth.
43132
1f0a95e4 431332005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
43134
43135 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
43136 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
43137 commands/i386/pc/vbetest.c.
43138
43139 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
43140 call grub_vbe_get_controller_info again, because the returned
43141 information is volatile.
43142 (grub_vbe_set_video_mode): Mostly rewritten.
43143 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
43144 grub_vbe_status_t correctly.
43145 (grub_vbe_get_video_mode_info): Likewise.
43146 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
43147 several if statements.
43148
43149 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
43150 * commands/i386/pc/vbeinfo.c: ... this.
43151
43152 * commands/i386/pc/vbe_test.c: Renamed to ...
43153 * commands/i386/pc/vbetest.c: ... this.
43154
43155 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
43156 ...
43157 (grub_cmd_vbeinfo): ... this. Save video modes before
43158 iterating. Skip a video mode, if it is not available, not enough
43159 information is given or it is monochrome. Show the memory
43160 model. Leave the interpretation of MODEVAR to grub_strtoul
43161 completely.
43162 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
43163 (GRUB_MOD_FINI): Likewise.
43164
43165 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
43166 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
43167 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
43168 duplicated grub_env_get. Leave the interpretation of MODEVAR to
43169 grub_strtoul completely.
43170 (real2pm): Removed.
43171 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
43172 (GRUB_MOD_FINI): Likewise.
43173
43174 * normal/misc.c: Include grub/mm.h.
43175
43176 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
43177 vbe_list_modes with vbetest.mod and vbeinfo.mod.
43178 (vbe_list_modes_mod_SOURCES): Removed.
43179 (vbe_list_modes_mod_CFLAGS): Likewise.
43180 (vbe_test_mod_SOURCES): Likewise.
43181 (vbe_test_mod_CFLAGS): Likewise.
43182 (vbeinfo_mod_SOURCES): New variable.
43183 (vbeinfo_mod_CFLAGS): Likewise.
43184 (vbetest_mod_SOURCES): Likewise.
43185 (vbetest_mod_CFLAGS): Likewise.
43186
992ffbbe 431872005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
43188
43189 * normal/misc.c: New file.
43190
43191 * DISTLIST: Added normal/misc.c.
f19dbdb7 43192
992ffbbe 43193 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
43194 DISK to HOOK. Call HOOK with DISK.
43195 * partmap/apple.c (apple_partition_map_iterate): Likewise.
43196 * partmap/pc.c (pc_partition_map_iterate): Likewise.
43197 * partmap/sun.c (sun_partition_map_iterate): Likewise.
43198
43199 * normal/menu_entry.c (struct screen): Added a new member
43200 "completion_shown".
43201 (completion_buffer): New global variable.
43202 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
43203 (store_completion): New function.
43204 (complete): Likewise.
43205 (clear_completions): Likewise.
43206 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
43207 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
43208 a tab, call complete.
43209
43210 * normal/completion.c (disk_dev): Removed.
43211 (print_simple_completion): Likewise.
43212 (print_partition_completion): Likewise.
43213 (print_func): New global variable.
43214 (add_completion): Do not take the arguments WHAT or PRINT any
43215 longer. Added a new argument TYPE. Instead of printing directly,
43216 call PRINT_FUNC if not NULL.
43217 All callers changed.
43218 (complete_device): Use a local variable DEV instead of
43219 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
43220 (grub_normal_do_completion): Take a new argument HOOK. Do not
43221 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
43222 empty string, return NULL instead.
43223 All callers changed.
43224
43225 * normal/cmdline.c (print_completion): New function.
43226
43227 * kern/partition.c (grub_partition_iterate): Add an argument DISK
43228 to HOOK.
43229 All callers changed.
43230
43231 * kern/disk.c (grub_print_partinfo): Removed.
43232
43233 * include/grub/partition.h (struct grub_partition_map): Add a new
43234 argument DISK into HOOK of ITERATE.
43235 (grub_partition_iterate): Add a new argument DISK to HOOK.
43236
43237 * include/grub/normal.h (enum grub_completion_type): New enum.
43238 (grub_completion_type_t): New type.
43239 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
43240 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
43241 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
43242 (GRUB_COMPLETION_TYPE_FILE): Likewise.
43243 (grub_normal_do_completion): Added a new argument HOOK.
43244 (grub_normal_print_device_info): New prototype.
43245
43246 * include/grub/disk.h (grub_print_partinfo): Removed.
43247
43248 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
43249 (normal_mod_SOURCES): Likewise.
43250 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43251 (normal_mod_SOURCES): Likewise.
43252
43253 * commands/ls.c (grub_ls_list_disks): Use
43254 grub_normal_print_device_info instead of grub_print_partinfo. Free
43255 PNAME.
43256 (grub_ls_list_files): Use grub_normal_print_device_info instead of
43257 duplicating the code.
43258
0bd41162 432592005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
43260
43261 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 43262 follow GCS more precisely.
43263 * commands/i386/pc/vbe_test.c: Likewise.
43264 * include/grub/i386/pc/vbe.h: Likewise.
43265 * term/i386/pc/vesafb.c: Likewise.
43266 * video/i386/pc/vbe.c: Likewise.
0bd41162 43267
6323696a 432682005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
43269
43270 * DISTLIST: Added term/i386/pc/vesafb.c
43271 DISTLIST: Added video/i386/pc/vbe.c
43272 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
43273 DISTLIST: Added commands/i386/pc/vbe_test.c.
43274 * commands/i386/pc/vbe_list_modes.c: New file.
43275 * commands/i386/pc/vbe_test.c: Likewise.
43276 * term/i386/pc/vesafb.c: Likewise.
43277 * video/i386/pc/vbe.c: Likewise.
43278 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
43279 (grub_vbe_probe) Added prototype.
43280 (grub_vbe_set_video_mode) Likewise.
43281 (grub_vbe_get_video_mode) Likewise.
43282 (grub_vbe_get_video_mode_info) Likewise.
43283 (grub_vbe_set_pixel_rgb) Likewise.
43284 (grub_vbe_set_pixel_index) Likewise.
43285 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
43286 (pkgdata_MODULES): Added vesafb.mod.
43287 (pkgdata_MODULES): Added vbe_list_modes.mod.
43288 (pkgdata_MODULES): Added vbe_test.mod.
43289 (vbe_mod_SOURCES): Added.
43290 (vbe_mod_CFLAGS): Likewise.
43291 (vesafb_mod_SOURCES): Likewise.
43292 (vesafb_mod_CFLAGS): Likewise.
43293 (vbe_list_modes_mod_SOURCES): Likewise.
43294 (vbe_list_modes_mod_CFLAGS): Likewise.
43295 (vbe_test_mod_SOURCES): Likewise.
43296 (vbe_test_mod_CFLAGS): Likewise.
43297
0a74e62f 432982005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
43299
0a74e62f 43300 * normal/command.c (grub_command_execute): If INTERACTIVE is
43301 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
43302 CMDLINE. Disable the pager if INTERACTIVE is true.
43303 All callers are changed.
43304
43305 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
43306 before reading a config file.
43307 * normal/main.c (read_config_file): Even if a command is not
43308 found, register it if it is within an entry.
43309
43310 * util/grub-emu.c: Include sys/types.h and unistd.h.
43311 (options): Added --hold.
43312 (struct arguments): Added a new member "hold".
43313 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
43314 missing.
43315 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
43316 cleared by a debugger, if it is not zero.
43317
43318 * include/grub/normal.h (grub_command_execute): Add an argument
43319 INTERACTIVE.
43320
e51f85ae 433212005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
43322
43323 * DISTLIST: Added include/grub/i386/pc/vbe.h.
43324
e9c6f39b 433252005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
43326
43327 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
43328 program with another one, because the old one didn't detect a bug
43329 in gcc-3.4. Always use regparm 2, because the new test is still
43330 not enough for gcc-4.0. Someone must investigate a simple test
43331 case which detects a bug in gcc-4.0.
43332
8de3495c 433332005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
43334
43335 * DISTLIST: Added normal/completion.c.
43336
43337 * normal/completion.c: New file.
f19dbdb7 43338
8de3495c 43339 * term/i386/pc/console.c (grub_console_getwh): New function.
43340 (grub_console_term): Assign grub_console_getwh to getwh.
43341
43342 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
43343 function is defined in normal/completion.c as
43344 grub_normal_do_completion.
43345 (grub_cmdline_get): Use grub_normal_do_completion instead of
43346 grub_tab_complete.
43347
43348 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
43349 returns non-zero, otherwise return 0.
43350 (grub_partition_iterate): First, probe the partition map. Then,
43351 call ITERATE only for this partition map.
43352
43353 * kern/misc.c (grub_strncmp): Rewritten.
43354
43355 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
43356 returns non-zero. Otherwise return 0.
43357
43358 * include/grub/partition.h (grub_partition_map_iterate): Return
43359 int instead of void.
43360
43361 * include/grub/normal.h (grub_normal_do_completion): New prototype.
43362
43363 * include/grub/misc.h (grub_strncmp): Change the type of N to
43364 grub_size_t.
43365
43366 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
43367 of void.
43368
43369 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 43370 unsigned explicitly before comparing it with I.
8de3495c 43371
43372 * kern/main.c (grub_env_write_root): Add the attribute unused into
43373 VAR.
43374
43375 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43376 normal/completion.c.
43377 (normal_mod_SOURCES): Likewise.
43378 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43379 (normal_mod_SOURCES): Likewise.
43380
43381 * normal/command.c (grub_iterate_commands): If ITERATE returns
43382 non-zero, return one immediately.
43383
e85e144b 433842005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
43385
43386 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
43387 * kern/i386/pc/startup.S: Updated Global Descriptor table's
43388 descriptions.
43389 (grub_vbe_get_controller_info): New function.
43390 (grub_vbe_get_mode_info): Likewise.
43391 (grub_vbe_set_mode): Likewise.
43392 (grub_vbe_get_mode): Likewise.
43393 (grub_vbe_set_memory_window): Likewise.
43394 (grub_vbe_get_memory_window): Likewise.
43395 (grub_vbe_set_scanline_length): Likewise.
43396 (grub_vbe_get_scanline_length): Likewise.
43397 (grub_vbe_set_display_start): Likewise.
43398 (grub_vbe_get_display_start): Likewise.
43399 (grub_vbe_set_palette_data): Likewise.
43400 * include/grub/i386/pc/vbe.h: New file.
43401
c46153d2 434022005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43403
43404 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
43405 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
43406 * DISTLIST: Likewise.
43407 * kern/ieee1275/of.c: Moved to ...
43408 * kern/ieee1275/ieee1275.c: ... here.
43409
0cb90c45 434102005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43411
43412 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
43413 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
43414 Pass 0 as `end' parameter to grub_strtoul().
43415
a19fb360 434162005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43417
43418 * include/grub/powerpc/ieee1275/console.h: Do not include
43419 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
43420 ifdef.
43421 (grub_console_cur_color): Remove i386-specific prototype.
43422 (grub_console_real_putchar): Likewise.
43423 (grub_console_checkkey): Likewise.
43424 (grub_console_getkey): Likewise.
43425 (grub_console_getxy): Likewise.
43426 (grub_console_gotoxy): Likewise.
43427 (grub_console_cls): Likewise.
43428 (grub_console_setcursor): Likewise.
43429 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
43430 Include <grub/machine/console.h>.
43431 * term/ieee1275/ofconsole.c: Likewise.
43432
4ac9bd04 434332005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
43434
43435 * Makefile.in (LIBLZO): New variable.
43436
43437 * configure.ac: Check for LZO version 2.
43438
43439 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
43440 lzo/lzo1x.h instead of lzo1x.h.
43441
43442 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
43443 of -llzo.
43444
43445 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
43446 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
43447
43448 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
43449 copying the data from PARTITION to P.
43450
f4917dfd 434512005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
43452
43453 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
43454 negative, unload the module.
43455
43456 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
43457 map is "pc_partition_map" but not "pc".
43458 (usage): Fix the description. The options are --boot-image and
43459 --core-image but not --boot-file or --core-file.
43460 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
43461 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
43462 DEFAULT_DIRECTORY.
43463
43464 * util/i386/pc/grub-install.in: Do not specify --boot-file or
43465 --core-file. Specify INSTALL_DEVICE as an argument.
43466
43467 * util/console.c: Include config.h.
43468 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
43469 [HAVE_NCURSES_H]: Include ncurses.h.
43470 [HAVE_CURSES_H]: Include curses.h.
43471 [!A_NORMAL] (A_NORMAL): Defined as zero.
43472 [!A_STANDOUT] (A_STANDOUT): Likewise.
43473
43474 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
43475 -lncurses.
43476 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
43477
43478 * configure.ac: Check for curses libraries and headers.
43479
43480 * Makefile.in (LIBCURSES): New variable.
43481
43482 * genmk.rb (Script::rule): Set the executable bits.
43483
43484 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
43485 name of the PC partition map is "pc_partition_map" but not "pc".
43486
0e143073 434872005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
43488
43489 * util/i386/pc/grub-install.in (grub_probefs): New variable.
43490 (modules): Likewise.
43491 (usage): Added descriptions for --modules and --grub-probefs.
43492 Handle --modules and --grub-probefs. Save the arguments in MODULES
43493 and GRUB_PROBEFS, respectively.
43494 Auto-detect a filesystem module against GRUBDIR. If the result is
43495 empty and modules are not specified explicitly, abort the
43496 installation. Add the result to MODULES.
43497
43498 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
43499 disk/powerpc/ieee1275/ofdisk.c,
43500 include/grub/powerpc/ieee1275/init.h and
43501 term/powerpc/ieee1275/ofconsole.c.
43502 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
43503 term/ieee1275/ofconsole.c.
43504
43505 * include/grub/powerpc/ieee1275/console.h: Resurrected.
43506
43507 * COPYING: Upgraded to the latest version. Only the address of the
43508 FSF office has changed.
f19dbdb7 43509
efd6e6d5 435102005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
43511
43512 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
43513 kern/ieee1275.c with kern/ieee1275/of.c.
43514
43515 * kern/ieee1275.c: Moved to ...
43516 * kern/ieee1275/of.c: ... here.
43517
8ceafda2 435182005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
43519
43520 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 43521 readability.
8ceafda2 43522
43523 * config.guess: Updated to the latest version from gnulib.
43524 * config.sub: Likewise.
43525 * install.sh: Likewise.
43526 * mkinstalldirs: Likewise.
43527
43528 * include/grub/console.h: Removed. This file is arch-specific. Do
43529 not put this in include/grub.
43530
43531 * include/grub/i386/pc/console.h: Resurrected.
43532
43533 * util/console.c: Include grub/machine/console.h instead of
43534 grub/console.h.
43535 * util/grub-emu.c: Likewise.
43536
267f6cd9 435372005-08-04 Marco Gerards <metgerards@student.han.nl>
43538
43539 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
43540 hardcoded value.
f19dbdb7 43541
267f6cd9 43542 From Vincent Pelletier <subdino2004@yahoo.fr>
43543 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
43544 Redefined to use grub_getwh.
43545 (grub_term): New member named getwh.
43546 (grub_getwh): New prototype.
43547 * kern/term.c (grub_getwh): New function.
43548 * term/i386/pc/console.c (grub_console_getwh): New function.
43549 (grub_console_term): New member `getwh'.
43550 * term/i386/pc/vga.c (grub_vga_getwh): New function.
43551 (grub_vga_term): New member `getwh'.
0b5abe02 43552 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 43553 grub_ssize_t.
43554 (grub_ofconsole_getw): New function.
43555 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
43556 (grub_ofconsole_term): New field named getwh and new initial
43557 value.
43558
3be7266d 435592005-08-03 Hollis Blanchard <hollis@penguinppc.org>
43560
43561 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
43562 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
43563 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
43564 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
43565 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
43566 of <grub/machine/ieee1275.h>.
43567 * commands/ieee1275/reboot.c: Likewise.
43568 * boot/powerpc/ieee1275/ieee1275.c: Move ...
43569 * kern/ieee1275.c: ... to here. All users updated. Change all
43570 parameter structs to use new type `grub_ieee1275_cell_t'.
43571 * term/powerpc/ieee1275/ofconsole.c: Move ...
43572 * term/ieee1275/ofconsole.c: ... to here. All users updated.
43573 * disk/powerpc/ieee1275/ofdisk.c: Move ...
43574 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
43575 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
43576 to return int.
43577 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
43578 Remove unused prototypes. All users updated.
43579 * include/grub/powerpc/ieee1275/console.h: Removed.
43580 * include/grub/powerpc/ieee1275/ieee1275.h: Define
43581 `grub_ieee1275_cell_t'.
43582 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
43583 Cast comparisons with -1 to the correct type.
43584 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
43585 type to match `grub_ieee1275_entry_fn'.
43586
8b5f3938 435872005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
43588
43589 * DISTLIST: Added util/i386/pc/grub-probefs.c.
43590
43591 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
43592 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
43593 partmap/sun.c.
43594 (grub_probefs_SOURCES): New variable.
43595
43596 * util/i386/pc/grub-probefs.c: New file.
43597
43598 * util/i386/pc/grub-setup.c (main): Call
43599 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
43600 grub_hfs_init and grub_jfs_init to initialize the system. Call
43601 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
43602 grub_pc_partition_map_fini to finish the system.
43603
ea409713 436042005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
43605
43606 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
43607 function.
43608 (grub_multiboot_load_elf32): Likewise.
43609 (grub_multiboot_is_elf64): Likewise.
43610 (grub_multiboot_load_elf64): Likewise.
43611 (grub_multiboot_load_elf): Likewise.
43612 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
43613 an ELF32 or ELF64 file.
43614 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
43615
43616 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
43617 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
43618 NULL before calling FS->LABEL.
43619 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
43620 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
43621 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
43622 before calling FS->LABEL.
43623
141a288b 436242005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
43625
43626 * util/i386/pc/grub-install.in (datadir): New variable.
43627 (libdir): Removed.
43628 (pkgdatadir): New variable.
43629 (pkglibdir): Removed.
43630
0d5f8a54 436312005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
43632
43633 * DISTLIST: Added util/i386/pc/grub-install.in.
43634
43635 * util/i386/pc/grub-install.in: New file.
43636
43637 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
43638 (grub_install_SOURCES): Likewise.
43639
43640 * genmk.rb: Added support for scripts.
43641 (Script): New class.
43642 (scripts): New variable.
43643
43644 * Makefile.in (install-local): Install sbin_SCRIPTS by
43645 INSTALL_SCRIPT.
43646 (uninstall): Remove sbin_SCRIPTS.
43647
43648 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
43649 device, try to get a GRUB device by
43650 grub_util_biosdisk_get_grub_dev.
43651 Free DEST_DEV.
43652
43653 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
43654 description for --device-map.
43655
5f968e1e 436562005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
43657
43658 Change the semantics of variable hooks. They now return strings
43659 instead of error values.
f19dbdb7 43660
5f968e1e 43661 * util/i386/pc/grub-setup.c: Include grub/env.h.
43662 (setup): Use grub_device_set_root instead of grub_env_set.
43663
43664 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
43665 grub_env_get instead of grub_device_set_root and
43666 grub_device_get_root, respectively.
43667
43668 * kern/main.c (grub_env_write_root): New function.
43669 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
43670 grub_env_set instead of grub_device_set_root.
43671
43672 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
43673 many variables.
43674 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
43675 rather than calling ENV->WRITE_HOOK afterwards.
43676 (grub_env_get): Return the result of ENV->READ_HOOK rather than
43677 passing a pointer of a pointer.
43678 (grub_register_variable_hook): Change the types of "read_hook" and
43679 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
43680 respectively.
43681 Allocate the default empty string on the heap, because this string
43682 may be freed later.
43683
43684 * kern/device.c: Include grub/env.h.
43685 (grub_device_set_root): Removed.
43686 (grub_device_get_root): Likewise.
43687 (grub_device_open): Use grub_env_get instead of
43688 grub_device_get_root.
43689
43690 * include/grub/env.h (grub_env_read_hook_t): New type.
43691 (grub_env_write_hook_t): Likewise.
43692 (grub_env_var): Change the types of "read_hook" and "write_hook"
43693 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
43694 (grub_register_variable_hook): Likewise.
43695
43696 * include/grub/device.h (grub_device_set_root): Removed.
43697 (grub_device_set_root): Likewise.
43698
43699 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
43700 make sure that DIRNAME terminates with '/', so that
43701 grub_fat_find_dir will fail if PATH is not a directory.
43702
43703 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
43704 from DIRNAME.
43705 Use the qualifier auto for print_files and print_files_long.
43706 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
43707 as a regular file.
43708 Put a newline only if there is no error.
43709 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
43710 used.
43711
896f0afd 437122005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
43713
43714 * kern/partition.c (grub_partition_probe): Initialize PART to
43715 NULL. Otherwise, when no partition map is registered, this returns
43716 a garbage.
43717
b28b81b2 437182005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
43719
43720 * partmap/apple.c (apple_partition_map_iterate): Check if POS
43721 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
43722 valid.
43723
5f3607e0 437242005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
43725
43726 * commands/ls.c (grub_ls_list_disks): Print the filesystem
43727 information on each device, if it does not have partitions. Print
43728 "Device" instead of "Disk", because this function is not specific
43729 to disk devices.
43730
43731 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
43732 static to ensure that it is put on the memory rather than a
43733 register.
43734
502c87e8 437352005-07-17 Yoshinori Okuji <okuji@enbug.org>
43736
43737 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
43738 (grub_cat_init): Likewise.
43739 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
43740 (options): Likewise.
43741 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
43742 (grub_configfile_init): Likewise.
43743 * font/manager.c (GRUB_MOD_INIT): Likewise.
43744 * commands/help.c (GRUB_MOD_INIT): Likewise.
43745 (grub_help_init): Likewise.
43746 * normal/command.c (grub_command_init): Likewise.
43747 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
43748 * disk/loopback.c (grub_loop_init): Likewise.
43749 (GRUB_MOD_INIT): Likewise.
43750 * commands/ls.c (grub_ls_init): Likewise.
43751 (GRUB_MOD_INIT): Likewise.
43752 (options): Likewise.
43753 * commands/boot.c (grub_boot_init): Likewise.
43754 (GRUB_MOD_INIT): Likewise.
43755 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
43756 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
43757 (GRUB_MOD_INIT): Likewise.
43758 * commands/cmp.c (grub_cmp_init): Likewise.
43759 (GRUB_MOD_INIT): Likewise.
43760
43761 * normal/arg.c: Use <> instead of "" to include header files.
43762 (SHORT_ARG_HELP): New macro.
43763 (SHORT_ARG_USAGE): Likewise.
43764 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
43765 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
43766 descriptions.
43767 (find_short): Check if C is 'h' or 'u' explicitly.
43768 (grub_arg_show_help): Use space characters instead of tabs. Treat
43769 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
43770 are shown with --help and --usage only if they are not used for
43771 the command itself.
43772 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
43773 'h' and 'u'.
43774
43775 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
43776 const into "longarg". Change the type of "shortarg" to int.
43777
f806d18e 437782005-07-17 Yoshinori Okuji <okuji@enbug.org>
43779
43780 * boot/i386/pc/boot.S (boot_drive_check): New label.
43781
43782 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
43783 macro.
43784
43785 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
43786 which do not pass a boot drive correctly. Copied from GRUB Legacy.
43787
e293232b 437882005-07-17 Yoshinori Okuji <okuji@enbug.org>
43789
43790 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
43791 When turning off Gate A20, skip the check and return immediately,
43792 because this is not fatal usually.
43793
ebedfd00 437942005-07-17 Yoshinori Okuji <okuji@enbug.org>
43795
43796 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
43797 be 0x7C00 instead of 0x8000.
43798
43799 * boot/i386/pc/pxeboot.S: Rewritten.
43800
43801 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
43802 EXT_C.
43803 (gate_a20_check_state): Read a byte from 0x108000. Invert the
43804 result.
43805
654fc59f 438062005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
43807
43808 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
43809 robustness. This routine now supports a BIOS call and System
43810 Control Port A to modify the gate A20.
43811
43812 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
43813 Increased to 0x440.
43814
09f9923f 438152005-07-12 Hollis Blanchard <hollis@penguinppc.org>
43816
43817 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
43818 device path and resulting ihandle.
43819 (grub_ofdisk_close): dprintf the ihandle being closed.
43820 (grub_ofdisk_read): dprintf function parameters.
43821 * kern/mm.c (grub_mm_init_region): Likewise.
43822 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
43823 (grub_linux_boot): dprintf the Linux entry point, initrd address and
43824 size, and boot arguments.
43825 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
43826 before loading into memory.
43827 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
43828 before loading into memory.
43829
7ef504d8 438302005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
43831
43832 * kern/mm.c: Added much documentation.
43833 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
43834 8, set to 5 instead of 8.
43835
e0f050c2 438362005-07-10 Yoshinori Okuji <okuji@enbug.org>
43837
43838 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
43839
43840 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
43841 (grub_mkdevicemap_SOURCES): New variable.
43842
43843 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
43844 lib/device.c of GRUB Legacy.
43845
7224189a 438462005-07-10 Yoshinori Okuji <okuji@enbug.org>
43847
43848 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
43849 instead of PATH is NULL.
43850
68c864eb 438512005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
43852
43853 * commands/cmp.c (BUFFER_SIZE): New macro.
43854 (grub_cmd_cmp): Close the right file at the right time. Compare
43855 only data just read. Don't report files of different size as
43856 identical. Dynamically allocate buffers. Move variable
43857 declarations at the beginning of function.
43858
e6f3e614 438592005-07-09 Yoshinori Okuji <okuji@enbug.org>
43860
43861 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
43862 reverse.
43863
f8f1559a 438642004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
43865
43866 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
43867 when backspace is pressed at beginning of line.
43868
39c9d41d 438692005-07-03 Yoshinori Okuji <okuji@enbug.org>
43870
43871 * DISTLIST: Added genfslist.sh.
43872
43873 * normal/main.c (fs_module_list): New variable.
43874 (autoload_fs_module): New function.
43875 (read_fs_list): Likewise.
43876 (grub_normal_execute): Call read_fs_list.
43877
43878 * kern/fs.c (grub_fs_autoload_hook): New variable.
43879 (grub_fs_probe): Added support for auto-loading.
43880
43881 * include/grub/normal.h (struct grub_fs_module_list): New struct.
43882 (grub_fs_module_list_t): New type.
43883
43884 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
43885 (grub_fs_autoload_hook): New prototype.
43886
43887 * genfslist.sh: New file.
f19dbdb7 43888
39c9d41d 43889 * genmk.rb: Added a rule to generate a filesystem list.
43890
121c1d83 438912005-06-30 Marco Gerards <metgerards@student.han.nl>
43892
43893 * configure.ac: Fix the test for cross-compiling.
43894
43895 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
43896 define GRUB_UTIL anymore.
43897
43898 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
43899 so this function works on other systems than just big endian.
43900 (load_modules): Likewise.
43901 (add_segments): Likewise.
43902
e75d76e1 439032005-06-23 Hollis Blanchard <hollis@penguinppc.org>
43904
43905 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
43906 contains `l' modifier, get a long from va_arg().
43907
50b5a0a7 439082005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
43909
43910 * kern/mm.c (grub_free): If the next free block which is being
43911 merged is the first free block, set the first block to the block
43912 being freed.
43913 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
43914
89371b20 439152005-05-08 Hollis Blanchard <hollis@penguinppc.org>
43916
43917 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
43918 `grub_ieee1275_chosen'.
43919
168d6e58 439202005-05-08 Hollis Blanchard <hollis@penguinppc.org>
43921
43922 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
43923 (grub_ieee1275_chosen): New variable.
43924 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
43925 `chosen'.
43926 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
43927 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
43928 Rename first argument to `phandle' for consistency.
43929 (grub_ieee1275_get_property_length): Likewise.
43930 (grub_ieee1275_next_property): Likewise. Change type of first argument
43931 to grub_ieee1275_phandle_t.
43932 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
43933 Move export next to declaration.
43934 (grub_ieee1275_chosen): New variable.
43935 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
43936 Correct cosmetic typo.
43937 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
43938 `grub_ieee1275_chosen'.
43939 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
43940 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
43941 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
43942 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
43943 `grub_ieee1275_chosen'.
43944
ca5baa3f 439452005-05-10 Hollis Blanchard <hollis@penguinppc.org>
43946
43947 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
43948 /chosen/bootargs.
43949 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
43950 /chosen/bootargs as "variable=value" pairs.
43951
708b345f 439522005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
43953
43954 * include/grub/misc.h (grub_dprintf): New macro.
43955 (grub_real_dprintf): New prototype.
43956 (grub_strword): Likewise.
43957 (grub_iswordseparator): Likewise.
43958 * kern/misc.c (grub_real_dprintf): New function.
43959 (grub_strword): Likewise.
43960 (grub_iswordseparator): Likewise.
43961
f4c5e67c 439622005-04-30 Hollis Blanchard <hollis@penguinppc.org>
43963
43964 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
43965 (roundup): Remove macro.
43966 (grub_ieee1275_flags): Make static.
43967 (grub_ieee1275_realmode): Remove.
43968 (grub_ieee1275_test_flag): New function.
43969 (grub_ieee1275_set_flag): Likewise.
43970 (find_options): Rename to `grub_ieee1275_find_options'; update
43971 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
43972 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
43973 (cmain): New prototype.
43974 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
43975 `grub_ieee1275_flags' directly.
43976 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
43977 machine/biosdisk.h.
43978 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
43979 Don't include grub/machine/init.h.
43980 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
43981 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
43982 Remove prototype.
43983 (grub_ieee1275_realmode): Likewise.
43984 (grub_ieee1275_flag): New enum.
43985 (grub_ieee1275_test_flag): New prototype.
43986 (grub_ieee1275_set_flag): New prototype.
43987 * include/grub/powerpc/ieee1275/init.h: Remove file.
43988 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
43989 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
43990 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
43991 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
43992 comment.
43993 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
43994 `grub_ieee1275_test_flag'.
43995 (grub_ieee1275_encode_devname): Likewise.
43996
ed16607e 439972005-04-21 Hollis Blanchard <hollis@penguinppc.org>
43998
43999 * include/grub/powerpc/ieee1275/ieee1275.h
44000 (grub_ieee1275_encode_devname): New prototype.
44001 (grub_ieee1275_get_filename): Likewise.
44002 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
44003 function.
44004 (grub_set_prefix): Likewise.
44005 (grub_machine_init): Call grub_set_prefix.
44006 * kern/powerpc/ieee1275/openfw.c: Fix typos.
44007 (grub_parse_type): New enum.
44008 (grub_ieee1275_get_devargs): New function.
44009 (grub_ieee1275_get_devname): Likewise.
44010 (grub_ieee1275_parse_args): Likewise.
44011 (grub_ieee1275_get_filename): Likewise.
44012 (grub_ieee1275_encode_devname): Likewise.
44013
be369920 440142005-03-30 Marco Gerards <metgerards@student.han.nl>
44015
44016 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
44017 `grub_loader_unset'.
44018
a5ce3a4a 440192005-03-26 Hollis Blanchard <hollis@penguinppc.org>
44020
44021 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
44022 instead of grub_ieee1275_interpret.
44023 (grub_halt_init): New function.
44024 (grub_halt_fini): Likewise.
44025 (GRUB_MOD_INIT): Correct message grammar.
44026 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
44027 instead of grub_ieee1275_interpret.
44028 (grub_reboot_init): New function.
44029 (grub_reboot_fini): Likewise.
44030 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
44031 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
44032 util/i386/pc/misc.c with commands/ieee1275/halt.c,
44033 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
44034 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
44035 function.
44036 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
44037 Add prototype.
44038 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
44039 prototype.
44040 (grub_halt): Likewise.
44041 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
44042 (cmain): Remove __attribute__((unused)).
44043 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
44044 (grub_heap_len): Likewise.
44045 (grub_machine_fini): New function.
44046 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
44047 (grub_halt): Likewise.
44048 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
44049 function.
44050 * util/powerpc/ieee1275/misc.c: New file.
44051
0058f771 440522005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
44053
44054 * DISTLIST: New file.
44055 * gendistlist.sh: Likewise.
f19dbdb7 44056
0058f771 44057 * Makefile.in (COMMON_DISTFILES): Removed.
44058 (BOOT_DISTFILES): Likewise.
44059 (CONF_DISTFILES): Likewise.
44060 (DISK_DISTFILES): Likewise.
44061 (FS_DISTFILES): Likewise.
44062 (INCLUDE_DISTFILES): Likewise.
44063 (KERN_DISTFILES): Likewise.
44064 (LOADER_DISTFILES): Likewise.
44065 (TERM_DISTFILES): Likewise.
44066 (UTIL_DISTFILES): Likewise.
44067 (DISTFILES): Likewise.
44068 (uninstall): Uninstall files in $(pkgdata_DATA).
44069 (DISTLIST): New target.
44070 (distdir): Use the contents of the file DISTLIST to get a list of
44071 distributed files.
44072
46b3b8a5 440732005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
44074
44075 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
44076 descriptor. This is ported from GRUB Legacy.
44077
44078 * gencmdlist.sh: Added an extra semicolon to make it work with
44079 old sed versions. Reported by Robert Bihlmeyer
44080 <robbe@orcus.priv.at>.
44081
5822ff87 440822005-03-08 Yoshinori Okuji <okuji@enbug.org>
44083
44084 Automatic loading of commands is supported.
f19dbdb7 44085
5822ff87 44086 * normal/main.c (read_command_list): New function.
44087 (grub_normal_execute): Call read_command_list.
44088
44089 * normal/command.c (grub_register_command): Return zero or CMD.
44090 Allocate CMD->NAME from the heap.
44091 Initialize CMD->MODULE_NAME to zero.
44092 Find the same name as well. If the same command is found and it is
44093 a dummy command, overwrite members. If it is not a dummy command,
44094 return zero.
44095 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
44096 (grub_command_find): If a dummy command is found, load a module
44097 and retry to find a command only once.
44098
44099 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
44100 make sure that each command is loaded.
44101
44102 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
44103 macro.
44104 (struct grub_command): Remove const from the member `name'.
44105 Add a new member `module_name'.
44106 (grub_register_command): Return grub_command_t.
44107
44108 * commands/help.c (grub_cmd_help): Call grub_command_find to make
44109 sure that each command is loaded.
44110
44111 * genmk.rb (PModule::rule): Specify a module name without the
44112 suffix ".mod" to gencmdlist.sh.
44113
7b1f4b57 441142005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
44115
44116 * gencmdlist.sh: New file.
f19dbdb7 44117
7b1f4b57 44118 * genmk.rb (PModule::rule): Generate a rule for a command list.
44119 Clean command.lst.
44120 Generate command.lst from $(COMMANDFILES).
44121
44122 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
44123 (DATA): Added $(pkgdata_DATA).
44124 (install-local): Install files in $(pkgdata_DATA).
44125
062aaf39 441262005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
44127
44128 * term/i386/pc/vga.c (debug_command): Removed.
44129 (GRUB_MOD_INIT): Do not register the command "debug".
44130
44131 From Hollis Blanchard:
44132 * commands/configfile.c: New file.
44133 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44134 commands/configfile.c.
44135 (pkgdata_MODULES): Added configfile.mod.
44136 (configfile_mod_SOURCES): New variable.
44137 (configfile_mod_CFLAGS): Likewise.
44138 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
44139 commands/configfile.c.
44140 (pkgdata_MODULES): Added configfile.mod.
44141 (configfile_mod_SOURCES): New variable.
44142 (configfile_mod_CFLAGS): Likewise.
44143 * util/grub-emu.c (main): Call grub_configfile_init and
44144 grub_configfile_fini.
44145 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
44146 prototype.
44147 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 44148
cee01aa6 441492005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
44150
44151 * normal/arg.c (grub_arg_show_help): Do not show the bug report
44152 address.
44153
44154 * commands/help.c (grub_cmd_help): Do not print newlines after
44155 the last command in print_command_help.
44156
93f3a1d8 441572005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
44158
44159 * commands/default.h: New file.
44160 * commands/timeout.h: Likewise.
44161 * normal/context.c: Likewise.
f19dbdb7 44162
93f3a1d8 44163 * util/misc.c: Do not include sys/times.h.
44164 Include sys/time.h and grub/machine/time.h.
44165 (grub_get_rtc): Rewritten with gettimeofday.
44166
44167 * util/grub-emu.c (main): Call grub_default_init and
44168 grub_timeout_init before grub_normal_init, and call
44169 grub_timeout_fini and grub_default_fini after grub_main.
44170
44171 * util/console.c (grub_ncurses_checkkey): Return the read
44172 character or -1.
44173
44174 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
44175 timeouts.
44176
44177 * normal/main.c (read_config_file): Push MENU. If this fails,
44178 print an error and wait for a user input.
44179 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
44180 If a menu is empty or an error occurs, pop MENU.
44181 (grub_normal_execute): Pop and free MENU after grub_menu_run
44182 returns.
44183
44184 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
44185
44186 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
44187 include time.h.
44188 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
44189 without GRUB_UTIL.
44190 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
44191 time.h.
44192 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
44193 without GRUB_UTIL.
44194
44195 * include/grub/normal.h (struct grub_menu_list): New struct.
44196 (grub_menu_list_t): New type.
44197 (struct grub_context): New struct.
44198 (grub_context_t): New type.
44199 (grub_register_command): Got rid of EXPORT_FUNC.
44200 (grub_unregister_command): Likewise.
44201 (grub_context_get): New prototype.
44202 (grub_context_get_current_menu): Likewise.
44203 (grub_context_push_menu): Likewise.
44204 (grub_context_pop_menu): Likewise.
44205 [GRUB_UTIL] (grub_default_init): Likewise.
44206 [GRUB_UTIL] (grub_default_fini): Likewise.
44207 [GRUB_UTIL] (grub_timeout_init): Likewise.
44208 [GRUB_UTIL] (grub_timeout_fini): Likewise.
44209
44210 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
44211 commands/timeout.c and normal/context.c.
44212 (pkgdata_MODULES): Added default.mod and timeout.mod.
44213 (normal_mod_SOURCES): Added normal/context.c.
44214 (default_mod_SOURCES): New variable.
44215 (default_mod_CFLAGS): Likewise.
44216 (timeout_mod_SOURCES): Likewise.
44217 (timeout_mod_CFLAGS): Likewise.
44218 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
44219 conf/i386-pc.rmk.
44220 (pkgdata_MODULES): Added default.mod and timeout.mod.
44221 (normal_mod_SOURCES): Added normal/context.c.
44222 (default_mod_SOURCES): New variable.
44223 (default_mod_CFLAGS): Likewise.
44224 (timeout_mod_SOURCES): Likewise.
44225 (timeout_mod_CFLAGS): Likewise.
44226
44227 * Makefile.in (all-local): Added $(MKFILES).
44228
4ed2e1dd 442292005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
44230
44231 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
44232 (grub_emu_SOURCES): Likewise.
44233 (pkgdata_MODULES): Add `sun.mod'.
44234 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
44235 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44236 `partmap/sun.c'.
44237 (pkgdata_MODULES): Add `sun.mod'.
44238 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
44239 * include/grub/partition.h (grub_sun_partition_map_init): New
44240 prototype.
44241 (grub_sun_partition_map_fini): Likewise.
44242 * partmap/sun.c: New file.
44243 * util/grub-emu.c (main): Initialize and de-initialize the sun
44244 partitionmap support.
44245
4d4e372e 442462005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
44247
44248 This implements an Emacs-like menu entry editor.
f19dbdb7 44249
4d4e372e 44250 * normal/menu_entry.c: New file.
f19dbdb7 44251
4d4e372e 44252 * util/console.c (grub_ncurses_putchar): Translate some Unicode
44253 characters to ASCII.
44254 (saved_char): New variable.
44255 (grub_ncurses_checkkey): Rewritten completely.
44256 (grub_ncurses_getkey): Likewise.
44257 (grub_ncurses_init): Call raw instead of cbreak.
44258
44259 * normal/menu.c (print_entry): Do not put a space.
44260 (init_page): Renamed to ...
44261 (grub_menu_init_page): ... this. All callers changed.
44262 (edit_menu_entry): Removed.
44263 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
44264
44265 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
44266
44267 * kern/misc.c (grub_vprintf): Call grub_refresh.
44268
44269 * normal/menu.c (DISP_LEFT): Renamed to ...
44270 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
44271 * normal/menu.c (DISP_UP): Renamed to ...
44272 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
44273 * normal/menu.c (DISP_RIGHT): Renamed to ...
44274 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
44275 * normal/menu.c (DISP_DOWN): Renamed to ...
44276 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
44277 * normal/menu.c (DISP_HLINE): Renamed to ...
44278 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
44279 * normal/menu.c (DISP_VLINE): Renamed to ...
44280 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
44281 * normal/menu.c (DISP_UL): Renamed to ...
44282 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
44283 * normal/menu.c (DISP_UR): Renamed to ...
44284 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
44285 * normal/menu.c (DISP_LL): Renamed to ...
44286 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
44287 * normal/menu.c (DISP_LR): Renamed to ...
44288 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
44289 * normal/menu.c (TERM_WIDTH): Renamed to ...
44290 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
44291 * normal/menu.c (TERM_HEIGHT): Renamed to ...
44292 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
44293 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
44294 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
44295 * normal/menu.c (TERM_MARGIN): Renamed to ...
44296 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
44297 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
44298 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
44299 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
44300 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
44301 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
44302 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
44303 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
44304 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
44305 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
44306 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
44307 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
44308 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
44309 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
44310 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
44311 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
44312 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
44313 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
44314 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
44315 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
44316 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
44317 All callers changed.
44318
44319 * include/grub/normal.h: New prototype.
44320
44321 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44322 normal/menu_entry.c.
44323 (normal_mod_SOURCES): Likewise.
44324 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44325 (normal_mod_SOURCES): Likewise.
44326
e6b92c8a 443272005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
44328
44329 * include/grub/normal.h (grub_halt_init): New prototype.
44330 (grub_halt_fini): Likewise.
44331 (grub_reboot_init): Likewise.
44332 (grub_reboot_fini): Likewise.
44333
44334 * util/grub-emu.c: Include signal.h.
44335 (main_env): New global variable.
44336 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
44337 catch C-c.
44338 (grub_machine_fini): New function.
44339 (main): Call grub_halt_init and grub_reboot_init before
44340 grub_main, and grub_reboot_fini and grub_halt_fini after it.
44341 Call setjmp with MAIN_ENV to go back afterwards.
44342 Call grub_machine_fini right before return.
44343
44344 * include/grub/util/misc.h: Include setjmp.h.
44345 (main_env): New prototype.
44346
44347 * include/grub/kernel.h (grub_machine_fini): New prototype.
44348 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
44349 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
44350
44351 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
44352 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
44353 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 44354
e6b92c8a 44355 * util/i386/pc/misc.c: New file.
f19dbdb7 44356
e6b92c8a 44357 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44358 util/i386/pc/misc.c, commands/i386/pc/halt.c and
44359 commands/i386/pc/reboot.c.
44360
c642636f 443612005-02-14 Guillem Jover <guillem@hadrons.org>
44362
44363 * include/grub/dl.h (grub_dl_check_header): New prototype.
44364 (grub_arch_dl_check_header): Change return type to grub_err_t,
44365 remove size parameter and export function. Update all callers.
44366 * kern/dl.c (grub_dl_check_header): New function.
44367 (grub_dl_load_core): Use `grub_dl_check_header' instead of
44368 `grub_arch_dl_check_header'. Check ELF type. Check if sections
44369 are inside the core.
44370 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
44371 independent ELF header checks.
44372 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
44373 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
44374 `grub_dl_check_header' instead of explicit checks. Check for the
44375 ELF type.
44376 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
44377 `grub_dl_check_header' instead of explicit checks. Remove arch
44378 specific ELF header checks.
44379
e6b92c8a 44380 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
44381 argument SIZE.
44382
5eabe94b 443832005-02-13 Hollis Blanchard <hollis@penguinppc.org>
44384
44385 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
44386 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
44387
1b14a681 443882005-02-12 Hollis Blanchard <hollis@penguinppc.org>
44389
44390 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 44391 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 44392 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 44393 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 44394 * partmap/amiga.c (amiga_partition_map_iterate): Return
44395 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
44396 * partmap/apple.c (apple_partition_map_iterate): Likewise.
44397
aca108aa 443982005-02-01 Guillem Jover <guillem@hadrons.org>
44399
44400 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
44401 help info.
44402
c9f9c556 444032005-01-31 Marco Gerards <metgerards@student.han.nl>
44404
44405 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
44406 Removed prototype.
44407 (grub_rescue_cmd_linux): New prototype.
44408 (grub_rescue_cmd_initrd): Likewise.
44409 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
44410 `bi_rec'.
44411 (grub_linux_release_mem): Release the memory for the initrd.
44412 (grub_load_linux): Renamed from this...
44413 (grub_rescue_cmd_linux): ...To this. Changed all callers.
44414 Changed `entry' not to be static. Loop over memory regions to
44415 find another one when the default fails.
44416 (grub_rescue_cmd_initrd): New function.
44417 (grub_linux_init): Remove function.
44418 (grub_linux_fini): Likewise.
44419 (GRUB_MOD_INIT): Register `initrd'.
44420 (GRUB_MOD_FINI): Unregister `initrd'.
44421 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
44422 Function removed.
44423 (grub_linux_normal_fini): Likewise.
44424 (GRUB_MOD_INIT): Register `initrd'.
44425 (GRUB_MOD_FINI): Unregister `initrd'.
44426
990cf3aa 444272005-01-31 Marco Gerards <metgerards@student.han.nl>
44428
44429 * commands/help.c: New file.
44430 * normal/arg.c (show_help): Renamed to...
44431 (grub_arg_show_help): ... this.
44432 * commands/i386/pc/halt.c: New file.
44433 * commands/i386/pc/reboot.c: Likewise.
44434 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
44435 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
44436 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
44437 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
44438 variables.
44439 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44440 `commands/help.c'.
44441 (pkgdata_MODULES): Add `help.mod'.
44442 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
44443 * grub/i386/pc/init.h (grub_reboot): New prototype.
44444 (grub_halt): Likewise.
44445 * include/grub/normal.h (grub_arg_show_help): New prototype.
44446 (grub_help_init): Likewise.
44447 (grub_help_fini): Likewise.
44448 * util/grub-emu.c (main): Initialize and deinitialize the help
44449 command.
44450
44451 * normal/cmdline.c (grub_cmdline_get): Doc fix.
44452
44453 * normal/command.c (grub_command_init): Fixed the description of
44454 the `set' and `unset' commands.
44455
444562005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 44457
44458 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
44459 function.
44460 * commands/ieee1275/halt.c: New file.
44461 * commands/ieee1275/reboot.c: Likewise.
44462 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
44463 `__attribute__ ((unused))'. Some GCS related fixed.
44464 (grub_suspend_init) [GRUB_UTIL]: Function removed.
44465 (grub_suspend_fini): Likewise.
44466 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
44467 and `halt.mod'.
44468 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
44469 (halt_mod_CFLAGS): New variables.
44470 * include/grub/powerpc/ieee1275/ieee1275.h
44471 (grub_ieee1275_interpret): New prototype.
44472
1ab09cc7 444732005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
44474
44475 * include/grub/misc.h (memmove): New prototype.
44476 (memcpy): Likewise.
44477
8b8cbdb2 444782005-01-22 Hollis Blanchard <hollis@penguinppc.org>
44479
44480 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
44481 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
44482
e3741a27 444832005-01-22 Marco Gerards <metgerards@student.han.nl>
44484
44485 * kern/misc.c (grub_strndup): Function rewritten.
44486
776bd780 444872005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
44488
44489 * normal/menu.c (TERM_WIDTH): Macro redefined.
44490 (TERM_TOP_BORDER_Y): Likewise.
44491 (draw_border): Replaced while-loop by a for-loop. Make the number
44492 of lines consistent with the number of lines displayed in
44493 print_entries. Added a margin below the rectangle.
44494 (print_entry): Make the entry fit in the rectangle.
44495 (print_entries): Display the scroll arrows next to the right
44496 border.
44497
78026bce 444982005-01-21 Marco Gerards <metgerards@student.han.nl>
44499
44500 * fs/minix.c (grub_minix_find_file): Reserve more space for
44501 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
44502 `grub_strncpy' to copy `path' into it.
44503
67bbaf0f 445042005-01-21 Marco Gerards <metgerards@student.han.nl>
44505
44506 Add the loopback device, a device via which files can be accessed
44507 as devices.
f19dbdb7 44508
67bbaf0f 44509 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
44510 (pkgdata_MODULES): Add loopback.mod.
44511 (loopback_mod_SOURCES): New variable.
44512 (loopback_mod_CFLAGS): Likewise.
44513 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44514 `disk/loopback.c'.
44515 (pkgdata_MODULES): Add loopback.mod.
44516 (loopback_mod_SOURCES): New variable.
44517 (loopback_mod_CFLAGS): Likewise.
44518 * disk/loopback.c: new file.
44519 * include/grub/normal.h (grub_loop_init): New prototype.
44520 (grub_loop_fini): New prototype.
44521 * util/grub-emu.c (main): Initialize and de-initialize loopback
44522 support.
44523 * include/grub/disk.h (grub_disk_dev_id): Add
44524 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
44525
6f1c18bd 445262005-01-20 Hollis Blanchard <hollis@penguinppc.org>
44527
44528 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
44529 function.
44530 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
44531 (suspend_mod_SOURCES): New variable.
44532 (suspend_mod_CFLAGS): Likewise.
44533 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
44534 New prototype.
44535 * commands/ieee1275/suspend.c: New file.
44536
b38551da 445372005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44538
44539 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 44540 ((unused))' to `__attribute__ ((used))'.
b38551da 44541 (GRUB_MOD_FINI): Likewise.
44542 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
44543 * genmk.rb (PModule): Assign space to common symbols when linking
44544 modules.
44545
777aff39 445462005-01-20 Marco Gerards <metgerards@student.han.nl>
44547
44548 * include/grub/mm.h (grub_mm_init_region): Change the type of the
44549 `unsigned' arguments to `grub_size_t'.
44550 (grub_malloc): Likewise.
44551 (grub_realloc): Likewise.
44552 (grub_memalign): Likewise.
44553 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
44554 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
44555 * util/misc.c (grub_malloc): Likewise.
44556 (grub_realloc): Likewise.
44557 * kern/mm.c (get_header_from_pointer): Change the casts to
44558 `unsigned' into a cast to `grub_size_t'.
44559
44560 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
44561 point to `currnode' when `currnode' is changed.
44562
44563 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
44564 Schottelius <nico-linux@schottelius.org>.
44565
d0ff18e1 445662005-01-09 Hollis Blanchard <hollis@penguinppc.org>
44567
44568 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
44569 (note_path): Remove variable.
44570 (GRUB_IEEE1275_NOTE_NAME): New macro.
44571 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
44572 (grub_ieee1275_note_hdr): New structure.
44573 (grub_ieee1275_note_desc): Likewise.
44574 (grub_ieee1275_note): Likewise.
44575 (load_note): Remove `dir' argument. All callers updated. Remove
44576 `note_img' and `path'. Do not load a file from `note_path'.
44577 Initialize a struct grub_ieee1275_note and write that to `out'.
44578 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
44579
4ca7004c 445802005-01-05 Marco Gerards <metgerards@student.han.nl>
44581
44582 * util/misc.c (grub_util_read_image): Revert last change. It
44583 called `grub_util_read_at', which seeks from the beginning of the
44584 file.
44585
0b412211 445862005-01-04 Hollis Blanchard <hollis@penguinppc.org>
44587
44588 * TODO: Add note about endianness in grub-mkimage.
44589 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
44590 section.
44591 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
44592 (grub_mkimage_SOURCES): New target.
44593 * include/grub/kernel.h (grub_start_addr): Remove variable.
44594 (grub_end_addr): Likewise.
44595 (grub_total_module_size): Likewise.
44596 (grub_kernel_image_size): Likewise.
44597 (GRUB_MODULE_MAGIC): New constant.
44598 (grub_module_info): New structure.
44599 (grub_arch_modules_addr): New prototype.
44600 (grub_get_end_addr): Remove prototype.
44601 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
44602 * include/grub/powerpc/ieee1275/kernel.h: New file.
44603 * include/grub/util/misc.h (grub_util_get_fp_size): New
44604 prototype.
44605 (grub_util_read_at): Likewise.
44606 (grub_util_write_image_at): Likewise.
44607 * kern/main.c (grub_get_end_addr): Remove function.
44608 (grub_load_modules): Call grub_arch_modules_addr instead of using
44609 grub_end_addr. Look for a grub_module_info struct in memory. Use
44610 the grub_module_info fields instead of calling grub_get_end_addr
44611 as loop conditions. Move grub_add_unused_region code here.
44612 (grub_add_unused_region): Remove function.
44613 * kern/i386/pc/init.c: Include grub/cache.h.
44614 (grub_machine_init): Remove call to grub_get_end_addr. Remove
44615 one call to add_mem_region.
44616 (grub_arch_modules_addr): New function.
44617 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
44618 (grub_total_module_size): Likewise.
44619 Include grub/machine/kernel.h.
44620 (grub_arch_modules_addr): New function.
44621 * util/grub-emu.c (grub_end_addr): Remove variable.
44622 (grub_total_module_size): Likewise.
44623 (grub_arch_modules_addr): New function.
44624 * util/misc.c: Include unistd.h.
44625 (grub_util_get_fp_size): New function.
44626 (grub_util_read_at): Likewise.
44627 (grub_util_write_image_at): Likewise.
44628 (grub_util_read_image): Call grub_util_read_at.
44629 (grub_util_write_image): Call grub_util_write_image_at.
44630 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
44631 additional memory in kernel_img for a struct grub_module_info.
44632 Fill in that grub_module_info.
44633 * util/powerpc/ieee1275/grub-mkimage.c: New file.
44634
458786f8 446352005-01-03 Hollis Blanchard <hollis@penguinppc.org>
44636
44637 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
44638 New function.
44639 * include/grub/powerpc/ieee1275/ieee1275.h
44640 (grub_ieee1275_milliseconds): New prototype.
44641 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
44642 Change to 1000.
44643 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
44644 grub_ieee1275_milliseconds.
44645
ac507d1b 446462005-01-03 Hollis Blanchard <hollis@penguinppc.org>
44647
44648 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
44649 variable.
44650 (find_options): New function.
44651 (cmain): Call find_options.
44652 * include/grub/powerpc/ieee1275/ieee1275.h
44653 (grub_ieee1275_realmode): New extern variable.
44654 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
44655 grub_map if grub_ieee1275_realmode is false.
44656
6b8fd1c4 446572004-12-29 Marco Gerards <metgerards@student.han.nl>
44658
44659 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
44660 lines are inserted and make it work like readline. Reported by
44661 Vincent Pelletier <subdino2004@yahoo.fr>.
44662
8514a1e0 446632004-12-28 Marco Gerards <metgerards@student.han.nl>
44664
44665 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
44666
44667 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
44668 `kern/powerpc/cache.S'.
44669
924b6140 446702004-12-27 Marco Gerards <metgerards@student.han.nl>
44671
44672 * genmk.rb: Handle the `Program' class in the main loop. Written
44673 by Johan Rydberg <jrydberg@gnu.org>.
44674 (Program): New class.
44675 (programs): New variable.
44676 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
44677 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
44678 instead of "grub/kernel.h". Include <grub/machine/init.h>.
44679 (help_arch): Function removed.
44680 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
44681 `powerpc/libgcc.h' and `loader.h'.
44682 (pkgdata_PROGRAMS): New variable.
44683 (sbin_UTILITIES): Variable removed.
44684 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
44685 (grubof_SOURCES): Variable re-defined so it only includes the
44686 core functionality.
44687 (grubof_CFLAGS): Remove `-DGRUBOF'.
44688 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
44689 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
44690 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
44691 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
44692 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
44693 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
44694 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
44695 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
44696 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
44697 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
44698 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
44699 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
44700 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
44701 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
44702 (pc_mod_CFLAGS): New variables.
44703 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
44704 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
44705 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
44706 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
44707 Moved from here...
44708 * include/grub/i386/pc/init.h (grub_os_area_addr)
44709 (rub_os_area_size): ... to here.
44710 * include/grub/powerpc/ieee1275/ieee1275.h
44711 (grub_ieee1275_entry_fn): Export symbol.
44712 * include/grub/powerpc/ieee1275/init.h: New file.
44713 * include/grub/powerpc/libgcc.h: Likewise.
44714 * include/grub/cache.h: Likewise.
44715 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
44716 <hollis@penguinppc.org>.
44717 * kern/dl.c: Include <grub/cache.h>.
44718 (grub_dl_flush_cache): New function.
44719 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
44720 for this module.
44721 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
44722 (grub_console_init): Removed prototypes.
44723 (grub_machine_init): Don't initialize the modules anymore.
44724 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
44725 static.
44726 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
44727 Macro undef removed.
44728 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
44729 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
44730 relocation `R_PPC_REL32'. Return an error when the relocation is
44731 unknown.
44732 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
44733 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
44734 * util/misc.c (grub_arch_sync_caches): Likewise.
44735
e4b47e0c 447362004-12-19 Marco Gerards <metgerards@student.han.nl>
44737
44738 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
44739 `symlist.c', add `grubof_symlist.c'.
44740 (symlist.c): Variable removed.
44741 (grubof_HEADERS): Variable added.
44742 (grubof_symlist.c): New target.
44743 (kernel_syms.lst): Use `grubof_HEADERS' instead of
44744 `kernel_img_HEADERS'.
44745 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
44746 * kern/powerpc/dl.c: New file.
44747 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
44748 Function removed.
44749 (grub_arch_dl_relocate_symbols): Likewise.
44750 (grub_register_exported_symbols): Likewise.
44751
4ceb3636 447522004-12-13 Marco Gerards <metgerards@student.han.nl>
44753
44754 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
44755 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
44756 to fail instead. Reported by Vincent Pelletier
44757 <subdino2004@yahoo.fr>.
44758
44759 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
44760 it is not allocated. Reported by Vincent Pelletier
44761 <subdino2004@yahoo.fr>.
44762
44763 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
44764 output so the output looks better.
f19dbdb7 44765
3f1578fe 447662004-12-04 Marco Gerards <metgerards@student.han.nl>
44767
44768 Modulize the partition map support and add support for the amiga
44769 partition map.
f19dbdb7 44770
3f1578fe 44771 * commands/ls.c: Include <grub/partition.h> instead of
44772 <grub/machine/partition.h>.
44773 * kern/disk.c: Likewise.
44774 * kern/rescue.c: Likewise.
44775 * loader/i386/pc/chainloader.c: Likewise.
44776 * normal/cmdline.c: Likewise.
44777 * kern/powerpc/ieee1275/init.c: Likewise.
44778 (grub_machine_init): Call `grub_pc_partition_map_init',
44779 `grub_amiga_partition_map_init' and
44780 `grub_apple_partition_map_init'.
44781 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
44782 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
44783 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
44784 `partition.h' and `pc_partition.h'.
44785 (grub_setup_SOURCES): Remove
44786 `disk/i386/pc/partition.c'. Add `kern/partition.c',
44787 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
44788 (grub_emu_SOURCES): Likewise.
44789 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
44790 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
44791 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
44792 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
44793 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
44794 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
44795 (grubof_SOURCES): Likewise.
44796 * disk/i386/pc/partition.c: File removed.
44797 * disk/powerpc/ieee1275/partition.c: Likewise.
44798 * include/grub/powerpc/ieee1275/partition.h: Likewise.
44799 * include/grub/i386/pc/partition.h: Likewise.
44800 * kern/partition.c: New file.
44801 * partmap/amiga.c: Likewise.
44802 * partmap/apple.c: Likewise.
44803 * partmap/pc.c: Likewise.
44804 * include/grub/partition.h: Likewise..
44805 * include/grub/pc_partition.h: Likewise.
44806 * util/grub-emu.c: Include <grub/partition.h> instead of
44807 <grub/machine/partition.h>.
44808 (main): Call `grub_pc_partition_map_init',
44809 `grub_amiga_partition_map_init' and
44810 `grub_apple_partition_map_init' and deinitialize afterwards.
44811 * util/i386/pc/biosdisk.c: Include `#include
44812 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
44813 `<grub/machine/partition.h>'.
44814 * util/i386/pc/grub-setup.c: Likewise.
44815 * util/i386/pc/biosdisk.c: Likewise.
44816 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
44817 partition information in case of a PC partition.
44818 * util/i386/pc/grub-setup.c: Include `#include
44819 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
44820 `<grub/machine/partition.h>'.
44821 (setup): Only access the PC specific partition information in case
44822 of a PC partition.
44823
0ef4ced9 448242004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 44825
0ef4ced9 44826 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
44827 (grub_longjmp): Likewise.
44828 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
44829 20.
44830 * normal/powerpc/setjmp.S: New file.
44831 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
44832 `normal/powerpc/setjmp.S'.
44833 (grubof_CFLAGS): Add `-DGRUBOF'.
44834 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
44835 [GRUB_UTIL && !GRUBOF].
f19dbdb7 44836
19950e29 448372004-11-16 Marco Gerards <metgerards@student.han.nl>
44838
44839 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
44840 property named `name'. Correctly handle the error returned by
44841 `grub_ieee1275_finddevice' if a device can not be opened.
44842
a2fea427 448432004-11-02 Hollis Blanchard <hollis@penguinppc.org>
44844
44845 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
44846 `actual' for negativity.
44847 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
44848 kern/fshelp.c.
44849
41ea0ea3 448502004-11-01 Marco Gerards <metgerards@student.han.nl>
44851
44852 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
44853 (PAGE_OFFSET): New macro.
44854 (CRTC_ADDR_PORT): Likewise.
44855 (CRTC_DATA_PORT): Likewise.
44856 (START_ADDR_HIGH_REGISTER): Likewise.
44857 (START_ADDR_LOW_REGISTER): Likewise.
44858 (GRAPHICS_ADDR_PORT): Likewise.
44859 (GRAPHICS_DATA_PORT): Likewise.
44860 (READ_MAP_REGISTER): Likewise.
44861 (INPUT_STATUS1_REGISTER): Likewise.
44862 (INPUT_STATUS1_VERTR_BIT): Likewise.
44863 (page): New variable.
44864 (wait_vretrace): New function.
44865 (set_read_map): Likewise.
44866 (set_start_address): Likewise.
44867 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
44868 the right page.
44869 (check_vga_mem): Take the page into account.
44870 (write_char): Likewise.
44871 (write_cursor): Likewise.
44872 (scroll_up): Likewise. Copy the page to the page that is not
44873 shown and switch between both pages.
44874 (grub_vga_putchar): Fix off by one error.
44875 (grub_vga_cls): Wait for the vertical retrace. Take the page into
44876 account.
44877
ad0bd20b 448782004-11-01 Marco Gerards <metgerards@student.han.nl>
44879
44880 Add support for iso9660 (including rockridge).
f19dbdb7 44881
ad0bd20b 44882 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
44883 (iso9660_mod_SOURCES): New variable.
44884 (iso9660_mod_CFLAGS): Likewise.
44885 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
44886 * include/grub/fs.h (grub_iso9660_init): New prototype.
44887 * util/grub-emu.c (main): Call `grub_iso9660_init'.
44888 * fs/iso9660.c: New file.
44889
44890 * include/grub/misc.h (grub_strncat): New prototype.
44891 * kern/misc.c (grub_strncat): New function.
f19dbdb7 44892
ad0bd20b 44893 * fs/hfs.c (grub_hfs_mount): Translate the error
44894 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
44895 * fs/jfs.c (grub_jfs_mount): Likewise.
44896 * fs/ufs.c (grub_ufs_mount): Likewise.
44897
a5477a59 448982004-10-28 Hollis Blanchard <hollis@penguinppc.org>
44899
44900 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
44901 which initialized BAT registers.
44902 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
44903 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
44904 Move from here...
44905 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
44906 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
44907 ... to here.
44908 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
44909 (grub_mapclaim): Likewise.
44910 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
44911 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
44912 hand.
44913
9304c1f8 449142004-10-19 Hollis Blanchard <hollis@penguinppc.org>
44915
44916 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
44917 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
44918 -ffreestanding and -msoft-float.
44919
86f4ae25 449202004-10-15 Hollis Blanchard <hollis@penguinppc.org>
44921
44922 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
44923 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
44924 set in grub_ieee1275_flags.
44925
38912228 449262004-10-14 Hollis Blanchard <hollis@penguinppc.org>
44927
44928 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
44929 prototype.
44930 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
44931 grub_console_init first.
44932 Change the memory range used for grub_ieee1275_claim and
44933 grub_mm_init_region.
44934 Print an error message if the claim fails.
44935 Include <grub/misc.h>.
44936
d1923dc8 449372004-10-13 Hollis Blanchard <hollis@penguinppc.org>
44938
44939 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
44940 Call grub_children_iterate for device nodes of type `scsi',
44941 `ide', or `ata'.
44942 (grub_ofdisk_open): Remove manual device alias resolution.
44943 Fix memory leak when device cannot be opened.
f19dbdb7 44944 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 44945 (grub_children_iterate): New prototype.
44946 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
44947 New function.
44948 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
44949 Return -1 if args.size was -1.
44950
4512e4f3 449512004-10-11 Hollis Blanchard <hollis@penguinppc.org>
44952
44953 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
44954 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
44955 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
44956 Open Firmware's memory for it; claim memory from _start to _end.
44957 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
44958 (_end): New extern.
44959 (_start): Zero BSS from __bss_start to _end.
44960 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
44961 New extern.
44962 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
44963
4d61feb0 449642004-10-11 Hollis Blanchard <hollis@penguinppc.org>
44965
ad0bd20b 44966 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
44967 -1 if args.base was -1.
4d61feb0 44968
026fa2f9 449692004-10-08 Hollis Blanchard <hollis@penguinppc.org>
44970
44971 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
44972 escape sequence instead of a literal ^L. Also call
44973 grub_ofconsole_gotoxy.
44974
9f2220ef 449752004-10-03 Hollis Blanchard <hollis@penguinppc.org>
44976
44977 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
44978 void * arguments to grub_addr_t. All callers updated. Also make
44979 the `result' argument optional.
44980 (grub_ieee1275_release): change void * arguments to grub_addr_t.
44981 All callers updated.
44982
8a572cd7 449832004-09-22 Hollis Blanchard <hollis@penguinppc.org>
44984
44985 * commands/ls.c (grub_ls_list_files): Use the string following the
44986 initial ')', if present, as the filesystem path.
44987 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
44988
44989 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
44990
18aa81f2 449912004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
44992
44993 Make the source code of the menu interface more readable.
f19dbdb7 44994
18aa81f2 44995 * normal/menu.c: Include grub/mm.h.
44996 (TERM_WIDTH): New macro.
44997 (TERM_HEIGHT): Likewise.
44998 (TERM_INFO_HEIGHT): Likewise.
44999 (TERM_MARGIN): Likewise.
45000 (TERM_SCROLL_WIDTH): Likewise.
45001 (TERM_TOP_BORDER_Y): Likewise.
45002 (TERM_LEFT_BORDER_X): Likewise.
45003 (TERM_BORDER_WIDTH): Likewise.
45004 (TERM_MESSAGE_HEIGHT): Likewise.
45005 (TERM_BORDER_HEIGHT): Likewise.
45006 (TERM_NUM_ENTRIES): Likewise.
45007 (TERM_FIRST_ENTRY_Y): Likewise.
45008 (TERM_ENTRY_WIDTH): Likewise.
45009 (TERM_CURSOR_X): Likewise.
45010 (draw_border): Use macros instead of magic numbers.
45011 (print_entry): Likewise.
45012 (print_entries): Likewise.
45013 (run_menu): Likewise. Also, handle the key 'e'.
45014 (run_menu_entry): Ignore empty command lines.
45015 (print_message): Added a new argument EDIT. If EDIT is true,
45016 print a different message.
45017 (init_page): Likewise.
45018 (edit_menu_entry): New function. Not implemented yet.
45019
b47efe30 450202004-09-17 Marco Gerards <metgerards@student.han.nl>
45021
45022 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
45023 can be loaded from normal mode.
f19dbdb7 45024
b47efe30 45025 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
45026 `multiboot.mod'.
45027 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
45028 (multiboot_mod_CFLAGS): New variables.
45029 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 45030 * loader/i386/pc/multiboot_normal.c: Likewise.
45031
b47efe30 45032 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
45033 attribute `unused'.
f19dbdb7 45034
b47efe30 45035 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
45036 `fdiro' to read the mode information from instead of `diro'.
45037
45038 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
45039 looking up a symlink.
45040
45041 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
45042 macro.
45043 * normal/command.c (grub_command_execute): Don't parse the
45044 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
45045 flags of the command.
45046
45047 * normal/menu.c (grub_menu_run): Fix typo.
45048
da75ac71 450492004-09-14 Hollis Blanchard <hollis@penguinppc.org>
45050
45051 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
45052
45053 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
45054 `y + 1' instead of `y - 1'.
45055
45056 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 45057
062b24c2 450582004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
45059
45060 From Hollis Blanchard <hollis@penguinppc.org>:
45061 * kern/misc.c (memmove): New alias for grub_memmove.
45062 (memcmp): New alias for grub_memcmp.
45063 (memset): New alias for grub_memset.
f19dbdb7 45064 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 45065 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 45066 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 45067 (grub_ieee1275_get_property): Likewise.
f19dbdb7 45068
8ddad845 450692004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
45070
45071 Added normal mode command `chainloader' as module chain.mod, which
45072 depends on normal.mod and _chain.mod.
f19dbdb7 45073
8ddad845 45074 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
45075 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
45076 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
45077 Deleted prototype.
45078 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
45079 but arguments parsing moved to ...
45080 (grub_chainloader_cmd): ... here. New function.
45081 * include/grub/i386/pc/chainloader.h: New file.
45082 * loader/i386/pc/chainloader_normal.c: Likewise.
45083
2c1f4ce3 450842004-09-11 Marco Gerards <metgerards@student.han.nl>
45085
45086 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
45087 (grub_mkimage_LDFLAGS): Likewise.
45088 (grub_emu_SOURCES): Likewise.
45089 (kernel_img_HEADERS): Added fshelp.h.
45090 * fs/ext2.c: Include <grub/fshelp.h>.
45091 (FILETYPE_REG): New macro.
45092 (FILETYPE_INO_REG): Likewise.
45093 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
45094 Changed all users.
45095 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
45096 all users.
45097 (grub_fshelp_node): New struct.
45098 (grub_ext2_data): Added member `diropen'. Changed member `inode'
45099 to a pointer.
45100 (grub_ext2_get_file_block): Removed function.
45101 (grub_ext2_read_block): New function.
45102 (grub_ext2_read_file): Replaced parameter `data' by `node'.
45103 This function was written.
45104 (grub_ext2_mount): Read the root inode. Create a diropen struct.
45105 (grub_ext2_find_file): Removed function.
45106 (grub_ext2_read_symlink): New function.
45107 (grub_ext2_iterate_dir): Likewise.
45108 (grub_ext2_open): Rewritten.
45109 (grub_ext2_dir): Rewritten.
45110 * include/grub/fshelp.h: New file.
45111 * fs/fshelp.c: Likewise.
45112
3c52136a 451132004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
45114
45115 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
45116 (print_message): Add a missing newline.
45117 (run_menu): Added timeout support.
45118 (run_menu_entry): New local function.
45119 (grub_menu_run): Added support for booting.
45120
45121 * kern/loader.c (grub_loader_is_loaded): New function.
45122
45123 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
45124 (grub_get_rtc): Exported.
45125
45126 * include/grub/i386/pc/time.h: Include grub/symbol.h.
45127 (grub_get_rtc): Exported.
45128
45129 * include/grub/normal.h (struct grub_command_list): Remove
45130 constant from the member `command'.
45131
45132 * include/grub/loader.h (grub_loader_is_loaded): Declared.
45133
45134 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
45135
45136 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
45137
aa033560 451382004-08-28 Marco Gerards <metgerards@student.han.nl>
45139
45140 Add support for the JFS filesystem.
45141
45142 * fs/jfs.c: New file.
45143 * include/grub/fs.h (grub_jfs_init): New prototype.
45144 (grub_jfs_fini): New prototype.
45145 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
45146 (grub_emu_SOURCES): Likewise.
45147 (pkgdata_MODULES): Add jfs.mod.
45148 (jfs_mod_SOURCES): New variable.
45149 (jfs_mod_CFLAGS): Likewise.
45150 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
45151 (grubof_SOURCES): Likewise.
45152 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
45153
45154 * fs/fat.c (grub_fat_find_dir): Convert the filename little
45155 endian to the host endian.
45156 (grub_fat_utf16_to_utf8): Move function from there...
45157 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 45158 the endianness of the source string anymore.
aa033560 45159 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
45160
94bc45af 451612004-08-24 Marco Gerards <metgerards@student.han.nl>
45162
45163 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
45164 (grub_boot_fini) [GRUB_UTIL]: Likewise.
45165 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
45166 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 45167
94bc45af 45168 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
45169 (grub_hfs_iterate_dir): Make the function static. Add prototypes
45170 for `node_found' and `it_dir'.
45171 (grub_hfs_dir): Add prototype for `dir_hook'.
45172
45173 * fs/minix.c (grub_minix_get_file_block): Add prototype for
45174 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
45175 and `indir32' to silence a gcc warning.
45176
45177 * include/grub/fs.h (grub_hfs_init): New prototype.
45178 (grub_hfs_fini): Likewise.
f19dbdb7 45179
45180
97543f08 451812004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
45182
45183 Each disk device has its own id now. This is useful to make use
45184 of multiple disk devices.
f19dbdb7 45185
97543f08 45186 * include/grub/disk.h (grub_disk_dev_id): New enum.
45187 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
45188 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
45189
45190 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
45191 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
45192
45193 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
45194 GRUB_DISK_DEVICE_OFDISK_ID as an id.
45195
45196 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
45197 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
45198
45199 * include/grub/disk.h (struct grub_disk_dev): Added a new member
45200 "id" which is used by the cache manager.
45201
45202 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
45203 of just "GRUB".
45204
64372eb4 452052004-08-18 Marco Gerards <metgerards@student.han.nl>
45206
45207 * fs/hfs.c: New file.
45208 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
45209 (grub_emu_SOURCES): Likewise.
45210 (pkgdata_MODULES): Add hfs.mod.
45211 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
45212 (grubof_SOURCES): Likewise.
45213 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
45214
45215 * include/grub/misc.h (grub_strncasecmp): Add prototype.
45216 * kern/misc.c (grub_strncasecmp): Add function.
45217
cc61b58f 452182004-08-14 Marco Gerards <metgerards@student.han.nl>
45219
45220 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
45221 with parentheses.
45222
45223 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
45224 (grub_ext2_dir): In case the directory entry type is unknown, read
45225 it from the inode.
45226
0ef123f6 452272004-08-02 Peter Bruin <pjbruin@dds.nl>
45228
45229 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
45230 grub_load_linux instead of grub_rescue_cmd_linux as second
45231 argument of grub_rescue_register_command.
45232
45233 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
45234
a447c5df 452352004-07-27 Marco Gerards <metgerards@student.han.nl>
45236
45237 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
45238 function.
45239 * commands/boot.c: Remove the check for `GRUB_UTIL'.
45240 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
45241 `loader/powerpc/ieee1275/linux.c',
45242 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
45243 * include/grub/powerpc/ieee1275/ieee1275.h
45244 (grub_ieee1275_release): New prototype.
45245 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
45246 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
45247 normal, boot, linux and linux_normal.
45248 * loader/powerpc/ieee1275/linux.c: New file.
45249 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
45250
5a9e3546 452512004-07-12 Marco Gerards <metgerards@student.han.nl>
45252
45253 * normal/arg.c (grub_arg_parse): Correct error handling after
45254 reallocating the argumentlist (check if `argl' is not null instead
45255 of checking if `args' is not null).
45256 * kern/mm.c (grub_realloc): Return the same pointer when using the
45257 same region, instead of returning the header address.
45258
e15199cb 452592004-07-11 Marco Gerards <metgerards@student.han.nl>
45260
45261 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
45262 one block instead of two when looking for the initial partition.
45263 (grub_partition_probe): Initialize the local variable `p' with 0.
45264 Use base 10 for the grub_strtoul call.
45265 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
45266 need for one local variable.
45267 (grub_strtoul): Don't add the new value to `num', instead of that
45268 just assign it.
45269
020616c2 452702004-07-11 Marco Gerards <metgerards@student.han.nl>
45271
45272 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
45273 (pxeboot_img_SOURCES): New variable.
45274 (pxeboot_img_ASFLAGS): Likewise.
45275 (pxeboot_img_LDFLAGS): Likewise.
45276 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
45277 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
45278 <lode_leroy@hotmail.com>.
45279
6c51eb64 452802004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45281
45282 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
45283 there was no input.
45284
cfb12aff 452852004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45286
45287 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
45288 the history buffer logic.
45289
6eabba74 452902004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45291
45292 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
45293 (FILETYPE_INO_SYMLINK): New macros.
45294 (grub_ext2_find_file): Check if the node is a directory using the
45295 inode stat information instead of using the filetype in the
45296 dirent. Exclude the first character of an absolute symlink.
45297 (grub_ext2_dir): Mask out the filetype part of the mode member of
45298 the inode.
45299
66e19ef8 453002004-05-24 Marco Gerards <metgerards@student.han.nl>
45301
45302 Add support for UFS version 1 and 2. Add support for the minix
45303 filesystem version 1 and 2, both the variants with 14 and 30 long
45304 filenames.
f19dbdb7 45305
66e19ef8 45306 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
45307 fs/minix.c.
45308 (grub_emu_SOURCES): Likewise.
45309 (pkgdata_MODULES): Add ufs.mod and minix.mod.
45310 (ufs_mod_SOURCES): New variable.
45311 (ufs_mod_CFLAGS): Likewise.
45312 (minix_mod_SOURCES): Likewise.
45313 (minix_mod_CFLAGS): Likewise.
45314 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
45315 fs/minix.c.
45316 (grubof_SOURCES): Likewise.
45317 * fs/ufs.c: New file.
45318 * fs/minix.c: New file.
45319 * include/grub/fs.h (grub_ufs_init): New prototype.
45320 (grub_ufs_fini): Likewise.
45321 (grub_minix_init): Likewise.
45322 (grub_minix_fini): Likewise.
45323 * util/grub-emu.c (main): Initialize and deinitialize UFS and
45324 minix fs.
45325
cc2e748a 453262004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
45327
45328 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
45329 commands/ls.c, commands/terminal.c, commands/boot.c,
45330 commands/cmp.c and commands/cat.c.
45331 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
45332
45333 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
45334 "env.h"
45335
4b13b216 453362004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
45337
45338 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
45339 and grub_, respectively. Because the conversion is trivial and
45340 mechanical, I omit the details here. Please refer to the CVS
45341 if you need more information.
45342
6a142551 453432004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
45344
45345 * include/pupa: Renamed to ...
45346 * include/grub: ... this.
45347 * util/i386/pc/pupa-mkimage.c: Renamed to ...
45348 * util/i386/pc/grub-mkimage.c: ... this.
45349 * util/i386/pc/pupa-setup.c: Renamed to ...
45350 * util/i386/pc/grub-setup.c: ... this.
45351 * util/pupa-emu.c: Renamed to ...
45352 * util/grub-emu.c: ... this.
45353
e56cdf21 453542004-03-29 Marco Gerards <metgerards@student.han.nl>
45355
45356 Add support for the newworld apple macintosh (PPC). This has been
45357 tested on the powerbook 2000 only. It only adds support for
45358 generic ieee1275 functions, console and disk support. This should
45359 be easy to port to other architectures with support for Open
45360 Firmware.
f19dbdb7 45361
e56cdf21 45362 * configure.ac: Accept the powerpc as host_cpu. In the case of
45363 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
45364 specific tests are only executed while building for the i386.
45365 Inverse test for crosscompile.
45366 * genmk.rb (Utility): Allow assembler files.
45367 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
45368 * conf/powerpc-ieee1275.rmk: New file.
45369 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
45370 * disk/powerpc/ieee1275/partition.c: Likewise.
45371 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
45372 * include/pupa/powerpc/ieee1275/console.h: Likewise.
45373 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
45374 * include/pupa/powerpc/ieee1275/time.h: Likewise.
45375 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
45376 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
45377 * include/pupa/powerpc/ieee1275/loader.h
45378 * include/pupa/powerpc/setjmp.h: Likewise.
45379 * include/pupa/powerpc/types.h: Likewise.
45380 * kern/powerpc/ieee1275/init.c: Likewise.
45381 * kern/powerpc/ieee1275/openfw.c: Likewise.
45382 * term/powerpc/ieee1275/ofconsole.c: Likewise.
45383
45384 These files were written by Johan Rydberg
45385 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 45386
e56cdf21 45387 * boot/powerpc/ieee1275/cmain.c: New file.
45388 * boot/powerpc/ieee1275/crt0.S: Likewise.
45389 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
45390 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
45391
8c8cc205 453922004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
45393
45394 * Makefile.in: Update copyright.
45395 * genmodsrc.sh: Likewise.
45396 * gensymlist.sh: Likewise.
45397 * term/i386/pc/vga.c: Indent correctly.
45398
45399 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
45400 bugreporting address.
45401 * util/i386/pc/pupa-setup.c (usage): Likewise,
45402 (main): Call pupa_ext2_init and pupa_ext2_fini.
45403
f19dbdb7 45404 * fs/fat.c (log2): Renamed to ...
8c8cc205 45405 (fat_log2): ... this.
45406 All callers changed.
45407 * kern/misc.c (memcpy): Alias to pupa_memmove.
45408 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
45409 lvalue cast.
45410 * util/console.c (pupa_ncurses_fini): Return 0.
45411
45412 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
45413 Move fail label here.
45414 [__GNU__]: Don't warn when using stat.
45415 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
45416 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
45417 long int. Use strtol instead of strtoul.
f19dbdb7 45418
db1771cf 454192004-03-14 Marco Gerards <metgerards@student.han.nl>
45420
45421 * commands/boot.c: New file.
45422 * commands/cat.c: Likewise.
45423 * commands/cmp.c: Likewise.
45424 * commands/ls.c: Likewise.
45425 * commands/terminal.c: Likewise.
45426 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
45427 (pupa_register_command): Changed interface to match the new
45428 argument parser.
45429 (pupa_command_execute): Changed (almost rewritten) so it uses
45430 pupa_split_command. Added support for setting variables using the
45431 syntax `foo=bar'.
45432 (rescue_command): Changed to work with the new argument parser.
45433 (terminal_command): Moved from here to commands/terminal.c.
45434 (set_command): New function.
45435 (unset_command): New function.
45436 (insmod_command): New function.
45437 (rmmod_command): New function.
45438 (lsmod_command): New function.
45439 (pupa_command_init): Don't initialize the command terminal
45440 anymore. Initialize the commands set, unset, insmod, rmmod and
45441 lsmod.
45442 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
45443 (kernel_img_HEADERS): Add arg.h and env.h.
45444 (pupa_mkimage_LDFLAGS): Add kern/env.c.
45445 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
45446 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
45447 normal/arg.c.
45448 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
45449 terminal.mod.
45450 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
45451 (boot_mod_SOURCES): New variable.
45452 (terminal_mod_SOURCES): Likewise.
45453 (ls_mod_SOURCES): Likewise.
45454 (cmp_mod_SOURCES): Likewise.
45455 (cat_mod_SOURCES): Likewise.
45456
45457 * normal/arg.c: New file.
45458 * kern/env.c: Likewise.
45459 * include/pupa/arg.h: Likewise.
45460 * include/pupa/env.h: Likewise.
45461 * font/manager.c (font_command): Changed to match argument parsing
45462 interface changes.
45463 (PUPA_MOD_INIT): Likewise.
45464 * hello/hello.c (pupa_cmd_hello): Likewise.
45465 (PUPA_MOD_INIT): Likewise.
45466 * include/pupa/disk.h: Include <pupa/device.h>.
45467 (pupa_print_partinfo): New prototype.
45468 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
45469 (pupa_dl_get_prefix): Likewise.
45470 * include/pupa/misc.h: Include <pupa/err.h>.
45471 (pupa_isgraph): New prototype.
45472 (pupa_isdigit): Likewise.
45473 (pupa_split_cmdline): Likewise.
45474 * include/pupa/normal.h: Include <pupa/arg.h>.
45475 (pupa_command): Changed the prototype of the member `func' to
45476 match the argument parsing interface. Added member `options'.
45477 (pupa_register_command): Updated to match function.
45478 (pupa_arg_parse): New prototype.
45479 (pupa_hello_init) [PUPA_UTIL]: New prototype.
45480 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
45481 (pupa_ls_init) [PUPA_UTIL]: Likewise.
45482 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
45483 (pupa_cat_init) [PUPA_UTIL]: Likewise.
45484 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
45485 (pupa_boot_init) [PUPA_UTIL]: Likewise.
45486 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
45487 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
45488 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
45489 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
45490 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
45491 * kern/disk.c: Include <pupa/file.h>.
45492 (pupa_print_partinfo): New function.
45493 * kern/dl.c: Include <pupa/env.h>.
45494 (pupa_dl_dir): Variable removed.
45495 (pupa_dl_load): Use the environment variable `prefix' instead of
45496 the variable pupa_dl_dir.
45497 (pupa_dl_set_prefix): Function removed.
45498 (pupa_dl_get_prefix): Likewise.
45499 * kern/i386/pc/init.c: Include <pupa/env.h>.
45500 (pupa_machine_init): Use the environment variable `prefix' instead of
45501 using pupa_dl_set_prefix to set the prefix.
45502 * kern/main.c: Include <pupa/env.h>.
45503 (pupa_set_root_dev): Use the environment variable `prefix' instead of
45504 using pupa_dl_get_prefix to get the prefix.
45505 * kern/misc.c: Include <pupa/env.h>.
45506 (pupa_isdigit): New function.
45507 (pupa_isgraph): Likewise.
45508 (pupa_ftoa): Likewise.
45509 (pupa_vsprintf): Added support for printing values of the type
45510 `double'. Make it possible to format variable output when using
45511 formatting like `%1.2%f'.
45512 (pupa_split_cmdline): New function.
45513 * kern/rescue.c: Include <pupa/env.h>.
45514 (next_word): Removed function.
45515 (pupa_rescue_cmd_prefix): Likewise.
45516 (pupa_rescue_cmd_set): New function.
45517 (pupa_rescue_cmd_unset): New function.
45518 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
45519 split the command line instead of splitting it here. Added
45520 support for setting variables using the syntax `foo=bar'. Don't
45521 initialize the prefix command anymore. Initialized the set and
45522 unset commands.
45523 * normal/cmdline.c: Include <pupa/env.h>.
45524 (pupa_tab_complete): Added prototypes for print_simple_completion,
45525 print_partition_completion, add_completion, iterate_commands,
45526 iterate_dev, iterate_part and iterate_dir. Moved code to print
45527 partition information from here to kern/disk.c.
fe6b695a 45528 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 45529 * normal/main.c: Include <pupa/env.h>.
45530 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
45531 instead of using pupa_dl_get_prefix to get the prefix.
45532 * term/i386/pc/vga.c: Include <pupa/arg.h>.
45533 (check_vga_mem): Cast pointers to `void *' to silence a gcc
45534 warning.
45535 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
45536 (pupa_vga_setcolor): Declare unused variables with `__attribute__
45537 ((unused))' to silence a gcc warning.
45538 (pupa_vga_setcolor): Likewise.
45539 (debug_command): Changed to match argument parsing
45540 interface changes.
45541 * util/pupa-emu.c: Include <pupa/env.h>.
45542 (options): Added 0's for unused fields to silence a gcc warning.
45543 (argp): Likewise.
45544 (main): Use the environment variable `prefix' instead of using
45545 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
45546 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
45547 and terminal.
45548
45549 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
45550 * util/misc.c: Include <malloc.h>.
45551 (pupa_malloc): Rewritten so errors are correctly reported.
45552 (pupa_realloc): Likewise.
45553 (pupa_memalign): Likewise.
45554 (pupa_mm_init_region): Declare unused variables with
45555 `__attribute__ ((unused))' to silence a gcc warning.
45556 * normal/i386/setjmp.S: Remove tab at the end of the file to
45557 silence a gcc warning.
45558 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
45559 variables with `__attribute__ ((unused))' to silence a gcc
45560 warning.
45561 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
45562 local variable i unsigned to silence a gcc warning.
45563
45564 * kern/term.c: Include <pupa/misc.h>.
45565 (pupa_more_lines): New variable.
45566 (pupa_more): Likewise.
45567 (pupa_putcode): When the pager is active pause at the end of every
45568 screen.
45569 (pupa_set_more): New function.
45570 * include/pupa/term.h (pupa_set_more): New prototype.
45571
45572
3b1139cb 455732004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
45574
45575 Now this project is GRUB 2 rather than PUPA. The location of
45576 the CVS repository was moved to GRUB's.
f19dbdb7 45577
3b1139cb 45578 * configure.ac: Use bug-grub as the reporting address.
45579 Use GRUB instead of PUPA.
45580 Change the version number to 1.90.
45581
8367695c 455822004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
45583
45584 * genkernsyms.sh: Updated copyright information.
45585 * genmk.rb: Likewise.
45586 * genmodsrc.sh: Likewise.
45587 * gensymlist.sh: Likewise.
45588 * boot/i386/pc/boot.S: Likewise.
45589 * boot/i386/pc/diskboot.S: Likewise.
45590 * disk/i386/pc/biosdisk.c: Likewise.
45591 * disk/i386/pc/partition.c: Likewise.
45592 * font/manager.c: Likewise.
45593 * fs/ext2.c: Likewise.
45594 * fs/fat.c: Likewise.
45595 * include/pupa/boot.h: Likewise.
45596 * include/pupa/device.h: Likewise.
45597 * include/pupa/disk.h: Likewise.
45598 * include/pupa/dl.h: Likewise.
45599 * include/pupa/elf.h: Likewise.
45600 * include/pupa/err.h: Likewise.
45601 * include/pupa/file.h: Likewise.
45602 * include/pupa/font.h: Likewise.
45603 * include/pupa/fs.h: Likewise.
45604 * include/pupa/kernel.h: Likewise.
45605 * include/pupa/loader.h: Likewise.
45606 * include/pupa/misc.h: Likewise.
45607 * include/pupa/mm.h: Likewise.
45608 * include/pupa/net.h: Likewise.
45609 * include/pupa/normal.h: Likewise.
45610 * include/pupa/rescue.h: Likewise.
45611 * include/pupa/setjmp.h: Likewise.
45612 * include/pupa/symbol.h: Likewise.
45613 * include/pupa/term.h: Likewise.
45614 * include/pupa/types.h: Likewise.
45615 * include/pupa/i386/setjmp.h: Likewise.
45616 * include/pupa/i386/types.h: Likewise.
45617 * include/pupa/i386/pc/biosdisk.h: Likewise.
45618 * include/pupa/i386/pc/boot.h: Likewise.
45619 * include/pupa/i386/pc/console.h: Likewise.
45620 * include/pupa/i386/pc/init.h: Likewise.
45621 * include/pupa/i386/pc/kernel.h: Likewise.
45622 * include/pupa/i386/pc/linux.h: Likewise.
45623 * include/pupa/i386/pc/loader.h: Likewise.
45624 * include/pupa/i386/pc/memory.h: Likewise.
45625 * include/pupa/i386/pc/multiboot.h: Likewise.
45626 * include/pupa/i386/pc/partition.h: Likewise.
45627 * include/pupa/i386/pc/time.h: Likewise.
45628 * include/pupa/i386/pc/vga.h: Likewise.
45629 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
45630 * include/pupa/util/getroot.h: Likewise.
45631 * include/pupa/util/misc.h: Likewise.
45632 * include/pupa/util/resolve.h: Likewise.
45633 * kern/device.c: Likewise.
45634 * kern/disk.c: Likewise.
45635 * kern/dl.c: Likewise.
45636 * kern/err.c: Likewise.
45637 * kern/file.c: Likewise.
45638 * kern/fs.c: Likewise.
45639 * kern/loader.c: Likewise.
45640 * kern/main.c: Likewise.
45641 * kern/misc.c: Likewise.
45642 * kern/mm.c: Likewise.
45643 * kern/rescue.c: Likewise.
45644 * kern/term.c: Likewise.
45645 * kern/i386/dl.c: Likewise.
45646 * kern/i386/pc/init.c: Likewise.
45647 * kern/i386/pc/lzo1x.S: Likewise.
45648 * kern/i386/pc/startup.S: Likewise.
45649 * loader/i386/pc/chainloader.c: Likewise.
45650 * loader/i386/pc/linux.c: Likewise.
45651 * loader/i386/pc/multiboot.c: Likewise.
45652 * normal/cmdline.c: Likewise.
45653 * normal/command.c: Likewise.
45654 * normal/main.c: Likewise.
45655 * normal/menu.c: Likewise.
45656 * normal/i386/setjmp.S: Likewise.
45657 * term/i386/pc/console.c: Likewise.
45658 * term/i386/pc/vga.c: Likewise.
45659 * util/console.c: Likewise.
45660 * util/genmoddep.c: Likewise.
45661 * util/misc.c: Likewise.
45662 * util/pupa-emu.c: Likewise.
45663 * util/resolve.c: Likewise.
45664 * util/unifont2pff.rb: Likewise.
45665 * util/i386/pc/biosdisk.c: Likewise.
45666 * util/i386/pc/getroot.c: Likewise.
45667 * util/i386/pc/pupa-mkimage.c: Likewise.
45668 * util/i386/pc/pupa-setup.c: Likewise.
45669
e6eced71 456702004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
45671
45672 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
45673 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
45674 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
45675 reading and reset it after reading.
45676 (pupa_ext2_close): Return PUPA_ERR_NONE.
45677
45678 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
45679 Correct value.
45680 (struct linux_kernel_header): Add kernel_version and
45681 initrd_addr_max.
45682 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
45683 pupa_file_read succeeds.
45684 (pupa_rescue_cmd_initrd): Implement.
45685
5aded270 456862003-12-03 Marco Gerards <metgerards@student.han.nl>
45687
45688 * fs/ext2.c (pupa_ext2_label): New function.
45689 (pupa_ext2_fs): Added label.
45690 * fs/fat.c (pupa_fat_label): New function.
45691 (pupa_fat_fs): Added label.
45692 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
45693
45694 * kern/misc.c (pupa_strndup): New function.
45695 * include/pupa/misc.h (pupa_strndup): New prototype.
45696
45697 * include/pupa/normal.h: Include <pupa/err.h>.
45698 (pupa_set_history): New prototype.
45699 (pupa_iterate_commands): New prototype.
45700 * normal/cmdline.c: Include <pupa/machine/partition.h>,
45701 <pupa/disk.h>, <pupa/file.h>.
45702 (hist_size): New variable.
45703 (hist_lines): Likewise.
45704 (hist_end): Likewise.
45705 (hist_used): Likewise.
45706 (pupa_set_history): New function.
45707 (pupa_history_get): Likewise.
45708 (pupa_history_add): Likewise.
45709 (pupa_history_replace): Likewise.
45710 (pupa_tab_complete): Likewise.
45711 (pupa_cmdline_run): Added tab completion and history buffer. Tab
45712 completion shows partitionnames while completing partitions, this
45713 feature was suggested by Jeff Bailey.
45714 * normal/command.c (pupa_iterate_commands): New function.
45715 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
45716 (pupa_normal_init): Initialize history buffer.
45717 (PUPA_MOD_INIT): Likewise.
45718 (pupa_normal_fini): Free the history buffer.
45719 (PUPA_MOD_FINI): Likewise.
45720
45721 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
45722 key.
45723
45724 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
45725 * configure.ac [i386]: Check for regparam bug.
45726 (NESTED_FUNC_ATTR) [! i386]: Defined.
45727
1f7315a3 457282003-11-17 Marco Gerards <metgerards@student.han.nl>
45729
45730 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
45731 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
45732 (pupa_emu_SOURCES): New variable.
45733 (pupa_emu_LDFLAGS): Likewise.
45734 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
45735 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
45736 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
45737 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
45738 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
45739 (pupa_jmp_buf): New typedef.
45740 (pupa_setjmp) [PUPA_UTIL]: New macro.
45741 (pupa_longjmp) [PUPA_UTIL]: Likewise.
45742 * include/pupa/term.h (struct pupa_term): New member `refresh'.
45743 (pupa_refresh): New prototype.
45744 * include/pupa/util/getroot.h: New file.
45745 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
45746 it.
45747 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
45748 (pupa_rescue_cmd_cat): Likewise.
45749 (pupa_rescue_cmd_ls): Likewise.
45750 (pupa_rescue_cmd_testload): Likewise.
45751 (pupa_rescue_cmd_lsmod): Likewise.
45752 * normal/cmdline.c (pupa_cmdline_get): Likewise.
45753 * normal/menu.c (run_menu): Likewise.
45754 * kern/term.c (pupa_cls): Likewise.
45755 (pupa_refresh): New function.
45756 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
45757 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
45758 * util/console.c: New file.
f19dbdb7 45759
1f7315a3 45760 * util/i386/pc/getroot.c: New file.
45761 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
45762 (pupa_putchar): New function.
45763 (pupa_refresh): Likewise.
45764 (xgetcwd): Function moved to ...
45765 (strip_extra_slashes): Likewise.
45766 (get_prefix): Likewise.
f19dbdb7 45767 * util/i386/pc/getroot.c: ... here.
1f7315a3 45768 (find_root_device): Function moved and renamed to...
45769 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
45770 Changed all callers.
45771 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
45772 and renamed to...
45773 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
45774 Changed all callers.
45775 * util/misc.c (pupa_memalign): New function.
45776 (pupa_mm_init_region): Likewise.
45777 (pupa_register_exported_symbols): Likewise.
45778 (pupa_putchar): Function removed.
45779 * util/pupa-emu.c: New file.
45780
9a5c1ade 457812003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
45782
45783 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
45784 (_multiboot_mod_SOURCES): New variable.
45785 (_multiboot_mod_CFLAGS): Likewise.
45786 * loader/i386/pc/multiboot.c: New file.
45787 * include/pupa/i386/pc/multiboot.h: Likewise.
45788 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
45789 (pupa_multiboot_real_boot): New function.
45790 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
45791 (pupa_multiboot_real_boot): New prototype.
45792 (pupa_rescue_cmd_multiboot): Likewise
45793 (pupa_rescue_cmd_module): Likewise.
45794
45795 * kern/loader.c (pupa_loader_set): Continue when
45796 pupa_loader_unload_func() fails.
45797 (pupa_loader_unset): New function.
45798 * include/pupa/loader.h (pupa_loader_unset): New prototype.
45799
45800 * kern/misc.c (pupa_stpcpy): New function.
45801 * include/pupa/misc.h (pupa_stpcpy): New prototype.
45802
8e72a9c0 458032003-11-12 Marco Gerards <metgerards@student.han.nl>
45804
45805 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
45806 for available extensions.
45807
45808 * include/pupa/i386/pc/time.h: New file.
45809 * kern/disk.c: Include <pupa/machine/time.h>.
45810 (PUPA_CACHE_TIMEOUT): New macro.
45811 (pupa_last_time): New variable.
45812 (pupa_disk_open): Flush the cache when there was a timeout.
45813 (pupa_disk_close): Reset the timer.
45814 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
45815 pupa_currticks.
45816 * util/misc.c: Include <sys/times.h>
45817 (pupa_get_rtc): New function.
45818
c4adbd32 458192003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
45820
45821 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
45822 as blocks.
45823 (pupa_ext2_get_file_block): Use blocks member.
45824
45825 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
45826 first block. Return -1 instead of pupa_errno on error.
45827
bfd30f06 458282003-10-27 Marco Gerards <metgerards@student.han.nl>
45829
45830 * README: In the pupa-mkimage example use _chain instead of chain
45831 and ext2 instead of fat.
45832 * TODO: Replace ext2fs with jfs as an example. Add an item for
45833 adding journal playback for ext2fs.
45834 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
45835 (pkgdata_MODULES): Added ext2.mod.
45836 (ext2_mod_SOURCES): New variable.
45837 (ext2_mod_CFLAGS): Likewise.
45838 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
45839 * include/pupa/misc.h (pupa_strncpy): New prototype.
45840 (pupa_strcat): Likewise.
45841 (pupa_strncmp): Likewise.
45842 * kern/misc.c (pupa_strcat): Enable function.
45843 (pupa_strncpy): New function.
45844 (pupa_strncmp): Likewise.
45845 * fs/ext2.c: New file.
f19dbdb7 45846
bfd30f06 45847 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
45848 when the read failed before retrying.
45849 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
45850 (_FILE_OFFSET_BITS): Likewise.
45851 * configure.ac: Added AC_SYS_LARGEFILE.
45852
98d15063 458532003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
45854
45855 * genmk.rb (PModule#rule): Make sure to get only symbol names
45856 from the output of nm.
59cad637 45857 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 45858
18d9c7cd 458592003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
45860
45861 I forgot to check in these changes for a long time. This adds
45862 incomplete support for VGA console, and this is still very
45863 buggy. Also, a lot of consideration is required for I18N,
45864 UNICODE, and VGA font issues. Therefore, assume that this is
45865 such that "better than nothing".
f19dbdb7 45866
18d9c7cd 45867 * font/manager.c: New file.
45868 * include/pupa/font.h: Likewise.
45869 * include/pupa/i386/pc/vga.h: Likewise.
45870 * term/i386/pc/vga.c: Likewise.
45871 * util/unifont2pff.rb: Likewise.
45872
45873 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
45874 (pkgdata_MODULES): Added vga.mod and font.mod.
45875 (vga_mod_SOURCES): New variables.
45876 (vga_mod_CFLAGS): Likewise.
45877 (font_mod_SOURCES): Likewise.
45878 (font_mod_CFLAGS): Likewise.
45879
45880 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
45881
45882 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 45883 (struct pupa_term): Added init and fini.
18d9c7cd 45884 Changed the argument of putchar to pupa_uint32_t.
45885
45886 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
45887 (pupa_console_real_putchar): New prototype.
45888 (pupa_console_putchar): Removed.
45889 (pupa_console_checkkey): Exported.
45890 (pupa_console_getkey): Likewise.
45891
45892 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
45893 characters.
45894
45895 * kern/term.c (pupa_term_set_current): Rewritten.
45896 (pupa_putchar): Likewise.
45897 (pupa_putcode): New function.
45898
45899 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
45900 (pupa_console_real_putchar): ... this.
45901 (pupa_vga_set_mode): New function.
45902 (pupa_vga_get_font): Likewise.
45903
45904 * normal/command.c: Include pupa/term.h.
45905 (terminal_command): New function.
45906 (pupa_command_init): Register the command "terminal".
45907
45908 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
45909 (DISP_UP): Likewise.
45910 (DISP_RIGHT): Likewise.
45911 (DISP_DOWN): Likewise.
45912 (DISP_HLINE): Likewise.
45913 (DISP_VLINE): Likewise.
45914 (DISP_UL): Likewise.
45915 (DISP_UR): Likewise.
45916 (DISP_LL): Likewise.
45917 (DISP_LR): Likewise.
45918
45919 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 45920
977329f5 459212003-02-08 NIIBE Yutaka <gniibe@m17n.org>
45922
45923 * util/resolve.c (pupa_util_resolve_dependencies): BUG
45924 FIX. Reverse the path_list.
45925
45926 * include/pupa/normal.h: Export pupa_register_command and
45927 pupa_unregister_command.
45928
45929 * hello/hello.c (pupa_cmd_hello): New module.
45930 * conf/i386-pc.rmk: Added hello.mod.
45931
1f5ab428 459322003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
45933
45934 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 45935
1f5ab428 45936 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
45937 (compress_kernel): New variable.
45938 (generate_image): Heavily modified to support compressing a
45939 large part of the core image.
45940
45941 * util/misc.c (pupa_util_read_image): Fix a file descriptor
45942 leak.
45943 (pupa_util_load_image): New function.
45944
45945 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
45946 (pupa_compressed_size): New variable.
45947 (codestart): Enable Gate A20 here.
45948 Decompress the compressed part of the core image.
45949 Rearrange the code to put functions and variables which are
45950 required for initialization in the non-compressed part.
45951 Include lzo1x.S.
45952
45953 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
45954 here.
45955
45956 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
45957
f19dbdb7 45958 * include/pupa/i386/pc/kernel.h
1f5ab428 45959 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
45960 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
45961 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
45962 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
45963 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
45964
45965 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
45966
45967 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
45968 (Utility#rule): Likewise.
45969
45970 * configure.ac: Check if LZO is available.
45971
ce5bf700 459722003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
45973
45974 * include/pupa/normal.h: New file.
45975 * include/pupa/setjmp.h: Likewise.
45976 * include/pupa/i386/setjmp.h: Likewise.
45977 * normal/cmdline.c: Likewise.
45978 * normal/command.c: Likewise.
45979 * normal/main.c: Likewise.
45980 * normal/menu.c: Likewise.
45981 * normal/i386/setjmp.S: Likewise.
f19dbdb7 45982
ce5bf700 45983 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
45984 (pupa_rescue_cmd_initrd): Likewise.
45985
45986 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
45987 Likewise.
45988
45989 * kern/i386/pc/startup.S (translation_table): New variable.
45990 (translate_keycode): New function.
45991 (pupa_console_getkey): Call translate_keycode.
45992
45993 * kern/rescue.c (attempt_normal_mode): New function.
45994 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
45995 it failed, print a message.
45996
45997 * kern/mm.c (pupa_real_malloc): Print more information when a
45998 free magic is broken.
45999 (pupa_free): If the first free header is not free actually, set
46000 it to P.
46001
46002 * kern/main.c (pupa_load_normal_mode): Just load the module
46003 "normal".
46004 (pupa_main): Don't print the message
46005 "Entering into rescue mode..." here.
46006
46007 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
46008 Declared.
46009 (pupa_rescue_cmd_initrd): Likewise.
46010 (pupa_rescue_cmd_initrd): Likewise.
46011
46012 * include/pupa/symbol.h (FUNCTION): Specify the type.
46013 (VARIABLE): Likewise.
46014
46015 * include/pupa/err.h (pupa_err_t): Added
46016 PUPA_ERR_UNKNOWN_COMMAND.
46017
46018 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
46019 (pupa_dl_get_prefix): Likewise.
46020
46021 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
46022 Added _chain.mod and _linux.mod instead of chain.mod and
46023 linux.mod.
46024 (chain_mod_SOURCES): Renamed to ...
46025 (_chain_mod_SOURCES): ... this.
46026 (chain_mod_CFLAGS): Renamed to ...
46027 (_chain_mod_CFLAGS): ... this.
46028 (linux_mod_SOURCES): Renamed to ...
46029 (_linux_mod_SOURCES): ... this.
46030 (linux_mod_CFLAGS): Renamed to ...
46031 (_linux_mod_CFLAGS): ... this.
46032 (normal_mod_SOURCES): New variable.
46033 (normal_mod_CFLAGS): Likewise.
46034 (normal_mod_ASFLAGS): Likewise.
46035
460362003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
46037
46038 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
46039 possible.
46040
fe6b695a 46041 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 46042 recursively.
46043 (pupa_dl_unref): Unrefer depending modules recursively.
46044 Don't call pupa_dl_unload implicitly, because PUPA can crash if
46045 a module is unloaded before one depending on that module is
46046 unloaded.
46047 (pupa_dl_unload): Unload depending modules explicitly,
46048 if possible.
46049
c04da074 460502003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
46051
46052 * include/pupa/i386/pc/linux.h: New file.
46053 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 46054
c04da074 46055 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
46056 Removed.
46057 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
46058 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
46059 of PUPA_CHAINLOADER_BOOT_SECTOR.
46060
46061 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
46062 (pupa_linux_prot_size): New variable.
46063 (pupa_linux_tmp_addr): Likewise.
46064 (pupa_linux_real_addr): Likewise.
46065 (pupa_linux_boot_zimage): New function.
46066 (pupa_linux_boot_bzimage): Likewise.
46067
46068 * kern/i386/pc/init.c (struct mem_region): New structure.
46069 (MAX_REGIONS): New macro.
46070 (mem_regions): New variable.
46071 (num_regions): Likewise.
46072 (pupa_os_area_addr): Likewise.
46073 (pupa_os_area_size): Likewise.
46074 (pupa_lower_mem): Likewise.
46075 (pupa_upper_mem): Likewise.
46076 (add_mem_region): New function.
46077 (compact_mem_regions): Likewise.
46078 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
46079 the size of the conventional memory and that of so-called upper
46080 memory (before the first memory hole).
46081 Instead of adding each found region to free memory, use
46082 add_mem_region and add them after removing overlaps.
46083 Also, add only 1/4 of the upper memory to free memory. The rest
46084 is used for loading OS images. Maybe this is ad hoc, but this
46085 makes it much easier to relocate OS images when booting.
46086
46087 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
46088 (pupa_enter_rescue_mode): Don't register initrd and module.
46089
46090 * kern/mm.c: Include pupa/dl.h.
46091
46092 * kern/main.c: Include pupa/file.h and pupa/device.h.
46093
46094 * kern/loader.c (pupa_loader_load_module_func): Removed.
46095 (pupa_loader_load_module): Likewise.
46096
46097 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
46098 ``.o''.
46099
46100 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
46101 (pupa_linux_tmp_addr): Likewise.
46102 (pupa_linux_real_addr): Likewise.
46103 (pupa_linux_boot_zimage): Likewise.
46104 (pupa_linux_boot_bzimage): Likewise.
46105
46106 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
46107 (pupa_upper_mem): Likewise.
46108 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
46109 module is too dangerous.
46110
46111 * include/pupa/loader.h (pupa_os_area_addr): Declared.
46112 (pupa_os_area_size): Likewise.
46113 (pupa_loader_set): Remove the first argument. Loader doesn't
46114 manage modules or initrd any longer.
46115 (pupa_loader_load_module): Removed.
46116
46117 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
46118 (linux_mod_SOURCES): New variable.
46119 (linux_mod_CFLAGS): Likewise.
46120
a13f9237 461212003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
46122
46123 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
46124 the length of a blocklist correctly.
46125
46126 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
46127 Use ioctl only if the OS file is a block device.
46128 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
46129 not very useful for normal files.
46130
46131 * kern/main.c (pupa_set_root_dev): New function.
46132 (pupa_load_normal_mode): Likewise.
46133 (pupa_main): Call those above.
46134
46135 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
46136 pupa_uint16_t.
46137
46138 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
46139
a5ffe966 461402003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46141
46142 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
46143 (setup): Configure the installed partition information and the
46144 dl prefix.
46145
46146 * loader/i386/pc/chainloader.c (my_mod): New variable.
46147 (pupa_chainloader_unload): New function.
46148 (pupa_rescue_cmd_chainloader): Refer itself.
46149 (PUPA_MOD_INIT): Save its own module in MY_MOD.
46150
46151 * kern/i386/pc/startup.S (install_partition): Removed.
46152 (version_string): Likewise.
46153 (config_file): Likewise.
46154 (pupa_install_dos_part): New variable.
46155 (pupa_install_bsd_part): Likewise.
46156 (pupa_prefix): Likewise.
46157 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
46158
46159 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
46160 and pupa/misc.h.
46161 (make_install_device): New function.
46162 (pupa_machine_init): Set the dl prefix.
46163
46164 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
46165 (buf): Renamed to ...
46166 (linebuf): ... this.
46167 (pupa_rescue_cmd_prefix): New function.
46168 (pupa_rescue_cmd_insmod): Likewise.
46169 (pupa_rescue_cmd_rmmod): Likewise.
46170 (pupa_rescue_cmd_lsmod): Likewise.
46171 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
46172 rmmod and lsmod.
46173
46174 * kern/mm.c (pupa_memalign): If failed even after invalidating
46175 disk caches, unload unneeded modules and retry.
46176
46177 * kern/misc.c (pupa_memmove): New function.
46178 (pupa_memcpy): Removed.
46179 (pupa_strcpy): New function.
46180 (pupa_itoa): Made static.
46181
46182 * kern/dl.c (pupa_dl_iterate): New function.
46183 (pupa_dl_ref): Likewise.
46184 (pupa_dl_unref): Likewise.
46185 (pupa_dl_unload): Return if succeeded or not.
46186 (pupa_dl_unload_unneeded): New function.
46187 (pupa_dl_unload_all): Likewise.
46188 (pupa_dl_init): Renamed to ...
46189 (pupa_dl_set_prefix): ... this.
46190 (pupa_dl_get_prefix): New function.
46191
46192 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
46193 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
46194 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
46195 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
46196 (pupa_install_dos_part): Declared.
46197 (pupa_install_bsd_part): Likewise.
46198 (pupa_prefix): Likewise.
46199 (pupa_boot_drive): Likewise.
46200
46201 * include/pupa/types.h: Fix a typo.
46202
46203 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
46204 pupa_memmove.
46205 (pupa_memmove): Declared.
46206 (pupa_strcpy): Likewise.
46207
46208 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
46209 pupa_mod_init takes one argument, its own module.
46210 (pupa_dl_unload_unneeded): Declared.
46211 (pupa_dl_unload_all): Likewise.
46212 (pupa_dl_ref): Likewise.
46213 (pupa_dl_unref): Likewise.
46214 (pupa_dl_iterate): Likewise.
46215 (pupa_dl_init): Renamed to ...
46216 (pupa_dl_set_prefix): ... this.
46217 (pupa_dl_get_prefix): Declared.
46218
46219 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 46220 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 46221 unloaded.
46222 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
46223 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
46224
46225 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
46226 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
46227
012d7999 462282003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
46229
46230 * util/i386/pc/pupa-setup.c (setup): Define the internal
46231 function find_first_partition_start at the top level, because GCC
46232 3.0.x cannot compile internal functions in deeper scopes
46233 correctly.
46234 (find_root_device): Use lstat instead of stat.
46235 Don't follow symbolic links.
46236 Fix the path-constructing code.
46237
46238 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
46239 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
46240 by a BLKGETSIZE ioctl first, because block devices don't fill
46241 the member st_mode of the structure stat on Linux.
46242 [__linux__] (linux_find_partition): Use a temporary buffer
46243 REAL_DEV for the working space. Copy it to DEV before returning.
46244 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
46245 buffer cache consistent.
46246 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
46247 strncmp. The previous value was merely wrong.
46248 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
46249
46250 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
46251 FAT size is 12. The previous value was merely wrong.
46252
46253 * kern/main.c (pupa_main): Don't split the starting message from
46254 newlines.
46255
46256 * kern/term.c (pupa_putchar): Put CR after LF instead of before
46257 LF, because BIOS goes crazy about character attributes in this
46258 case.
46259
1cc73a62 462602003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
46261
46262 * include/i386/pc/util/biosdisk.h: New file.
46263 * util/i386/pc/biosdisk.c: Likewise.
46264 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 46265
1cc73a62 46266 * Makefile.in (INCLUDE_DISTFILES): Added
46267 include/pupa/i386/pc/util/biosdisk.h.
46268 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
46269 directory util/i386/pc.
46270 (install-local): Added a rule for sbin_UTILITIES.
46271 (uninstall): Likewise.
46272
46273 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
46274
46275 * util/misc.c (xrealloc): New function.
46276 (pupa_malloc): Likewise.
46277 (pupa_free): Likewise.
46278 (pupa_realloc): Likewise.
46279 (pupa_stop): Likewise.
46280 (pupa_putchar): Likewise.
46281
46282 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
46283
46284 * include/pupa/util/misc.h (xrealloc): Declared.
46285
46286 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
46287 macro.
46288 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
46289 (PUPA_BOOT_MACHINE_BPB_END): ... this.
46290
46291 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
46292 [PUPA_UTIL] (pupa_fat_fini): Likewise.
46293
46294 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
46295 way should be implemented.
46296 [PUPA_UTIL] (pupa_fat_fini): Likewise.
46297
46298 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
46299 the size of NAME for safety.
46300 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
46301 0x88.
46302
46303 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
46304 (pupa_setup_SOURCES): Likewise.
46305
46306 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
46307
08b70fe8 463082002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
46309
46310 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
46311 bunch of pushl's from pusha, because this destroys the return
46312 value.
46313
62ddcc8f 463142002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
46315
46316 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
46317 This means that any missing prototypes could be fatal. Also, you
46318 must take care when writing assembly code. See the comments at
46319 the beginning of startup.S, for more details.
f19dbdb7 46320
62ddcc8f 46321 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
46322 compilation mechanism.
46323 (pupa_chainloader_real_boot): Likewise.
46324 (pupa_biosdisk_rw_int13_extensions): Likewise.
46325 (pupa_biosdisk_rw_standard): Likewise.
46326 (pupa_biosdisk_check_int13_extensions): Likewise.
46327 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
46328 (pupa_biosdisk_get_diskinfo_standard): Likewise.
46329 (pupa_get_memsize): Likewise.
46330 (pupa_get_mmap_entry): Likewise.
46331 (pupa_console_putchar): Likewise.
46332 (pupa_console_setcursor): Likewise.
46333 (pupa_getrtsecs): Use pushl instead of push.
46334
46335 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
46336 memory instead of the stack for a mmap entry, because some
46337 BIOSes may ignore the maximum size and overflow.
46338
46339 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
46340
46341 * genmk.rb (PModule#rule): Compile automatically generated
46342 sources with module-specific CFLAGS as well as other sources.
46343
9962ed99 463442002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46345
46346 * configure.ac: Check ld.
46347 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
46348 respectively, before checking endianness and sizes.
46349
46350 * Makefile.in (LD): New variable.
f19dbdb7 46351
abdfc3c5 463522002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46353
46354 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
46355
6a161fa9 463562002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46357
46358 * Changelog: New file.
46359